当前位置: 首页 > news >正文

Codeforces Round 1058 (Div. 2) (4/8)

又是一场speedforces ,可恶的棒子。但是好在b题卡了一会后,c,d 都切的很快。把前两场的分上回来了。

A: 分组不影响 mex 的值,所以直接求解 mex 输出即可

B: f(i) 本质是每个后缀,不同数字的个数。可以观察到每增加一个与之前的数字不同的数,贡献是i,所以如果贡献j不足i,说明num[i]=num[i-j]。因为数据保证一定有合法生成,所以不用考虑不存在的情况。

所以对于给定的数组a。

num[i]=num[i-j] ,a[i]-a[i-1]!=i
num[i]=i ,a[i]-a[i-1]==i

inline void solve()
{int n;cin>>n;vector<int> a(n+1);for(int i=0;i<n;i++){cin>>a[i];}vector<int> num(n+1);num[0]=1;for(int i=1;i<n;i++){int d=a[i]-a[i-1];if(d==i+1){num[i]=i+1;}else{num[i]=num[i-d];}} for(int i=0;i<n;i++) cout<<num[i]<<" ";cout<<endl;
}

C: 经过一系列观察,发现可以的情况为,数字是一个二进制回文数字(如果长度为奇数,那么中间位不能是1)。但是你可以通过在数字前面补前导0来构成回文。因为数据范围 \(<2^{30}\) 所以最多在数字前面加30次前导0,其中有任意一次符合条件, 即为"YES" ,否则为"NO" 。

inline bool check(string s)
{if(s.size()%2){if(s[s.size()/2]=='1') return 0;}for(int i=0;i<s.size()/2;i++){if(s[i]!=s[s.size()-1-i]) return 0;}return 1;
}
inline void solve()
{int n;cin>>n;if(n==0){cout<<"YEs"<<endl;return;}string s;while(n){s+='0'+(n&1);n>>=1;}for(int i=0;i<=30;i++){string st=s;for(int j=1;j<=i;j++) st+='0';if(check(st)){cout<<"YEs"<<endl;return;}}cout<<"NO"<<endl;
}

D: 很简单的一道交互?
按顺序依次将编号放入 查询数组中,如果查询结果为0,则继续;否则该位即为,查询所得的数字,并将该位弹出。遍历第一遍,一定可以找出1-n的数字各一个。第二步,清空查询数组,把找出来的1-n个数字放入查询数组,对于每一个未知位,放入查询数组,查询一次后弹出。第二遍遍历,即可确定未知的n个数字。

int ask(vector<int> a)
{cout<<"? ";cout<<a.size()<<" ";for(int i=0;i<a.size();i++) cout<<a[i]<<" ";cout<<endl;int ans;cin>>ans;return ans;
}
inline void solve()
{int n;cin>>n;vector<int> ans(2*n+5);vector<int> a;a.push_back(1);int sum=0;for(int i=2;i<=2*n;i++){a.push_back(i);int t=ask(a);if(t==0) continue;ans[i]=t;a.pop_back();sum++;if(sum==n) break;}a.clear();for(int i=1;i<=2*n;i++){if(ans[i]!=0) a.push_back(i);}for(int i=1;i<=2*n;i++){if(ans[i]==0){a.push_back(i);ans[i]=ask(a);a.pop_back();}}cout<<"! ";for(int i=1;i<=2*n;i++){cout<<ans[i]<<" ";}cout<<endl;
}
http://www.zskr.cn/news/20241.html

相关文章:

  • 论文解读-《Learning Discrete Structures for Graph Neural Networks》 - zhang
  • ERP原理笔记
  • 2025 智慧康养实训室/专业建设/虚拟仿真/仿真实训室推荐榜:北京教之道 5 星领衔,适配多元康养场景
  • Wireshark】抓包实战,图文详解TCP三次握手及四次挥手原理
  • 2025 年国内工业水泵厂家最新推荐排行榜:聚焦污水 / 离心 / 渣浆 / 大功率 / 泥浆类设备,助力企业精准选型
  • 基于深度学习的图像增强-zeros-DCE模型源码分享
  • LLVM 后端支持 RISCV 矩阵扩展都有哪些方式
  • 详细介绍:PPT auto Crorrector
  • 2025 年最新推荐!泳池除湿热泵厂家推荐榜单重磅发布,全方位解析优质厂家实力助您选对设备双模式/多功能/三集一体/全直流变频/室内/变频式泳池除湿热泵厂家推荐
  • django template filter safe escapejs json_script等
  • 2025年GEO(AI搜索优化)厂家口碑推荐排行榜
  • 2025年GEO(AI搜索优化)厂家口碑推荐榜:云视有客科技领跑行业创新
  • 【触想智能】工业安卓一体机在人工智能领域上的市场应用分析
  • 基于 PyTorch 完全从零手搓 GPT 混合专家 (MOE) 对话模型 - 详解
  • Linux环境下安装Jenkins2.346.3
  • 2025 年疲劳试验机厂家最新推荐排行榜:涵盖液压 / 电动 / 扭转等多类型设备,助力企业精准挑选优质厂家
  • 2025年GEO(AI搜索优化)源头厂家权威推荐榜单:云视有客科技领跑行业
  • 深入解析:云服务器磁盘空间管理:binlog导致磁盘快速增长的应对策略与自动化实践
  • 第三届大数据与数据挖掘国际会议(IEEE BDDM 2025)
  • 基于MATLAB的波导杆超声波传播仿真程序集设计与实现
  • for 循环中range的部分
  • 国产软件项目管理革命:Gitee PPM如何重塑开发效率
  • 集成开发工具 IDEA下载
  • 数据流图和uml九张图 - f
  • 2025.10.13+7
  • 2025年10月舒适轮胎厂家最新推荐排行榜,静音轮胎,耐磨轮胎,节能轮胎,高性能轮胎公司推荐!
  • 完整教程:【Linux】Linux下的静态链接的底层逻辑
  • 2025年10月通风气楼厂家最新推荐排行榜,屋顶通风气楼,工业厂房通风气楼,节能环保通风气楼公司推荐!
  • 10/13
  • 20234320 2025-2026-1 《网络与系统攻防技术》实验一实验报告