这场整体质量感觉可以算 2020 年度(目前为止)最垃圾。

A

按数值从小到大扫描,维护一个优先队列,每遇到一个数加入队列,每次数值发生 \(+1\) 时弹掉队列中价值最大元素,然后把此时队列中所有元素的价值和类加进答案。
时间复杂度 \(O(n\log n)\).
代码: 78541690

B

这题看起来最难以处理的就是编号问题,所以就从编号问题入手,可以发现当场上还剩下 \(2^i\) 个人时,将所有人按编号从小到大划分为 \(2^{i-1}\) 个大小相等的组,则每组中恰有一人在 Upper Bracket,恰有一人在 Lower Bracket. 每场比赛会合并相邻的两个组。
于是就可以 DP 了:设 \(f[i][u][x][y]\ (x,y\in \{0,1\})\) 表示第 \(i\) 层 \(u\) 这一组,Upper 和 Lower 的人分别是否被关注即可。
时间复杂度 \(O(2^n)\).
代码: 79378015

C

把所有子串拎出来排序,二分答案。每次就是要求将 \(s\) 划分为 \(m\) 个连续子串,且每个子串字典序都不小于 \([L,R]\) 的方案数。(串一模一样的时候没有必要再区分大小)
直接 DP 是 \(O(n^3)\) 的,但是注意到一个点能转移到的是一段区间,于是就可以 \(O(1)\) 转移。
时间复杂度 \(O(n^2\log n)\).
代码: 79516172

D

无奇环等价于任何一个点都不能同时出现在奇数和偶数的位置上。设 \(1\) 号点的位置是 \(0\),可以爆搜偶数位置上的值,然后就是要对 \((i,j)\) 求 \(\min_k(dis_{i,k}+dis_{k,j})\),其中 \(k\) 有不超过 \(\frac{m}{2}\) 个位置是被 ban 的。于是对每个 \((i,j)\) 预处理一下前 \(4\) 大就可以完成。
时间复杂度 \(O(n^{\frac{m}{2}-1}m^2)\),常数很小。
代码: 78551177
题解还给了一种随机做法:大概每次把所有的点以某种随机方式染成二分图,随机 \(512\cdot 20\) 次,最优解在至少一次的随机中出现在二分图两侧的概率约为 \(1-2\times 10^{-9}\).

E

不难发现 \(|f^2(A)|\le \sqrt{2|A|}\).
考虑如何判断一个终止状态是否合法,只需要求出初始状态最少有多少个元素即可,那么肯定是每次贪心地展开,设 \(f^k(A)\) 从大到小排序后为 \(b_1,...,b_l\),则 \(f^{k-1}(A)\) 中有 \(b_i\) 个 \(i\). 把按这种方式贪心展开的函数叫做 \(g(A)\). 很容易推知 \(|g(A)|=\sum^l_{i=1} a_i,|g^2(A)|=\sum^l_{i=1}ia_i\).
那么对于 \(K=1\) 或 \(K=2\) 的情况,可以直接 DP 解决,使用 DP 划分数的经典方法,有一个序列初始为 \(\{1\}\),每次给最后面添加一个 \(1\) 或者给所有数都 \(+1\). 时间复杂度 \(O(n^2)\).
对于 \(K\ge 3\) 的情况,必定有 \(|f^k(A)|\le \sqrt{2n}\le 63\). 于是可以爆搜划分数,然后贪心展开。一个很有用的剪枝是,如果任何时候展开的大小超过 \(n\) 就没有必要继续搜下去了,加上这个之后运行时间从 \(1918\ \text{ms}\) 变成了 \(78\ \text{ms}\)。

\[\sum^{63}_{i=1}P(i)\approx 10^7,\ P(64)\approx 2\times 10^6 \]

时间复杂度 \(O(n^2+P(\sqrt {2n})\text{poly}(n))\),其中 \(\text{poly}(n)\) 部分很小。
代码: 79614806

F

nim 积意义下的离散对数。下面默认求 nim 的复杂度是 \(O(\log^2 W)\).
考虑整个域的大小是 \(W=2^{64}-1\),首先显然有一个 \(O(\sqrt W\log^2 W)\) 的 BSGS 做法。
显然 \(W\) 不是质数,分解一下发现 \(W=3\times 5\times 17\times 257\times 641\times 65537\times 6700417\),每一个质因子都不大,可以考虑计算答案在模每个质因子意义下的值,最后 CRT 合并。
设当前处理的质因子是 \(P\). \(a^{\bigodot kP+r}=b\ \Leftrightarrow\ a^{\bigodot kW+\frac{W}{P}\cdot r}=b^{\bigodot \frac{W}{P}}\ \Leftrightarrow\ (a^{\bigodot \frac{W}{P}})^{\bigodot r}=b^{\bigodot \frac{W}{P}}\),所以就是要解 \((a^{\bigodot \frac{W}{P}})^{\bigodot r}=b^{\bigodot \frac{W}{P}}\). 直接 BSGS 即可。
时间复杂度 \(O(\sum \sqrt{P_i}\log^2 W)\).
代码: 79635282

Codeforces 1314 题解相关推荐

  1. Dominated Subarray[codeforces 1257C]题解

    Dominated Subarray[codeforces 1257C] CF-1257C(Dominated Subarray) 题目 输入 输出 题目大意 样例输入 样例输出 CF-1257C(D ...

  2. Codeforces 833B 题解(DP+线段树)

    题面 传送门:http://codeforces.com/problemset/problem/833/B B. The Bakery time limit per test2.5 seconds m ...

  3. Codeforces 1344 题解

    A 假设所有的 \((i+a_i)\) 模 \(n\) 意义下构成排列则答案为 YES,否则为 NO. 时间复杂度 \(O(n)\) 或 \(O(n\log n)\). 代码: 79150268 B ...

  4. Codeforces 1338 题解

    A 对于每个 \(i\) 我们求出 \(b_i\) 表示 \(i\) 这个数最少要增加多少(\(\max^i_{j=1}a_j-a_i\)),答案等于最小的 \(k\) 使得 \(2^k-1\ge \ ...

  5. Codeforces 1149 题解

    A 特判全是 \(2\),对于有 \(1\) 的情况把 \(1\) 放到第二个和最后. 时间复杂度 \(O(n)\). 代码: 76492031 B 考虑只有一次询问的情况,有一个 \(O(n^3)\ ...

  6. Codeforces 1025 题解

    A 若 \(n=1\) 则答案为 YES,否则答案为 YES 当且仅当存在两个相同的字符. 时间复杂度 \(O(n)\). 代码: 76484733 B 求出所有 \(\text{lcm}(a_i,b ...

  7. Codeforces 1188 题解

    A 首先对于 A1 题,可以加减任意实数,结论是答案为 YES 当且仅当没有度数为 \(2\) 的点.必要性显然,充分性通过下面的构造来证明. A2 题的构造:考虑随便找一个叶子节点为根,记为 \(r ...

  8. codeforces #1 题解

    codeforces1A 题目链接:http://codeforces.com/problemset/problem/1/A 题意:给定一个n*m的矩形,然后给一个a*a的地板,求最少需要多少地板可以 ...

  9. Codeforces #635题解

    Codeforces round 635赛后解题报告 A. Ichihime and Triangle 首先这是一道几何题 那么我们知道,在此题中, x , y , z x,y,z x,y,z 满足 ...

最新文章

  1. ubunu16.04 TensorFlow object detection API 应用配置
  2. Shift+F5后,vc6不可以退出调试状态,程序不能再次执行
  3. TCP三次握手、四次挥手、socket,tcp,http三者之间的区别和原理
  4. 切题 (problem)(线段树+最大流最小割)
  5. Java 8的惰性序列实现
  6. 如何用Veripacks替换构建模块
  7. JS之字符串连接方法join
  8. 让你的git bash更好看更实用
  9. Linux基础——搭建自己的云计算, 多电脑共享你云端文件
  10. day059-60 ajax初识 登录认证练习 form装饰器, form和ajax上传文件 contentType
  11. mysql replace into +1_mysql replace into用法详细说明
  12. 翻译:protocol的高阶用法,在Swift 5中使用协议protocol构建自定义集合Collection
  13. 微信小程序直播为什么这么受欢迎
  14. 电脑计算机人员英语,计算机专业英语词汇新大全(完美打印版).pdf
  15. 计算机辅助绘图包括,计算机辅助绘图实用教程
  16. 数仓4.0之即席查询
  17. 2023年度流行色出炉终于轮到火龙果和草莓熊制霸天下了 优漫动游
  18. awg线径与电流_AWG_线径电流
  19. 6-1 判断顺序表是否有序(Java语言描述)
  20. 人有多大胆,地有多大产

热门文章

  1. 公众号质量改进调查问卷
  2. 3DSlicer3:模块管理(一)颜色、DCM、数据、模型、注释
  3. 64bit win7+VS2013+opencv2.4.9配置
  4. 编程中函数的返回值的定义问题的解决
  5. VirtualBox使用技巧
  6. 汇编中断程序编写步骤
  7. ATT汇编leave指令
  8. 程序的加载和执行(三)——《x86汇编语言:从实模式到保护模式》读书笔记23
  9. 精选文章 什么是跨域?怎么解决跨域问题?
  10. android 耳机检测,android – 检测耳机是否有麦克风