摘要:
题面在这里! 为什么atcoder都是神仙题啊qwq 首先发现如果要让 x,y 互换位置的话,要么通过他们直接换 (也就是x和y满足两种操作之一),要么间接换,通过一些其他的元素形如 x可以和 a[1]换,a[1]可以和a[2]换。。。a[k-1]可以和a[k]换,a[k]可以和y换,x就可以和y换 阅读全文
摘要:
题面在这里! 神仙构造啊qwqwq。 窝一开始只想到一个字符串长度是 O(log(N)^2) 的做法:可以发现一段相同的长度为n的字符串的贡献是 2^(n-1)-1 ,可以把它看成类二进制,枚举用了多少种字符,把n加上这个种类数,然后每种就可以看成一个二进制位啦,只要 n+种类数 这个数的二进制中1 阅读全文
摘要:
题面在这里! (显然首先想到反着做比较简单,每个点取第一次被覆盖到的颜色) 发现d非常小,那么是否可以暴力覆盖呢??? 考虑一个稠密图。。暴力肯定就gg了啊。。。 不过我们可以对每一个点 i 记一个max[i],表示之前到i的时候还能再往外走多少。 之后如果再到这个点并且再往外能走的距离<=max[ 阅读全文
摘要:
题面在这里! 把每个数替换成它在2上的指数,然后发现0只能和>=2的相邻,所以手玩一下就好啦。 阅读全文
摘要:
题面在这里! 直接考虑每个位置成为最右边的最大值的位置,统计不合法区间,补集转化一下就好啦。 复杂度O(N * 30) 阅读全文
摘要:
题面在这里! xjb想的做法竟然不小心把std艹爆了qwq,我也很无奈啊.... 那接下来就说一下我的神奇做法qwq 如果是经常读我博客的童鞋会发现其实我以前就想要做这个题啦,只不过当时读错题啦。。。以为[L,R]在树上只要形成联通块就可以了,于是就自己出了一个题 那个题的做法是直接扫描线,因为[L 阅读全文