CodeForces Global Round 1

CF新的比赛呢(虽然没啥区别)!这种报名的人多的比赛涨分是真的快。。。。
所以就写下题解吧。

A. Parity

太简单了,随便模拟一下就完了。

B. Tape

显然就是先找一个长的把所有的全部覆盖,然后可以在上面丢掉\(k-1\)段间隙。
那么把两两之间的间隙长度拿出来排序就可以了。

C. Meaningless Operations

如果\(a\)不等于\(2^k-1\)的形式,那么令\(S=2^k-1\),其中\(2^{k-1}<a<2^k\)。
那么令\(b=S\oplus a\),那么\(a\oplus b=S,a\&b=0\),那么此时的\(gcd=S\),为最大值。

否则\(a=S\),那么\(gcd=gcd(a-b,b)\),这是一个辗转相减的形式,等于\(gcd(a,b)\),所以\(b\)取\(a\)的最大的不等于\(a\)的约数。

D. Jongmah

显然对于\(i\)而言只可能和\(i-2,i-1,i+1,i+2\)凑顺子。
而如果某个顺子超过了\(3\)个是没有意义的,所以一个顺子最多出现\(2\)次,所以\(i\)这个牌最多用\(6\)次,超过\(6\)的部分每\(3\)个直接凑起来。
那么设\(f[i][0..6][0..6]\)表示当前考虑的是\(i\),后面两维记录\(i-1\)的数量和\(i-2\)的数量。
转移的时候枚举这个顺子的出现次数,随便转移一下就好了。

E. Magic Stones

和\(\mbox{agc006_c}\)很类似啊。
观察这个数列的操作,把它差分,发现差分后的操作等价于在差分数组上交换相邻两个数。
所以只需要判断两个数列的差分数组排序后是否相等即可。
注意要特判第一个数是否相等。

F. Nearest Leaf

考虑两个点之间的距离是\(dep[u]+dep[v]-2*dep[LCA]\)。
那么我们把所有叶子节点的\(dep[u]\)放在自己身上。对于一个询问\(u\),显然就是找最小的\(dep[v]-2*dep[LCA]\),\(dfs\)整棵树,假如当前点作为\(LCA\)影响其子树内的询问,那么就是把它子树内的所有点权全部减去\(2*dep[u]\),这样子询问的时候,直接查区间最小值即可。线段树维护。

G. Tree-Tac-Toe

有神仙已经写得很好了,所以我就懒得写了
注意一下别每次\(memset\),每次手动\(for\)清空数组。

H. Modest Substrings

如果满足条件的串很少的话,显然全部丢到\(AC\)自动机里面去\(dp\)。
问题就在于这样子符合条件的串很多。
考虑压缩状态,不难发现很多自动机上的状态都是满的,即可以随意选择子串都能匹配上。
什么样的点的子树是满的呢?对于\(\ge l\)而言,符合了前缀之后,下一位大于\(l\)的这一位的所有节点。对于\(\le r\)是类似的。
那么一共有\(\Sigma(|l|+|r|)\)个满状态的节点,注意\(\Sigma\)是字符集大小。
对于每个满状态的节点,设\(g[u][x]\)表示从\(u\)节点开始,往下任意走\(x\)步,能够到达的合法的串的个数,这个东西在构建\(AC\)自动机的时候可以很容易的得到。
那么直接\(dp\)就好了。。。。
说不清所以看代码吧。。。。
代码

最新文章

  1. Windows on Device 项目实践 1 - PWM调光灯制作
  2. c#.net 使用NPOI导入导出标准Excel (asp.net winform csharp)
  3. 1.精通前端系列技术之js正则表达式
  4. SVN代码提交冲突解决方案
  5. Automator 简单使用流程
  6. C#序列化和反序列化
  7. Docker搭建私有仓库
  8. 北京南天软件java工程师面试题
  9. 文件下载类型__response
  10. 二、activiti工作流-创建25张表
  11. DNS及DNS有什么作用
  12. storm的trident编程模型
  13. springboot----&gt;javax.servlet.ServletException
  14. css3自定义滚动条背景透明
  15. 【ORACLE】oracle11g dg搭建
  16. 手机前端开发调试利器 – vConsole
  17. 浅析重定向与反弹Shell命令
  18. 【校招面试 之 C/C++】第17题 C 中的malloc相关
  19. java基础20 StringBuffer缓冲类
  20. hdu 1760 DFS+博弈

热门文章

  1. 【学习总结】GirlsInAI ML-diary day-3-数据类型
  2. mysql cpu 100% 满 优化方案
  3. 深入解读Promise对象
  4. tomcat server.xml各个端口的作用
  5. IDEA 各版本在线激活(激活码)
  6. 第六周作业----PSP&amp;工作量
  7. docker遇到的问题以及docker 操作镜像的基本操作
  8. Zend Framework2从入门到精通
  9. has invalid type &lt;class &#39;numpy.ndarray&#39;&gt;, must be a string or Tensor
  10. springboot+jpa+mysql+swagger整合