CodeForces Global Round 1
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\)就好了。。。。
说不清所以看代码吧。。。。
代码
最新文章
- Windows on Device 项目实践 1 - PWM调光灯制作
- c#.net 使用NPOI导入导出标准Excel (asp.net winform csharp)
- 1.精通前端系列技术之js正则表达式
- SVN代码提交冲突解决方案
- Automator 简单使用流程
- C#序列化和反序列化
- Docker搭建私有仓库
- 北京南天软件java工程师面试题
- 文件下载类型__response
- 二、activiti工作流-创建25张表
- DNS及DNS有什么作用
- storm的trident编程模型
- springboot---->;javax.servlet.ServletException
- css3自定义滚动条背景透明
- 【ORACLE】oracle11g dg搭建
- 手机前端开发调试利器 – vConsole
- 浅析重定向与反弹Shell命令
- 【校招面试 之 C/C++】第17题 C 中的malloc相关
- java基础20 StringBuffer缓冲类
- hdu 1760 DFS+博弈
热门文章
- 【学习总结】GirlsInAI ML-diary day-3-数据类型
- mysql cpu 100% 满 优化方案
- 深入解读Promise对象
- tomcat server.xml各个端口的作用
- IDEA 各版本在线激活(激活码)
- 第六周作业----PSP&;工作量
- docker遇到的问题以及docker 操作镜像的基本操作
- Zend Framework2从入门到精通
- has invalid type <;class &#39;numpy.ndarray&#39;>;, must be a string or Tensor
- springboot+jpa+mysql+swagger整合