论战捆竹竿 题意:给定字符串 s,计数 "串 t 的长度" 可能的种数有多少种,使得 t 能被s 作为印章印出来,且 |t|≤w。n=|s|≤5×105,n≤w≤1018。 第一步: 求出s 的周期 {a1∼am},包含 n(am=n)。转化为求 ∑aibi≤w−n 的情况下,∑aibi 的取值有多少种,要求 bi≥0。记 w0=w−n。
论战捆竹竿 题解资料.{"code":"InvalidRange","message":"Therequestedrangecannotbesatisfied.","requestId":"454b015d-0c2c-4af9-a506-d07ef0dcef1a"}
假设我们在颜色为ababa‾ababa的竹竿顶端再捆一根竹子,则可以捆成ababaaba‾ababaaba,abababa‾abababa和ababa‾ababa三种不同的情况。 但是小 C 在这个问题上有不同的看法,他认为小 W 捆不出很多种长度不同的竹竿。小 W 非常不服,于是他找到了你——现在请你求出在竹竿长度不超过ww的...
UOJ#172. 【WC2016】论战捆竹竿 传送门 首先这个题目显然就是先求出所有的 borderborder,问题转化成一个可行性背包的问题 一个方法就是同余类最短路,裸跑 3030 分,加优化 5050 分 首先有个性质 borderborder 分成的等差数列的个数不超过 loglog 和回文树的性质的证明类似瞎画图一下就行了 我们注意到可以一个一...
UOJ#172. 【WC2016】论战捆竹竿 字符串 KMP 动态规划 单调队列 背包,原文链接https://..com/zhouzhendong/p/UOJ172.html题解首先,这个问题显然是个背包问题。然后,可以证明:一个字符串的border长度可以划分成$O(log|S|)$个等差数列。(以下图片摘自金策-《字符串算法选讲
bzoj4406: [Wc2016]论战捆竹竿&&uoj#172. 【WC2016】论战捆竹竿,第二次在bzoj跑进前十竟然是因为在UOJ卡常致死首先这个题其实就是一个无限背包一般做法是同余最短路,就是bzoj2118:墨墨的等式可以拿到30分的好成绩背包是个卷积就分治FFT优化那么下面20也没问题了 官方做法
题目描述 n<=5e5,w<=1e18,T=5 题解 需要各种前置姿势的吼题 同余最短路 求形如$\sum a_ix_i=A;(a_i>=0,x\in \N)$的A的个数 做法是按找%min(a)变成min(a)*x+b来分类跑最短路,f[i]表示%min(a)=i的最小的b,最后
小W 对竹竿的审美要求很高, 他捆竹竿时有一个癖好: 如果两根竹子的某两节被捆在了一起,那么它们的颜色必须相同。 我们假设一根短竹子从底端到顶端每节的颜色为 aba。 那么两根竹子可以首尾捆在一起,可以得到一根颜色为 abaaba 的竹竿;也可以将第一根顶端的一节 a 与第二根底端的一节 a 捆...
因此,除了第一步必须加入整个ss外,无论何时,我们能够加入一段长为xx的字符串,当且仅当n−xn−x是ss的一个borderborder。 于是先用KMPKMP求出ss的所有borderborder,那么就求出了单次可能加入的所有长度。 考虑到borderborder的性质,所有的borderborder可以划分为至多O(logn)O(logn)个等差数列。 则单次可能加...
首先这个题其实就是一个无限背包 一般做法是同余最短路,就是bzoj2118: 墨墨的等式可以拿到30分的好成绩 背包是个卷积就分治FFT优化那么下面20也没问题了官方做法是大力bitset优化背包并且嘲讽了一波这个做法 再往后需要一个性质参见鏼爷的PPT 不想翻就直接看结论吧对于一个串的所有border,它们组成不超过logn个等差数列...