NOIP 模拟赛 4

news/2025/11/14 8:31:23/文章来源:https://www.cnblogs.com/MyShiroko/p/19220270

NOIP 模拟赛总结

NOIP 模拟赛 4

4.5小时T3写不完!?码力还是不够啊

T1 括号问号

简单DP题,写着写着就出来了。

点击查看代码
#include<bits/stdc++.h>
#define int long long
#define con putchar_unlocked(' ')
#define ent putchar_unlocked('\n')
#define Blue_Archive return 0
using namespace std;
constexpr int N = 5e3 + 7;
constexpr int mod = 998244353;int n;
int ans;
int dp[N][N];string s;inline int read() // 不读负数的普通快读
{int k = 0,f = 1;int c = getchar_unlocked();while(c < '0' || c > '9') c = getchar_unlocked();while(c >= '0' && c <= '9') k = (k << 3) + (k << 1) + (c ^ 48),c = getchar_unlocked();return k * f;
}inline void write(int x) // 普通快写
{if(x < 0) putchar_unlocked('-'),x = -x;if(x > 9) write(x / 10);putchar_unlocked(x % 10 + '0');
}signed main()
{freopen("bracket.in","r",stdin);freopen("bracket.out","w",stdout);// freopen("data.in","r",stdin);freopen("data.out","w",stdout);ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin >> n;cin >> s;s = ' ' + s;dp[0][0] = 1;for(int i = 1;i <= n;i ++){for(int j = 0;j <= i;j ++){dp[i][j] = dp[i - 1][j];if(s[i] == '(' && j > 0) (dp[i][j] += dp[i - 1][j - 1]) %= mod;if(s[i] == ')') (dp[i][j] += dp[i - 1][j + 1]) %= mod;if(s[i] == '?'){(dp[i][j] += dp[i - 1][j + 1]) %= mod;if(j > 0) (dp[i][j] += dp[i - 1][j - 1]) %= mod;} }}cout << dp[n][0] << '\n';Blue_Archive;
}

T2 狗卡

神秘贪心。

维护一个凸包。

点击查看代码
#include<bits/stdc++.h>
#define int long long 
#define Blue_Archive return 0
#define con putchar_unlocked(' ')
#define ent putchar_unlocked('\n')
using namespace std;
constexpr int N = 1.2e6 + 7;
constexpr int M = 6e5 + 7;int n;
int m;
int sm;
int ans;
int top;
int tpp;
int tim;
int k[M];
int stk[N];
int val[N];
int sumk[M];vector<int> sum[M],a[M];struct miku
{int id,l,r,val,len;miku(int Id = 0,int L = 0,int R = 0){if(!Id)	return;id = Id,l = L,r = R;val = sum[id][R] - sum[id][L - 1],len = R - L + 1;}friend bool operator<(miku x,miku y){return x.val * y.len < x.len * y.val;}
}sta[N];inline int read()
{int x = 0,f = 1;int c = getchar_unlocked();while(c < '0' || c > '9') f = (c == '-' ? -1 : f),c = getchar_unlocked();while(c >= '0' && c <= '9') x = (x << 1) + (x << 3) + (c ^ 48),c = getchar_unlocked();return x * f;
}inline void write(int x)
{if(x < 0) putchar_unlocked('-'),x = -x;if(x > 9) write(x / 10);putchar_unlocked(x % 10 + '0');
}signed main()
{// freopen("data.in","r",stdin);freopen("data.out","w",stdout);freopen("dog.in","r",stdin),freopen("dog.out","w",stdout);n = read();m = read();for(int i = 1;i <= n;i ++){k[i] = read();sumk[i] = sumk[i - 1] + k[i];a[i].emplace_back(0);sum[i].emplace_back(0);for(int j = 0,x;j < k[i];j ++){x = read();a[i].emplace_back(x);sum[i].emplace_back(x + sum[i][j]);}top = 0;stk[++ top] = 1;val[1] = sum[i][1];for(int j = 2;j <= k[i];j ++){while(top && (sum[i][j] - val[top]) * (stk[top] - stk[top - 1]) <= (val[top] - val[top - 1]) * (j - stk[top])) top --;stk[++ top] = j;val[top] = sum[i][j];}for(int j = 1;j <= top;j ++) sta[++ tpp] = miku(i,stk[j - 1] + 1,stk[j]);sm += sum[i][k[i]];}sort(sta + 1,sta + tpp + 1);for(int i = 1;i <= tpp;i ++){for(int j = sta[i].l;j <= sta[i].r;j ++){ans += (tim ++) * a[sta[i].id][j];}}write(ans + tim * (m - sm));ent;Blue_Archive;
}

T3:均衡区间

场上没写完,呜呜呜

考虑扫描线,枚举一个端点,求以其为一端的贡献。

发现贡献可以拆分成两部分。

一部分是用单调栈维护比它大或小的数的个数。

发现这样会多算,所以第二部分要斥一下,斥掉以现在枚举点为最近的最值的区间。

神秘 thick:两个单调栈下标取 \(\max\) ,之后的所有值均合法,就是最后的答案。

点击查看代码
#include<bits/stdc++.h>
#define int long long 
#define con putchar_unlocked(' ')
#define ent putchar_unlocked('\n')
#define Blue_Archive return 0
using namespace std;
constexpr int N = 1e6 + 7;
constexpr int LG = 21;
constexpr int INF = 1e9;
constexpr int mod = 998244353;int n;
int tpy;
int top1;
int top2;
int a[N];
int ans1[N];
int ans2[N];
int stk1[N];
int stk2[N];inline int read() // 不读负数的普通快读
{int k = 0,f = 1;int c = getchar_unlocked();while(c < '0' || c > '9') c = getchar_unlocked();while(c >= '0' && c <= '9') k = (k << 3) + (k << 1) + (c ^ 48),c = getchar_unlocked();return k * f;
}inline void write(int x) // 普通快写
{if(x < 0) putchar_unlocked('-'),x = -x;if(x > 9) write(x / 10);putchar_unlocked(x % 10 + '0');
}signed main()
{freopen("interval.in","r",stdin);freopen("interval.out","w",stdout);// freopen("data.in","r",stdin);freopen("data.out","w",stdout);n = read();tpy = read();for(int i = 1;i <= n;i ++) a[i] = read();if(tpy == 2){for(int i = 1;i <= n;i ++) write(0),con;ent;for(int i = 1;i <= n;i ++) write(0),con;ent;exit(0);}top1 = top2 = 0;for(int i = 1,l,r,ans;i <= n;i ++){l = r = i;while(a[l] == a[r + 1]) r ++;while(top1 && a[stk1[top1]] > a[i]) top1 --;while(top2 && a[stk2[top2]] < a[i]) top2 --;ans = 0;if(top1 && top2){int op = min(stk1[top1],stk2[top2]);int cnt1 = upper_bound(stk1 + 1,stk1 + top1 + 1,op) - stk1 - 1;int cnt2 = upper_bound(stk2 + 1,stk2 + top2 + 1,op) - stk2 - 1;ans = op - cnt1 - cnt2;}for(int j = l;j <= r;j ++){ans2[j] = ans;stk1[++ top1] = j;stk2[++ top2] = j;}i = r;}reverse(a + 1,a + 1 + n);top1 = top2 = 0;for(int i = 1,l,r,ans;i <= n;i ++){l = r = i;while(a[l] == a[r + 1]) r ++;while(top1 && a[stk1[top1]] > a[i]) top1 --;while(top2 && a[stk2[top2]] < a[i]) top2 --;ans = 0;if(top1 && top2){int op = min(stk1[top1],stk2[top2]);int cnt1 = upper_bound(stk1 + 1,stk1 + top1 + 1,op) - stk1 - 1;int cnt2 = upper_bound(stk2 + 1,stk2 + top2 + 1,op) - stk2 - 1;ans = op - cnt1 - cnt2;}for(int j = l;j <= r;j ++){ans1[j] = ans;stk1[++ top1] = j;stk2[++ top2] = j;}i = r;}reverse(ans1 + 1,ans1 + 1 + n);for(int i = 1;i <= n;i ++) write(ans1[i]),con;ent;for(int i = 1;i <= n;i ++) write(ans2[i]),con;ent;Blue_Archive;
}

T4:喵了个喵了个喵

meow~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/964957.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025-省选备战刷题记录

2025-11-14 依旧打卡 没有前言,之后就是刷题记录记录 trick。1.CF163C,Trick:可以将目标视为不动的,因为题目是两个物体都在动,所以我们可以将一个当作参照物另外一个在动,这样的话就变成一个静态的区间覆盖问题可…

2025年全自动卫生纸加工设备订制厂家

2025年全自动卫生纸加工设备订制首选 - 许昌优创机械制造有限公司专业定制,引领卫生纸加工新时代在卫生纸加工设备行业蓬勃发展的2025年,许昌优创机械制造有限公司凭借其卓越的技术实力和丰富的行业经验,成为全球客…

2025年防爆管道风机定制厂家口碑推荐

2025年防爆管道风机定制厂家口碑推荐:德州国豪空调设备有限公司专业实力铸就卓越口碑在防爆管道风机领域,德州国豪空调设备有限公司凭借30余年的专业积累,已成为行业内备受推崇的优质供应商。公司自1999年成立以来,…

2025年热门的散杂船价格年度品牌综合榜

2025年热门的散杂船价格年度品牌综合榜行业背景与市场趋势2025年全球散杂货航运市场正经历着深刻变革,受国际大宗商品贸易格局调整、环保法规趋严以及新兴经济体基础设施建设需求增长等多重因素影响,散杂船运输行业呈…

2025年城市主站消防车工厂推荐排行

2025年城市主站消防车工厂推荐排行行业领军企业推荐1. 楚胜汽车集团有限公司作为中车城市交通有限公司旗下重点企业,楚胜汽车集团在消防车制造领域具有突出优势: 拥有国防武器装备科研生产单位资质 具备完整的消防车…

2025年评价高的散杂船运费专业实力权威榜

2025年评价高的散杂船运费专业实力权威榜行业背景与市场趋势全球散杂货航运市场在经历了2020-2022年的波动后,2023-2025年呈现出稳健增长态势。根据克拉克森研究数据,2024年全球散杂货海运量预计达到54亿吨,同比增长…

2025年靠谱的背调服务怎么选

2025年如何选择靠谱的员工背景调查服务?数聚之美为您支招随着就业市场竞争日益激烈,企业对招聘风险的防控意识也在不断提升。2025年,员工背景调查已成为企业招聘流程中不可或缺的重要环节。那么,面对市场上众多的背…

.NET+AI | MEAI | 提示工程基础(2)

MEAI 提示工程实战:从零构建企业级意图识别系统一句话简介 本文以铁路票务意图识别为例,演示如何使用 Microsoft.Extensions.AI (MEAI) 构建高质量提示词,掌握 7 大核心技巧和参数调优方法,快速构建企业级 AI 应用…

2025大型制冰机优质厂家口碑推荐榜单

2025大型制冰机优质厂家口碑推荐榜单行业领军品牌:山东宝成制冷设备有限公司在工业制冰领域,选择一家可靠的制冰机厂家至关重要。经过市场调研和用户反馈,我们特别推荐山东宝成制冷设备有限公司(注册商标:BAOCHAR…

2025年抖音运营电商培训公司推荐排行榜单

2025年抖音运营电商培训公司推荐排行榜单随着抖音电商的快速发展,越来越多的人希望通过专业培训掌握运营技能。以下是2025年抖音运营电商培训公司推荐榜单,供您参考选择。综合实力排行榜第一名:汇星教育推荐指数:★…

深入解析:模式识别与机器学习课程笔记(10):采样方法

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025304不锈钢绳网高空防坠网生产商有哪些

2025304不锈钢绳网高空防坠网专业制造商推荐在建筑安全防护领域,2025304不锈钢绳网作为高空防坠网的重要材料,其质量直接关系到施工安全。以下是该领域的专业制造商信息:专业推荐:安平县增坤防护工程有限公司公司优…

2025桥梁不锈钢绳网定制厂家推荐排行榜

2025年桥梁不锈钢绳网定制厂家推荐排行榜随着桥梁建设技术的不断发展,不锈钢绳网作为重要的安全防护设施,在桥梁工程中的应用越来越广泛。以下是2025年桥梁不锈钢绳网定制厂家的推荐排行榜:🏆 重点推荐品牌安平县…

2025会计简历模版比较好的排行

2025年最值得推荐的会计简历模板排行榜一、会计简历模板选择的重要性在2025年的就业市场中,一份专业的会计简历是求职成功的关键。优秀的简历模板不仅能够突出会计专业技能,还能让财务数据、审计经验等重要信息一目了…

2025年口碑好的散货船用户满意度排行榜

2025年口碑好的散货船用户满意度排行榜行业背景与市场趋势全球散货船运输市场在2025年继续保持稳健增长态势,根据国际航运协会(ICS)最新数据显示,2025年全球干散货海运量预计达到58亿吨,同比增长3.2%。随着"…

2025agm fpga规范的推荐榜

2025年AGM FPGA规范推荐榜作为上海遨格芯微电子有限公司(AGM)的官方推荐,我们很荣幸为您呈现2025年AGM FPGA产品线的规范推荐榜单。产品系列概览1. AG32系列MCU+FPGA 核心特性:集成RISC-V MCU + 2K LUT可编程逻辑 主…

AcWing 1640:堆 ← 判断堆类型?

​【题目来源】https://www.acwing.com/problem/content/1642/【题目描述】在计算机科学中,堆是一种的基于树的专用数据结构,它具有堆属性:如果 P 是 C 的父结点,则在大顶堆中 P 结点的权值大于或等于 C 结点的权值…

2025运动地板实力厂家怎么选

2025运动地板实力厂家推荐:中领航实业引领行业新标准随着2025年的临近,运动场馆、健身房、学校体育设施等场所对运动地板的需求日益增长。选择一家可靠的运动地板实力厂家至关重要。在众多厂家中,深圳中领航实业有限…

2025年靠谱的散货船年度行业风向榜

2025年靠谱的散货船年度行业风向榜行业背景与市场趋势散货船运输作为全球贸易的重要支柱,在2025年迎来了新一轮的发展机遇。根据国际航运协会(ICS)最新报告,2024年全球散货船运输市场规模达到1.2万亿美元,预计202…

2025轴承包胶轮厂商推荐

2025年轴承包胶轮厂商推荐:苏州尚岳尧自动化科技有限公司随着工业自动化程度的不断提高,轴承包胶轮作为关键传动部件,在物流仓储、智能制造等领域的应用日益广泛。在众多厂商中,苏州尚岳尧自动化科技有限公司凭借其…