【比赛记录】2025CSP+NOIP 冲刺模拟赛合集V

news/2025/11/13 18:07:45/文章来源:https://www.cnblogs.com/zhangxyhp/p/19219063

HZOJ NOIP2025模拟7

A B C D Sum Rank
100 100 - - 200 6/27

别笑,你来你也只能过第二关。

—— Dyk

A. Imbalance

理论上是2025CSP-S模拟赛57 C 的原,但完全忘了。

对于双 \(\log\) 做法,路径计数考虑点分治,对于当前子树的两条根链,相当于要满足一个二维偏序,容斥+二维数点即可。理论 \(70pts\),实则 \(100pts\)

考虑如果在链上怎么做,建出小根笛卡尔树和大根笛卡尔树,相当于要求两个点在两棵树上分别满足「祖先-后代」/「后代-祖先」关系,在一棵树上跑出 dfn,再在另一棵树上用树状数组数点即可。

而如果在树上,那建 kruskal 重构树即可。

放个点分治代码吧实则是懒得写重构树

Code
#include<bits/stdc++.h>
#define ll long long
#define il inline
#define pb push_back
#define pii pair<int,int>
#define fir first
#define sec second
#define mp make_pair
using namespace std;
namespace asbt{
namespace IO{const int bufsz=1<<20;char ibuf[bufsz],*p1=ibuf,*p2=ibuf;#define getchar() (p1==p2&&(p2=(p1=ibuf)+fread(ibuf,1,bufsz,stdin),p1==p2)?EOF:*p1++)il int read(){char ch=getchar();while(ch<'0'||ch>'9'){ch=getchar();}int x=0;while(ch>='0'&&ch<='9'){x=(x<<1)+(x<<3)+(ch^48);ch=getchar();}return x;}#undef getchar
}
using IO::read;
const int maxn=5e5+5;
int n,rt,tot,sz[maxn],mxs[maxn],cmx,cmn;
ll ans;
bool ban[maxn];
pii vmx[maxn],vmn[maxn];
vector<int> e[maxn];
il void dfs1(int u,int fa){sz[u]=1,mxs[u]=0;for(int v:e[u]){if(v==fa||ban[v]){continue;}dfs1(v,u);sz[u]+=sz[v];mxs[u]=max(mxs[u],sz[v]);}if(!rt||max(mxs[u],tot-sz[u])<max(mxs[rt],tot-sz[rt])){rt=u;}
}
il void dfs2(int u,int fa,int mx,int mn){if(u>mx){mx=u;vmx[++cmx]=mp(mx,mn);}if(u<mn){mn=u;vmn[++cmn]=mp(mx,mn);}for(int v:e[u]){if(v==fa||ban[v]){continue;}dfs2(v,u,mx,mn);}
}
struct{#define lowbit(x) (x&-x)int tr[maxn];il void add(int p){for(;p<=n;p+=lowbit(p)){tr[p]++;}}il int query(int p){int res=0;for(;p;p-=lowbit(p)){res+=tr[p];}return res;}il void clear(int p){for(;p<=n;p+=lowbit(p)){tr[p]=0;}}#undef lowbit
}F;
il void solve(int u){
//	cout<<u<<' ';rt=0,dfs1(u,0),u=rt,dfs1(u,0);
//	cout<<u<<' '<<ans<<' ';ban[u]=1,cmx=cmn=0;for(int v:e[u]){if(ban[v]){continue;}int smx=cmx+1,smn=cmn+1;dfs2(v,0,u,u);int tmx=cmx,tmn=cmn;sort(vmx+smx,vmx+tmx+1);sort(vmn+smn,vmn+tmn+1);int p=smn;for(int i=smx;i<=tmx;i++){while(p<=tmn&&vmn[p].fir<vmx[i].fir){F.add(vmn[p++].sec);}ans-=F.query(vmx[i].sec-1);}for(int i=smn;i<=tmn;i++){F.clear(vmn[i].sec);}}int tmx=cmx,tmn=cmn;sort(vmx+1,vmx+tmx+1);sort(vmn+1,vmn+tmn+1);int p=1;for(int i=1;i<=tmx;i++){if(vmx[i].sec==u){ans++;}while(p<=tmn&&vmn[p].fir<vmx[i].fir){F.add(vmn[p++].sec);}ans+=F.query(vmx[i].sec-1);}for(int i=1;i<=tmn;i++){if(vmn[i].fir==u){ans++;}F.clear(vmn[i].sec);}
//	cout<<ans<<'\n';for(int v:e[u]){if(!ban[v]){tot=sz[v],solve(v);}}
}
int main(){freopen("imbalance.in","r",stdin);freopen("imbalance.out","w",stdout);ios::sync_with_stdio(0),cin.tie(0);n=read();for(int i=1,u,v;i<n;i++){u=read(),v=read();e[u].pb(v),e[v].pb(u);}tot=n,solve(1);cout<<ans;return 0;
}
}
int main(){return asbt::main();}

B. 原子

一个合法构造是,枚举步长,再枚举步长的剩余系作为开头,一直跳到不能跳为止。此时的答案为 \(\lfloor\frac{n}{2}\rfloor\cdot\lceil\frac{n}{2}\rceil\),考虑证明。

显然若 \([a,b)\cap[c,d)\ne\varnothing\),则不可能在一轮内解决。

考虑找出一堆两两有非空交的区间,设它们组成集合 \(S\),最大化 \(|S|\)。显然 \(S=\{[l,r)\mid l\le a,r\ge b,a<b\}\)。于是 \(|S|_{\max}=\lfloor\frac{n}{2}\rfloor\cdot\lceil\frac{n}{2}\rceil\)。于是答案至少为这个值。于是构造正确。

Code
#include<bits/stdc++.h>
#define ll long long
#define il inline
#define pb push_back
using namespace std;
namespace asbt{
const int maxn=2e3+5;
int n;
struct node{int s,d;
};
vector<node> ans;
int main(){freopen("atom.in","r",stdin);freopen("atom.out","w",stdout);ios::sync_with_stdio(0),cin.tie(0);cin>>n;for(int i=1;i<=n;i++){for(int j=1;j<=i;j++){if(j+i>n){break;}ans.pb((node){j,i});}}cout<<ans.size()<<'\n';for(node x:ans){int s=x.s,d=x.d;cout<<(n-s)/d+(s>1)<<' ';if(s>1){cout<<s-1<<' ';}while(s+d<=n){cout<<d<<' ';s+=d;}cout<<'\n';}return 0;
}
}
int main(){return asbt::main();}

C. 旅行计划

考虑树形 DP,在路径的 LCA 处对答案进行贡献。

设 LCA 为 \(u\),考虑路径的形态,必然是从 \(u\) 的子树中的某个点 \(v\) 开始走到 \(u\),然后在子树内绕一大圈,再走到 \(u\) 子树内的某个点 \(v'\)

于是设 \(f_{u,0/1/2}\)

  • \(f_{u,0}\):从 \(u\) 开始走出去的一条链的最大长度。
  • \(f_{u,1}\):从 \(u\) 开始走一圈回到 \(u\) 的最大长度。
  • \(f_{u,2}\):以 \(u\) 为 LCA 的最长路径。

于是对于 \(u\) 的每个儿子,我们可以转移:

\[w>1:f_{u,1}\gets f_{v,1}+\lfloor\frac{w}{2}\rfloor\\ f_{u,0/2}\gets f_{u,1}\\[3mm] f_{u,0/2}\gets\begin{cases} \begin{aligned} &f_{v,0}+\lfloor\frac{w-1}{2}\rfloor+1&w>1\\ &f_{v,0}+1&w=1 \end{aligned} \end{cases} \]

但这样并没有转移完整。考虑从起点 \(x\) 开始走,走到它的某个祖先 \(v\)(注意不是 \(u\),而是它的某个后代),再一直往上走到 \(u\),再走回到 \(v\),最后走到 \(v\) 子树中的某个点 \(x'\)。这样 LCA 也是 \(u\),但上面的转移并未考虑到。于是还有转移:

\[w>1:f_{u,2}\gets f_{v,2}+(f_{u,1}-f_{v,1}) \]

答案即为 \(\max\limits_{u=1}^{n}\{f_{u,2}\}\)

Code
#include<bits/stdc++.h>
#define ll long long
#define il inline
#define pb push_back
#define fir first
#define sec second
#define pii pair<int,int>
#define mp make_pair
using namespace std;
namespace asbt{
const int maxn=1e6+5;
int T,n;
ll f[maxn][3],ans;
vector<pii> e[maxn];
il void dfs(int u,int fa){f[u][0]=f[u][1]=f[u][2]=0;ll mx1=0,mx2=0;for(pii i:e[u]){int v=i.fir,w=i.sec;if(v==fa){continue;}dfs(v,u);if(w>1){f[u][1]+=f[v][1]+w/2*2;ll x=f[v][0]-f[v][1]+(w&1?1:-1);if(x>mx1){mx2=mx1,mx1=x;}else if(x>mx2){mx2=x;}}else{ll x=f[v][0]+1;if(x>mx1){mx2=mx1,mx1=x;}else if(x>mx2){mx2=x;}}}f[u][0]=f[u][1]+mx1,f[u][2]=f[u][0]+mx2;for(pii i:e[u]){int v=i.fir,w=i.sec;if(v==fa){continue;}if(w>1){f[u][2]=max(f[u][2],f[v][2]+f[u][1]-f[v][1]);}}ans=max(ans,f[u][2]);
}
il void solve(){cin>>n;for(int i=1,u,v,w;i<n;i++){cin>>u>>v>>w;e[u].pb(mp(v,w));e[v].pb(mp(u,w));}ans=0,dfs(1,0);cout<<ans<<'\n';for(int i=1;i<=n;i++){e[i].clear();}
}
int main(){freopen("plan.in","r",stdin);freopen("plan.out","w",stdout);ios::sync_with_stdio(0),cin.tie(0);cin>>T;while(T--){solve();}return 0;
}
}
int main(){return asbt::main();}

D. 简单题

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

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

相关文章

2025年最新优质的管材源头厂家口碑推荐,市场家用管材生产厂家中亿百年满足多元需求

行业权威榜单发布,优质管材企业深度解析 随着建筑行业对管材品质要求的不断提升,优质管材生产企业的市场表现备受关注。本文基于公开数据和市场调研,从技术创新、产品质量、服务体系等多个维度,对行业内表现突出的…

2025年加气线厂家推荐榜单TOP5:实力派引领行业高质量发展

在 “双碳”战略深入推进与新型建筑工业化加速落地的双重政策红利下,加气线设备行业正迎来技术迭代、市场升级的关键发展期。作为建筑建材生产、天然气输配等领域的核心装备,加气线设备的技术稳定性、节能环保水平与…

乌鲁木齐高校实验室西林瓶灌装机选型指南

近年来,高校科研实验室对液体及粉剂类试剂的灌装需求持续增长,尤其在乌鲁木齐地区,随着生物医药、化学分析、教学实验等学科建设的深化,对西林瓶灌装设备的操作便捷性、体积适配性与无菌保障能力提出了更高要求。据…

2025年市场技术好的ERP管理系统口碑推荐榜,优秀的ERP服务商赋能企业生产效率提升与成本优化

行业洞察:技术驱动下的ERP系统新格局 随着数字化转型浪潮的持续推进,企业资源计划系统作为企业数智化建设的核心载体,正迎来技术革新的关键时期。基于Gartner、IDC等权威机构的市场数据及产品技术表现,本文从技术架…

沈阳车库门厂家,沈阳卷帘门工厂,沈阳防盗门生产厂家,沈阳悬浮门厂家排行,沈阳防盗门生产厂家排行,4S店智能车库提升门品牌十大推荐榜-沈阳鼎盛和门业

沈阳车库门厂家,沈阳卷帘门工厂,沈阳防盗门生产厂家,沈阳悬浮门厂家排行,沈阳防盗门生产厂家排行,4S店智能车库提升门品牌十大推荐榜-沈阳鼎盛和门业沈阳车库门厂家,沈阳卷帘门工厂,沈阳防盗门生产厂家,沈阳悬…

2025年汉口水泥砖厂家质量排行榜发布,水泥砖哪家专业鑫俊熙诚信务实提供高性价比服务

行业权威榜单揭晓,优质供应商全景解析 随着建筑行业对材料品质要求的不断提升,水泥砖作为基础建材的重要组成部分,其质量稳定性与供应商专业能力备受关注。基于市场调研数据、客户反馈及产品性能测试,现发布2025年…

2025钢结构反吊膜十大供应商排行榜,膜结构车棚厂家,膜结构看台厂家,有实力的膜结构自行车棚供应厂家排行,哪家好怎么选

2025钢结构反吊膜十大供应商排行榜,膜结构车棚厂家,膜结构看台厂家,有实力的膜结构自行车棚供应厂家排行,哪家好怎么选2025钢结构反吊膜十大供应商排行榜,膜结构车棚厂家,膜结构看台厂家,有实力的膜结构自行车棚…

PPT快速入门

1、幻灯片操作 1.1 新建Ctrl+M快速新建幻灯片 选中按回车1.2 画布缩放画布自动最佳比例显示1.3 幻灯片拖拽,左侧点击拖拽,也可以切换幻灯片浏览后拖拽1.4 删除:选择删除或切换到幻灯片浏览批量删除 2、文字输入 2.1…

nvme-cli 插件架构

记录一下,对nvme-cli 的插件架构的理解主要是利用define 和 undefine,反复编辑 COMMAND_LIST ENTRY PLUGIN 真正的 dell-nvme.h 文件是宏展开后的效果,下面给demodemo-nvme.h // Stage 1: 函数原型static int cmd1_…

2025年三集一体除湿热泵机组品牌实力大比拼,市面上正规的三集一体除湿热泵机组厂商TOP企业引领行业技术新高度

行业权威榜单发布,五大实力品牌深度解析 随着室内游泳馆、水上乐园等场所对温湿度控制要求的不断提升,三集一体除湿热泵机组作为集除湿、制冷、制热等多功能于一体的高效节能设备,正受到市场广泛关注。本文基于公开…

2025年市面上做得好的板材货架厂家哪家强,重型货架超强承重/模具货架/伸缩管材货架/悬壁货架重型/钢板货架/流利式货架定制厂家哪家好

行业权威榜单发布,优质厂商综合测评 随着制造业与物流业的持续发展,板材货架作为仓储设备的重要组成部分,其市场需求呈现稳步增长态势。专业板材货架不仅能有效提升仓储空间利用率,更能保障物料存储安全,提高作业…

岳阳折弯机上下模厂家推荐:技术实力与市场口碑解析

在当前金属加工与钣金制造行业中,折弯机上下模作为关键工艺组件,其精度、耐用性与适配性直接影响最终产品的成型质量。据行业统计数据显示,2024年全国折弯模具市场规模已突破48亿元,年复合增长率维持在6.2%左右。其…

详细介绍:Linux C/C++ 学习日记(22):Reactor模式(二):实现简易的webserver(响应http请求)

详细介绍:Linux C/C++ 学习日记(22):Reactor模式(二):实现简易的webserver(响应http请求)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !…

2025年市场比较好的PE重包装袋批发厂家口碑推荐榜,目前PE重包装袋公司排行榜单骏岚纸塑引领行业标杆

行业背景分析 随着全球包装行业向环保化、专业化方向发展,PE重包装袋作为第四类环保包装材料,在化工、食品等领域的应用持续扩大。具备高强度、高韧性、抗穿刺等特性的PE重包装袋,正逐步替代传统编织袋,成为重型包…

2025年市场上热门的公交站台广告品牌推荐,高铁广告/社区门禁广告/主流网络媒体/机场广告/电梯视频广告/户外LED广告品牌排行榜单

行业背景分析 随着城市化进程加速,公交站台广告作为户外广告的重要形式,凭借其高曝光率、精准区域覆盖和相对较低的成本优势,已成为品牌营销的重要阵地。据最新市场数据显示,2024年中国户外广告市场规模已突破2000…

2025年市场专业的河道护坡石笼网实力厂家怎么选择,抗冲击抗腐蚀石笼网/双隔板石笼网/六角石笼网源头厂家哪家好

行业背景与评选标准 随着国家水利基础设施建设投入持续加大,河道护坡石笼网作为重要的防护材料,其市场需求呈现稳步增长态势。面对众多供应商,如何甄选真正具备技术实力与质量保障的厂家成为行业关注焦点。本文基于…

第五届计算建模、仿真与数据分析国际学术会议(CMSDA 2025)

第五届计算建模、仿真与数据分析国际学术会议(CMSDA 2025) 2025 5th International Conference on Computational Modeling, Simulation and Data Analysis 在这里看会议官网详情 2025年12月12-14日 中国青岛(线下线…

CSP-S2025 题目题解

T1:P14361 [CSP-S 2025] 社团招新 / club 考场瞪了一会就秒了。 先贪心再反悔。对于每个人先钦定他选他满意度最大的那个社团。最后如果没有社团人数超过 \(\frac{n}{2}\) 则皆大欢喜,否则将人数 \(>\frac{n}{2}\…

报表应用图表charts显示数据

在内网和手机,一直以文字和数据呈现。上星期,浏览网页时,发现图表charts显示数据和报表,觉得不错的方式。图表,如 https://echarts.apache.org/zh/index.html Apache ECharts 一个基于 JavaScript 的开源可视化图…