摘要:
昨晚忘记判只有一个字符的情况fst了呜呜呜 挺有趣的题,昨晚连刚带猜弄出结论 考虑答案的取值,最优答案可能是一个后缀,或者是一个前缀,或者是一个后缀加上前缀 那么翻转之后最优答案的可选值就有了1的前缀+n的后缀 对于一个合法的zebra串,无论怎么翻转都不会影响他的取值,所以预处理一遍扫过去找答案即 阅读全文
摘要:
并查集缩点这个trick感觉明明用得很广泛,为什么以前都不知道…… 先把$m$条线路从小到大排个序,这样可以保证之前合并出来的一定是最小的,大的代价不会把小的覆盖掉。 维护两个并查集,一个用来缩点,另一个用来维护生成树的相关信息 直接把每一条树链合并到lca处,最后再把两个lca合并,因为最后要把两 阅读全文
摘要:
只会写60分算法QuQ 考虑到一个数$x$大于$\sqrt{x}$的质因数最多只有一个,我们可以筛出小于$\sqrt{r}$范围内的所有质因数然后直接用这些取分解质因数。 最后扫一遍发现还没有分解完的就累计到答案中去。 所有下标向左平移$l$位。 时间复杂度 $O(√r+ (r−l+ 1)loglo 阅读全文
摘要:
一开始我是不会写的,后来点开了题解: 无话可说……那就写吧……然而第一发跑成暴力分,后来加了一个优化:就是在询问里面提到过的边都不用再加了。 然后……然后就过了呀…… 其实还有面向数据的编程的骚操作……既然卡过了那也没什么好说了。 以前的巨佬们Orz Code: #include <cstdio> 阅读全文
摘要:
神仙dp,膜Claris 题意:给一个长度为$n$的数列,求出不超过k次交换后的最大连续子区间和。 发现交换后的最优答案一定是这样的(0和2的长度可以为0) 0 ( 1 ) 2 答案是标号为1的区间和。 那么就相当于在原数列中下标在0或2的数字可以放入1中,而原来下标在1的数可以拿出来到0或2。 我 阅读全文
摘要:
感觉Dasin去年的毒瘤题质量都挺好的,果然还是我太菜了。 以下假设划横线部分都相等,字符$c$代表一个小写字母。 分类讨论: $#1$ 先考虑$n == m$的情况 : $#1.1 :$ A: ? B: ? 首先考虑两个问号的填法,A串中填的字符比B串中填的字符字典序小的方案有$(25 + 24 阅读全文
摘要:
感觉……做克老师的题,都很神仙…… 还有去年一个人坐在家里写挂60分算法的惨痛记忆,凭借着一点点记忆重新写这道题。 感觉这并查集真的很神仙,仍然不会算最后的α的复杂度……自己想感觉无论如何都要挂个log 考虑到每个格子移动相当于所有障碍物反向移动,我们可以把边界也当成是障碍物,利用并查集来维护障碍物 阅读全文
摘要:
挺有意思的题。 优质题解: https://www.luogu.org/blog/user55639/solution-p2467 题意为求长度为n,取值为$[1, n]$的波动序列的个数。 首先需要三个性质: 性质1:在一个波动序列中,如果数字$i$与数字$i - 1$不相邻,那么把$i$与$i 阅读全文
摘要:
和Luogu 4302 [SCOI2003]字符串折叠 差不多的想法,区间dp 为了计算方便,我们可以假设区间[l, r]的前面放了一个M,设$f_{i, j, 0/1}$表示区间$[i, j]$中是否存在M 因为这题只能是二的幂次倍压缩,所以转移的时候枚举中点chk是否合法,如果合法那么 $f_{ 阅读全文
摘要:
考虑枚举$k$的倍数$dk$,容易知道$\left \lceil \frac{L}{K} \right \rceil\leq d\leq \left \lfloor \frac{H}{k} \right \rfloor$ 我们设全部$n$个数含有公因子$dk$且全部数互不相同的方案数是$f(d)$, 阅读全文