尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

2025多校冲刺CSP模拟赛7

2025多校冲刺CSP模拟赛7
📅 发布时间:2026/6/22 8:08:34

2025多校冲刺CSP模拟赛7

不是你怎么还有加赛?ys

A. gcd&xor (gcdxor)

转化为外层枚举 \(\gcd\),内层枚举 \(i,j\),打表即可。可以发现规律,是调和级数做法,时间复杂度大约 \(O(1.5 \times 10^8)\)。

Code:

#include<bits/stdc++.h>
#define int long longusing namespace std;const int Size=(1<<20)+1;
char buf[Size],*p1=buf,*p2=buf;
char buffer[Size];
int op1=-1;
const int op2=Size-1;
#define getchar()                                                              \
(tt == ss && (tt=(ss=In)+fread(In, 1, 1 << 20, stdin), ss == tt)     \? EOF                                                                 \: *ss++)
char In[1<<20],*ss=In,*tt=In;
inline int read()
{int x=0,c=getchar(),f=0;for(;c>'9'||c<'0';f=c=='-',c=getchar());for(;c>='0'&&c<='9';c=getchar())x=(x<<1)+(x<<3)+(c^48);return f?-x:x;
}
inline void write(int x)
{if(x<0) x=-x,putchar('-');if(x>9)  write(x/10);putchar(x%10+'0');
}// #ifndef ONLINE_JUDGE
// #define ONLINE_JUDGE
// #endif// int logn[1<<20];
// vector<pair<int,int> > v[20][1<<16];signed main()
{// #ifndef ONLINE_JUDGEfreopen("gcdxor.in","r",stdin);freopen("gcdxor.out","w",stdout);int n;int ans=0;cin>>n;for(int i=1;i<=n;i++)for(int j=i;j<=n-i;j+=i)ans+=(j^(j+i))==i;cout<<ans;// for(int i=2;i<(1<<20);i++) logn[i]=logn[i>>1]+1;// for(int k=1;;k<<=1)// {// 	int L=1<<logn[k],R=min(n,(1ll<<(logn[k]+1))-1);// 	if(L>n) break;// 	cerr<<L<<" "<<R<<"\n";// 	for(int i=L;i<=R;i++)// 	for(int j=i+1;j<=R;j++)// 	{// 		if(__gcd(i,j)==(i^j))// 		{// 			v[logn[k]][i^j].push_back(make_pair(i,j));// 			// cout<<i<<" "<<j<<" "<<(i^j)<<"\n";// 			ans++;// 		}// 	}// 	// cerr<<"\n------------------\n\n";// }// for(int i=1;i<=n;i++)// {// 	bool f=0;// 	for(int k=1;k<=logn[n];k++)// 	{// 		if(v[k][i].empty()) continue;// 		f=1;// 		cout<<"\nxor="<<i<<"\nk="<<k<<"\n";// 		for(auto nw:v[k][i]) cout<<nw.first<<","<<nw.second<<"\n";// 	}// 	if(f) cout<<"\n-----------------------------------------\n";// }// cout<<ans;// #endif//mt19937_64 myrand(time(0));return 0;
}

B. 异或树 (xortree)

暴力写假两次,std 写假一次。

发现规律。加一次点后,只有加操作之前的那些叶子节点的子树 xor 值会更改。非叶子节点的子树 xor 值均固定。

又发现值域很小。所以直接暴力 dp 更改即可。复杂度小常数 \(O(nV)\),可以通过。

注意:有人 (HS_fu3) 使用 unordered_map 被卡常了。

Code:

#include<bits/stdc++.h>
#define int long longusing namespace std;const int Size=(1<<20)+1;
char buf[Size],*p1=buf,*p2=buf;
char buffer[Size];
int op1=-1;
const int op2=Size-1;
#define getchar()                                                              \
(tt == ss && (tt=(ss=In)+fread(In, 1, 1 << 20, stdin), ss == tt)     \? EOF                                                                 \: *ss++)
char In[1<<20],*ss=In,*tt=In;
inline int read()
{int x=0,c=getchar(),f=0;for(;c>'9'||c<'0';f=c=='-',c=getchar());for(;c>='0'&&c<='9';c=getchar())x=(x<<1)+(x<<3)+(c^48);return f?-x:x;
}
inline void write(int x)
{if(x<0) x=-x,putchar('-');if(x>9)  write(x/10);putchar(x%10+'0');
}// #ifndef ONLINE_JUDGE
// #define ONLINE_JUDGE
// #endifint k0,q;
struct Node{int op,x;
}a[1<<20];vector<int> E[1<<20];
int val[1<<20];
int cnt[8193];
int sum[1<<22];
int tot=1;void dfs(int p,int x)
{// cerr<<p<<" "<<x<<" "<<E[p].size()<<"\n";// exit(0);if(!E[p].size()){E[p].push_back(++tot);E[p].push_back(++tot);val[tot-1]=val[p];val[tot]=val[p]^x;return;}dfs(E[p][0],x);dfs(E[p][1],x);
}void find(int p)
{sum[p]=val[p];for(int to:E[p]){find(to);sum[p]^=sum[to];}cnt[sum[p]]++;
}signed main()
{//xortree// #ifndef ONLINE_JUDGEfreopen("xortree.in","r",stdin);freopen("baoli.out","w",stdout);k0=read();q=read();val[1]=k0;cnt[k0]=1;for(int i=1;i<=q;i++){int op=read(),x=read();a[i]={op,x};if(op==1){memset(cnt,0,sizeof(cnt));memset(sum,0,sizeof(sum));dfs(1,x);find(1);}else{// dd(1);cout<<cnt[x]<<"\n";}}// #endif//mt19937_64 myrand(time(0));return 0;
}

C. 符文石 (stone)

困难题。

Code:


D. 彩色括号 (witch)

场上拿了 15 pts 部分分跑路了。

Code:



以下是博客签名,正文无关

本文来自博客园,作者:Wy_x,转载请在文首注明原文链接:https://www.cnblogs.com/Wy-x/p/19157934

版权声明:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议(CC-BY-NC-SA 4.0 协议)进行许可。

相关新闻

  • redis 5.0单机部署
  • 2025 年最新推荐!国内污水处理设备优质厂家排行榜,助力企业精准选优质设备
  • Qoder 上线提示词增强功能,将开发者从“提示词”的负担中解放出来

最新新闻

  • 北京朝阳区卖黄金别乱找!盘点 2026 黄金回收合规店铺,禹竞名奢汇透明报价,快速变现 - 名奢变现站
  • 2026 沈阳通勤车租赁公司测评 企业长期班车租赁公司五家实测对比 - LYL仔仔
  • 2026 石家庄名包变现实测合集,各大商圈门店真实报价整理收藏 - 奢侈品交易观察员
  • 冷门小众腕表没人收?重庆这家渠道各类机械表通通接纳 - 讯息早知道
  • BEM技术:提升固定摄像头目标检测精度的背景嵌入记忆方法
  • 东莞闲置奢包变现,2026靠谱名包回收实体店汇总 - 名奢变现站

日新闻

  • 2026速览惠州叛逆青少年学校前十大排名名单出炉 - 武汉中职最新信息发布
  • 2026上饶白蚁消杀哪家好?15年本土2大权威白蚁防治公司推荐(金盾虫控/青蚁卫士) - 我叫一
  • 天龙八部单机版终极数据管理工具:5个技巧快速掌握游戏数据编辑

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号