首页 > TAG信息列表 > Fedya

CF1286E-Fedya the Potter Strikes Back【KMP,RMQ】

正题 题目链接:https://www.luogu.com.cn/problem/CF1286E 题目大意 定义一个字符串\(s\)的权值为对于每个\(s_{L\sim R}=s_{1\sim R-L+1}\)的区间,会产生\(\min_{i=L}^Rw_i\)的贡献。 现在开始时\(s\)为空串,\(n\)次往\(s\)后加入一个字符和往\(w\)序列加入一个数字,然后求这个串的

【luogu CF1286E】Fedya the Potter Strikes Back(字符串)(势能分析)(线段树)

Fedya the Potter Strikes Back 题目链接:luogu CF1286E 题目大意 一开始有一个空字符串,在线在后面加入字符,并且给出这个位置的权值。 然后当前字符串的分数是它所有 Border 的后缀部分的位置的权值最小值的和。 要你维护分数。 思路 那不难看到每次只需要加入贡献在最后位置的贡献

CF1286E Fedya the Potter Strikes Back

LG CF286E CF286E 考虑增量,每次从上一个字符跳 \(nxt\) 直到符合条件 用一个单调递增的单调栈维护答案集合的权值,将不合法的答案权值弹出后还要将所有的答案和 \(w_i\) 取 \(\min\) ,这个可以考虑将所有一样的权值暴力合并,总的复杂度是 \(O(n\log n)\)

CodeForces 1286E Fedya the Potter Strikes Back

洛谷传送门 CF 传送门 KMP 好题。 思路 合法的子区间其实就是原串的 \(\mathrm{border}\),考虑维护 \(\mathrm{border}\) 的集合。每次加入一个字符,就保留原来合法的 \(\mathrm{border}\) 并加入新的合法 \(\mathrm{border}\)(如果 \(s_1 = s_i\))。 重点在于如何删掉不合法的 \(\mat

CF1286E Fedya the Potter Strikes Back

\(\Large\texttt{CF1286E Fedya the Potter Strikes Back }\) 期望理论复杂度是 \(\mathcal O(n\alpha(n))\),理论上是吊打了表算,但是好像实际并不优于一些 \(\mathcal O(n\log n)\) 的提交。 思路 对于我们需要动态维护的这个答案,先做个归类,将所有有贡献的区间 \([L, R]\),令其为点

B. Fedya and Maths(找规律)

题意:请你输出\((1^n + 2^n + 3^n + 4^n) \% 5\)的结果。\(n(0 <= n <= 10^{100000})\)。 分析:一个数能否被4整除,只需要看最后两位,因为任何一个数都能化成\(a * 100 + b\)的形式,因为\(100\)能被4整除,所以只需要看b能否被4整除即可。这道题可以发现当n是4的倍数的时候,输出4,其余都

CF1286F Fedya the Potter Strikes Back

Fedya the Potter Strikes Back 给定一个字符串 S 和权值数组 W 定义 S 的一个子串是好的,当且仅当这个子串等于 S 的某个前缀 一个子串 S[L : R] 的权值是 W[L...R] 的最小值 对于 S 的每个前缀,求他的所有好的子串的权值之和 N ≤ 105 题解 https://www.cnblogs.com/asuldb/p/1226

【CF1286F】 Fedya the Potter Strikes Back

题目 题意:对于一个字符串\(S\),对于某个子串\(S[l,r]\),如何\(S[l,r]=S[1,r-l+1]\),那么就称该子串为好的;给定序列\(w_i\),定义一个子串\(S[l,r]\)的权值为\(\min_{i=l}^r w_i\); 初始时有一空串,每次在该串某位加入一个字符\(c_i\),求每次操作后字符串所有好的子串的权值和;强制在线。 \(