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

news/2025/10/22 19:45:03/文章来源:https://www.cnblogs.com/zhangxyhp/p/19158820

2025CSP-S模拟赛65(HZOJ CSP-S模拟37)

A B C D Sum Rank
100 40 15 - 155 7/12

HZOJ 上也有这场比赛,但我没看见。放过去大概是个 14/24 左右吧。

A. gcd&xor (gcdxor)

首先打表,发现对于所有合法的 \((x,y)\),都满足 \(y-x|x\)。于是有 \(O(n\log^2n)\) 的做法,枚举 \(y-x\),再枚举 \(x\),暴力判断合不合法。\(10^7\) 跑不过去,但 \(10^5\) 能跑过。考虑以 \(10^5\) 分块,将每个块前缀的答案打表出来,然后再用上面那个做法处理散块即可。

Code
#include<bits/stdc++.h>
#define ll long long
#define il inline
#define gcd __gcd
using namespace std;
namespace asbt{
const int B=1e5;
const ll pre[]={0,173407,347890,522448,696846,871744,1046284,1220431,1395236,1570280,1745100,1919875,2093695,2267837,2442059,2617018,2791283,2966683,3141146,3315871,3490365,3666781,3839968,4013813,4188010,4362066,4536292,4710801,4884960,5060158,5234883,5408205,5583629,5758317,5933666,6107019,6282382,6458098,6631521,6804281,6980543,7155409,7332425,7505250,7678957,7852680,8026427,8200183,8374902,8548938,8723182,8897288,9071582,9246092,9420147,9594727,9768429,9942808,10117875,10291162,10467026,10640553,10813783,10989926,11164092,11338740,11513448,11687394,11863511,12037297,12210785,12385489,12560986,12736987,12911711,13084959,13258776,13431315,13604565,13779830,13956088,14130677,14305355,14480650,14657932,14830769,15004603,15178361,15352044,15525831,15699840,15873481,16047556,16221400,16395321,16570018,16744419,16919172,17092225,17266746,17440305};
int n;
int main(){freopen("gcdxor.in","r",stdin);freopen("gcdxor.out","w",stdout);ios::sync_with_stdio(0),cin.tie(0);cin>>n;int id=n/B;ll ans=pre[id];
//	cout<<ans<<'\n';
//	cout<<n/B;for(int i=1;i<=n;i++){
//		cout<<i<<' '<<(id*B+i)/i*i-i<<'\n';for(int j=max((id*B+i)/i*i-i,i);j+i<=n;j+=i){if((j^(i+j))==gcd(j,i+j)){
//				cout<<j<<' '<<i+j<<'\n';ans++;}}}cout<<ans;return 0;
}
}
int main(){return asbt::main();}

B. 异或树 (xortree)

因为树始终是完全二叉树,所以除了叶子节点之外的店的子树异或和是不会改变的。用维护每种叶子节点的数量,修改时维护答案即可。

Code
#include<bits/stdc++.h>
#define ll long long
#define il inline
using namespace std;
namespace asbt{
const int maxn=1e4+5,mod=998244353;
int m,kk,ans[maxn],a[maxn],b[maxn];
int main(){freopen("xortree.in","r",stdin);freopen("xortree.out","w",stdout);ios::sync_with_stdio(0),cin.tie(0);cin>>kk>>m;ans[kk]=1,a[kk]=1;while(m--){int opt,x;cin>>opt>>x;if(opt==1){for(int i=0;i<1<<13;i++){b[i]=0;}for(int i=0;i<1<<13;i++){(ans[i]+=mod-a[i])%=mod;(ans[i^x]+=a[i])%=mod;(b[i]+=a[i])%=mod;(b[i^x]+=a[i])%=mod;}for(int i=0;i<1<<13;i++){a[i]=b[i];(ans[i]+=a[i])%=mod;}}else{cout<<ans[x]<<'\n';}}return 0;
}
}
int main(){return asbt::main();}

C. 符文石 (stone)

我们需要点 \(u\) 能走到的所有权值,考虑在拓扑过程中用 set 直接维护。但显然这样时间复杂度爆炸,考虑哪些数是没用的。由于 \(a\operatorname{bitand}b\le\min(a,b)\),所以 \(u\)set\(\le ans_u\) 的数直接扔掉。考虑大于 \(ans_u\) 的数,考虑它们于 \(ans_u\) 不同的最高位,显然 \(ans_u\) 这一位为 \(0\) 而这个数这一位为 \(1\)。而如果还有另一个数这一位也为 \(1\),那么 \(ans_u\) 就不是最大的按位与值了。所以大于 \(ans_u\) 的数最多有 \(O(\log V)\) 个。暴力合并即可。时间复杂度 \(O(m\log^2V)\)

Code
#include<bits/stdc++.h>
#define int long long
#define il inline
#define pb push_back
using namespace std;
namespace asbt{
const int maxn=5e5+5;
int n,m,a[maxn],d[maxn],ans[maxn];
vector<int> e[maxn];
queue<int> q;
struct opt{il bool operator()(const int &x,const int &y)const{return a[x]<a[y];}
};
set<int,opt> st[maxn];
int main(){freopen("stone.in","r",stdin);freopen("stone.out","w",stdout);ios::sync_with_stdio(0),cin.tie(0);cin>>n>>m;for(int i=1;i<=n;i++){cin>>a[i];st[i].insert(i);}for(int i=1,u,v;i<=m;i++){cin>>u>>v;d[u]++,e[v].pb(u);}for(int i=1;i<=n;i++){ans[i]=-1;if(d[i]==0){q.push(i);}}while(q.size()){int u=q.front();q.pop();
//		cout<<u<<' '<<ans[u]<<'\n';for(int v:e[u]){if(--d[v]==0){q.push(v);}ans[v]=max(ans[v],ans[u]);for(int x:st[u]){for(int y:st[v]){if(x==y){continue;}ans[v]=max(ans[v],a[x]&a[y]);}}for(int x:st[u]){if(a[x]>=ans[v]){st[v].insert(x);}}if(a[*st[v].rbegin()]<=ans[v]){st[v].clear();continue;}for(auto it=st[v].begin();it!=st[v].end();it++){if(a[*it]>ans[v]){st[v].erase(st[v].begin(),it);break;}}}}for(int i=1;i<=n;i++){cout<<ans[i]<<' ';}return 0;
}
}
signed main(){return asbt::main();}

D. 彩色括号 (witch)

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

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

相关文章

取证-windbg和dmp,以及文件分析基本流程

.dmp文件及Dump Flie,是一种内存快照文件 说到内存快照就不得不提一下文件类型 说明 常见用途.raw 原始磁盘映像文件(Raw Image),完整保存磁盘或内存的原始二进制数据。 虚拟机快照、数字取证、系统备份。.dmp 内存…

20232422 2025-2026-1 《网络与系统攻防技术》实验二实验报告

后门原理与实践 1.1实验内容 这次的实验主要练了几种获取主机操作权限和收集信息的方法。先是用netcat配合Linux的cron定时任务,还有socat搭配系统任务计划,分别搞到了主机的操作Shell,拿到了控制主机的入口。然后用…

羊驼二次免疫的六大风险:纳米抗体制备不可忽视的 “隐形陷阱”

随着纳米抗体在肿瘤治疗、病原体检测、工业酶固定化等领域的应用拓展,对羊驼免疫及 VHH 筛选的需求持续攀升。羊驼因饲养、运输、免疫成本显著高于小鼠、兔子,市场上逐渐出现 “二次免疫” 操作 —— 即利用已免疫过…

完整教程:C++项目:仿muduo库高并发服务器-------connection模块

完整教程:C++项目:仿muduo库高并发服务器-------connection模块pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "…

营销数字化专家要求

目录背景和价值高级营销数字化专家(整合营销)职位描述任职要求参考资料 背景和价值高级营销数字化专家(整合营销) 深圳市 | 产品及解决方案类 职位描述营销数字化转型规划:对整合营销端到端流程,KOL营销、社媒营…

深入解析:线性代数 SVD | 令人困扰的精度 1

深入解析:线性代数 SVD | 令人困扰的精度 1pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &qu…

小程序反编译包的架构文件

common是逻辑的代码 pages 存放小程序的页面,路径等 app.js 也是小程序的脚本代码 app.json 配置文件

【最终章】-串口收发指令处理器-Verilog语法学习EP12 - 教程

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

10.22 CSP-S模拟37/2025多校冲刺CSP模拟赛7 改题记录

10.22HZOJ 写在前面 ACCODERS+洛谷双重大凶然后又加了场模拟赛。怎么感觉每次大凶就会临时加模拟赛。。。然后就是连续第inf场模拟赛切不了T1。。。疑似失去了所有的力气与手段。然后T2以为是假做法拿了25pts沾沾自喜,…

完整教程:LeapMotion_Demo演示

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

[题解]P11126 [ROIR 2024] 三等分的数组 (Day 2)

P11126 [ROIR 2024] 三等分的数组 (Day 2) 考虑到数的选取与输入顺序无关,我们将数丢到桶里,记 \(c_x\) 为 \(x\) 出现的次数。 那么我们取出三元组的过程可以描述为下面二者之一:选取 \(c\) 中的一个位置,将其减去…

Acrobat Pro DC 2025下载及破解安装教程,附永久免费免激活中文版Acrobat Pro DC安装包(稳定版)

一、Acrobat Pro DC 2025软件下载[软件名称]: Acrobat Pro DC 2025(稳定版)[软件大小]: 1.63GB[安装环境]:Win 10及以上系统[下载链接]: (建议手机保存后到电脑端打开,下载解压无需任何密码)夸克:https://pan.qua…

VSLAM 十四讲--阅读中知识点记录

1. 前言砚上三五笔,落墨鹧鸪啼本文用于记录:VSLAM相关。 PS:笔者梦到哪里写哪里,毫无逻辑可言。。。 如有不对,欢迎评论区指正! 2. 正文 2.1 slamsimultaneous location and mapping 同步定位和建图相机:单目相…

20232307 2025-2026-1 《网络与系统攻防技术》实验二实验报告

20232307 2025-2026-1 《网络与系统攻防技术》实验二实验报告 1. 实验内容 相关知识:后门就是不经过正常认证流程而访问系统的通道。后门类型:编译器留后门、操作系统留后门、应用程序中留后门、还有潜伏于操作系统中…

Fiddler Script语句整理

请求函数: static function OnBeforeRequest(oSession:Sessiop){}响应函数: staticfunction OnBeforeResponse(oSession:Session){}修改样式语句:if (oSession.host.indexOf("mosoteach.cn") > -1) { …

微服务正在悄然消亡:这是一件美好的事

最近在做的事情正好需要系统地研究微服务与单体架构的取舍与演进。读到这篇文章,许多观点直击痛点、非常启发,于是我顺手把它翻译出来,分享给大家,也希望能给同样在复杂性与效率之间权衡的团队一些参考。 微服务正…

数据库学习篇(持续更新中)

在日常的开发中,常常会因为业务的复杂而编写复杂的数据库脚本。本篇记录博主在实际使用中的各种脚本及函数:人一旦有了梦想,怎么活都是有灵魂的!

Fortinet产品安全漏洞分析:FGFM协议未经认证连接重置漏洞

本文详细分析了Fortinet产品中的FGFM协议安全漏洞(CVE-2024-26008),该漏洞由于异常条件处理不当,允许未经认证的攻击者通过加密TCP请求重置fgfm连接,导致拒绝服务攻击风险。摘要 FortiGuard实验室发现FortiOS、Fort…

fiddler修改请求(修改搜索框的内容)

第一步:在fiddler中,在工具栏中单击“规则”——“自动断点”——“在请求前”,单击“Remove all”,清除干扰项 第二步:在浏览器中搜索“前端”并发送请求,返回fiddler,在左侧“会话列表”中,选择“前端”的数据…