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

Codeforces Round 1047 (Div. 3)

Codeforces Round 1047 (Div. 3)
📅 发布时间:2026/6/17 17:43:03
Codeforces Round 1047 (Div. 3)

Codeforces Round 1047 (Div. 3)

Dashboard - Codeforces Round 1047 (Div. 3) - Codeforces

怎么 ABCDE 全是数学 / 数字游戏题。

CodeForces-2137A Collatz Conjecture

对一个 \(x\) 进行如下操作 \(k\) 次:

  • 如果 \(x\) 为偶数,则将其变为 \(x/2\);
  • 否则,令 \(x\) 变为 \(3x+1\)。

给定最终的结果 \(y\),求初始的 \(x\)。若有多解,输出一种即可。

\(1\le T\le400\),\(1\le k,y\le20\)。

直接输出 \(y\cdot2^k\) 即可。

CodeForces-2137B Fun Permutation

给定一个 \(1,2,\cdots,n\) 的排列 \(p\)。构造一个 \(1,2,\cdots,n\) 的排列 \(q\),使得 \(\gcd(p_i+q_i,p_{i+1}+q_{i+1})\ge3\) 对于任意 \(1\le i<n\) 都成立。

\(1\le T\le10^4\),\(2\le n,\sum n\le2\cdot10^5\)。

设 \(n\) 的一个因数为 \(k\)(\(k\ge3\)),那么可以将 \(1,2,\cdots,n\) 分成 \(n/k\) 组,每 \(k\) 个数为一组。

对 \(k\) 取模余数为 \(0\) 的,将其与其本身匹配;余数为 \(m\)(\(1\le m<k\))的,将其与余数为 \(k-m\) 的匹配。

这样,每个数都有与其互相匹配的唯一的一个数,且二者的和为 \(k\) 的倍数。

将 \(q_i\) 赋值为与 \(p_i\) 匹配的数,故 \(p_i+q_i\) 一定为 \(k\) 的倍数。

特别地,如果 \(n=2\),则直接令 \(1\) 匹配 \(2\),\(2\) 匹配 \(1\) 即可。

题解区:构造 \(q_i=n+1-p_i\) 即可。

CodeForces-2137C Maximum Even Sum

给定整数 \(a,b\),进行任意次下面的操作:

  • 选择一个 \(b\) 的因数 \(k\),令 \((a,b)\) 变为 \((ak,b/k)\)。

求出 \(a+b\) 的最大偶数值。\(1\le T\le10^4\),\(1\le a,b\le a\cdot b\le 10^{18}\)。

奇数 + 奇数 或者 偶数 + 偶数 都可以凑成奇数。显然,\(ab\) 的质因数是守恒的。分类讨论:

  • 如果 \(a\) 为奇数:
    • 如果 \(b\) 为奇数:则二者均不可能变为偶数,故最大的 \(k\) 即为 \(b\),答案为 \(ab+1\)。
    • 如果 \(b\) 为偶数:
      • 如果 \(b\) 为 \(4\) 的倍数:则 \(b\) 可以分给 \(a\) 一个 \(2\),这样二者均变为偶数,故最大的 \(k\) 为 \(b/2\),答案为 \(ab/2+2\)。
      • 否则:无解,因为 \(a\) 和 \(b\) 总有一个是奇数,另外一个是偶数。
  • 如果 \(a\) 为偶数:
    • \(b\) 一定需要为偶数,因此 \(b\) 为奇数则无解,\(b\) 为偶数则最大的 \(k\) 为 \(b/2\),答案为 \(ab/2+2\)。

由于限制了 \(a\cdot b\) 的范围,故不需要开 __int128。

CodeForces-2137D Replace with Occurrences

对于一个长度为 \(n\) 的序列 \(a\),令 \(f(x)\) 表示 \(x\) 在 \(a\) 中的出现次数。

给定一个长度为 \(n\) 的序列 \(b\),构造序列 \(a\),使得 \(1\le a_i\le n\) 且 \(f(a_i)=b_i\),\(i=1,2,\cdots,n\)。若无解,输出 \(-1\)。

\(1\le T\le10^4\),\(1\le n,\sum n\le2\cdot10^5\),\(1\le b_i\le n\)。

贪心地进行构造。显然用来填充序列 \(a\) 的数字具体是什么值并不重要,重要的是 \(a_i\) 的出现次数一定等于 \(b_i\)。

比如:

  • 有 \(3\) 个数的 \(b_i\) 为 \(3\),那么在对应的 \(a_i\) 填入相同的 \(3\) 个数;
  • 有 \(4\) 个数的 \(b_i\) 为 \(2\),那么在对应的 \(a_i\) 填入 \(2\) 组数,每组包含 \(2\) 个相同的数,且各组之间不能重复。
    可以发现,\(b_i\) 的出现次数一定为 \(b_i\) 的倍数。

设 \(tot\) 表示当前用来填数的最大数是多少,\(num(c)\) 表示出现次数为 \(c\) 的数用什么填充,\(rem(c)\) 表示 \(num(c)\) 还剩多少个位置没填。

直接扫一遍 \(b\) 序列,填数过程如下:

  • 如果当前 \(rem(b_i)=0\),则用一个新的数来填:\(tot\) 加一,更新 \(num(b_i)\) 为 \(tot\),并重置 \(rem(b_i)=b_i-1\)。
  • 否则,填入 \(num(b_i)\),同时 \(rem(b_i)\) 减一。

最后验证合法性:如果存在 \(rem\) 不等于 \(0\),则说明有数没恰好填完,故不合法。每次至多 \(tot\) 加一,故使用的数不可能超过 \(n\)。

Submission #337917883 - Codeforces

CodeForces-2137E Mexification

给定一个长度为 \(n\) 的序列 \(a\),和一个整数 \(k\)。进行 \(k\) 次下列操作:

  • 对所有下标 \(i\),在同一时刻令 \(a_i\) 变为 \(\operatorname{mex}\{a_1,a_2,\cdots,a_{i-1},a_{i+1},\cdots,a_n\}\)。

求 \(k\) 次操作后 \(a\) 中元素的和。\(1\le T\le10^4\),\(2\le n,\sum n\le2\cdot10^5\),\(1\le k\le10^9\),\(0\le a_i\le n\)。

模拟发现,经过 3 次以上操作,\(a\) 的值就会变成周期为 \(2\) 的循环。

证明:设排序后的序列 \(a\) 形如 \((0\times c_0,1\times c_1,\cdots)\),其中 \(x\times c_x\) 表示 \(x\) 重复 \(c_x\) 次。设 \(p\) 表示第一个 \(c_x=0\) 的数字 \(x\)。

那么:

  • 对于小于 \(p\) 的所有 \(x\):
    • 如果 \(c_x=1\),那么把 \(x\) 去掉后的 mex 就是 \(x\);
    • 如果 \(c_x>1\),那么把一个 \(x\) 去掉后的 mex 就是 \(p\)。
  • 对于大于 \(p\) 的所有 \(x\),把一个 \(x\) 去掉后的 mex 就是 \(p\)。

因此第一次操作后的 \(a\) 变为 \(a_1=(\cdots,p\times c)\),其中 \(0,1,\cdots,p-1\) 中每个数出现 \(0\) 或 \(1\) 次。

重复上述操作,第二次操作后变为 \(a_2=(0,1,\cdots,p'-1,p'\times c')\),其中 \(p'\) 为 \(a_1\) 中 \(0,1,\cdots,p-1,p+1\) 中第一个出现 \(0\) 次的,而 \(0,1,\cdots,p'-1\) 每个数恰好出现 \(1\) 次。

再重复上述操作,第三次操作后变为 \(a_3=(0,1,\cdots,p'-1,(p'+1)\times c')\),其中 \(0,1,\cdots,p'-1\) 每个数恰好出现 \(1\) 次。

再继续操作,不难发现 \(a_{2k}=a_2,a_{2k+1}=a_3\),\(k=2,3,\cdots\)。

因此暴力模拟 \(k=1,2,3\) 的情况,然后 \(k\) 为偶数则等价于 \(k=2\),奇数则等价于 \(k=3\)。

mex 序列的处理,可以根据上述证明中的做法直接 \(O(n)\) 求出。Submission #337641758 - Codeforces

CodeForces-2137F Prefix Maximum Invariance

定义:对于长度为 \(m\) 的两个序列 \(x,y\),设长度为 \(m\) 的序列 \(z\) 满足 \(\max\{x_1,\cdots,x_i\}=\max\{z_1,\cdots,z_i\}\),\(i=1,\cdots,m\),设 \(f(x,y)\) 表示 \(y\) 与任何 \(z\) 重合的位置数的最大值,即 \(f(x,y)=\max_z\{\sum_{i=1}^m[y_i=z_i]\}\)。

给定两个长度为 \(n\) 的序列 \(a,b\),求 \(\sum_{l=1}^n\sum_{r=l}^nf(a[l..r],b[l..r])\)。

\(1\le T\le10^4\),\(1\le n,\sum n\le2\cdot10^5\),\(1\le a_i,b_i\le2n\)。

CodeForces-2137G Cry Me a River

A 和 B 在玩一个游戏,游戏在一个有向无环图上进行,其中节点为蓝色或红色。规则如下:

  • 指定一个起点 \(u\),A 和 B 轮流沿图中的有向边行动。
  • 如果到达了无出边的节点,则 A 胜利。
  • 如果到达了红色的节点,则 B 胜利。
  • 如果到达的节点既是红色的,又没有出边,则 B 胜利。

给定一个 \(n\) 节点 \(m\) 条边的有向无环图,初始所有节点为蓝色。进行 \(q\) 次操作,操作分为两种:

  1. 1 u:将节点 \(u\) 变成红色,保证在操作之前节点 \(u\) 为蓝色。
  2. 2 u:A 和 B 从起点 \(u\) 开始玩游戏,假设两人都以最优的方式行动,输出 A 是否能获得胜利。

\(1\le T\le10^4\),\(2\le n,\sum n,m,\sum m,q,\sum q\le2\cdot10^5\)。

相关新闻

  • 设计模式-策略
  • 数据库基本查询语句
  • 《Python数据结构与算法分析》代码

最新新闻

  • 2026高速冷冻离心机高品质制造厂商:全流程质检保障离心转速精度 - 品牌推荐大师
  • 05 | 一不小心就死锁了,怎么办?
  • 网课记笔记写论文刷题,哪些学生平板推荐能覆盖全部学习场景? - 资讯速览
  • 基于Springboot2+vue2的高校办公室行政事务管理系统
  • 百度网盘下载神器pdown:免登录高速下载终极指南
  • 广州二手包包变现避坑指南 全渠道实测,优质回收品牌实力盘点 - 奢侈品回收测评

日新闻

  • 2026年不锈钢卷板厂家推荐排行榜:冷轧热轧/304/201不锈钢卷板,高颜值耐腐蚀源头厂家实力精选 - 企业推荐官【官方】
  • FLUX.1-dev FP8模型实战指南:24GB以下显卡高效部署方案
  • 2026佛山长途搬家价目表:跨省跨市搬家费用完整计算指南 - 从来都是英雄出少年

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

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

关于尧图

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

服务项目

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

快速链接

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

联系方式

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

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