摘要:
C. Garland 直接无脑dp。 dp[i][j][0/1] 表示前 $i$ 个数里还剩 $j$ 个奇数可以用,最后一位的奇偶性的最小值。 然后由上一位转移就行了。 #include <bits/stdc++.h> const int N = 110, INF = 0x3f3f3f3f; int 阅读全文
摘要:
期末考中途的放松 但好像有点智障... A. Patrick and Shopping 刚开始不知道能有多种走法... #include <bits/stdc++.h> int main() { int a, b, c; scanf("%d%d%d", &a, &b, &c); int sum1 = 阅读全文
摘要:
A - Blackjack #include <bits/stdc++.h> int main() { int a, b, c; scanf("%d%d%d", &a, &b, &c); a += b + c; if (a >= 22) puts("bust"); else puts("win"); 阅读全文
摘要:
【传送门】 求$$\sum_{i=1}^{n} \gcd(\lfloor \sqrt[3]{i} \rfloor, i)$$题解写的很清楚,自己重新推一推。 $$\sum_{i=1}^{n} \gcd(\lfloor \sqrt[3]{i} \rfloor, i)$$ $$=\sum_{a=1}^{ 阅读全文
摘要:
【传送门】 $\min \{\sum_{i = 0}^{n-1}\left(A_i - B_{(i+k)\mod n}\right)^2\}$把平方项拆开得 $\sum_{i = 0}^{n-1}A_i^2 + \sum_{i = 0}^{n-1}B_{(i+k)\mod n}^2 - 2 \sum 阅读全文
摘要:
将第二个字符串改成能赢对方时对方的字符并倒序后,字符串匹配就是卷积的过程。 那么就枚举字符做三次卷积即可。 #include <bits/stdc++.h> struct Complex { double r, i; Complex(){} Complex(double r, double i): 阅读全文
摘要:
【传送门】 FFT第四题! 暑假的时候只会点分,然后合并是暴力合并的...水过去了... 其实两条路径长度的合并就是卷积的过程嘛,每次统计完路径就自卷积一下。 刚开始卷积固定了值域。T了。然后就不偷懒了,每次取最大权值乘二去找值域了。 #include <bits/stdc++.h> const d 阅读全文
摘要:
【传送门】 FFT第三题! 其实就是要求有多少三元组满足两短边之和大于等于第三边。 考虑容斥,就是枚举最长边,另外两个数组里有多少对边之和比它小,然后就是 $n^3$ 减去这个答案。 当 $n \leq 1000$ 时,直接暴力,因为如果继续 FFT 的话复杂度是 $O(slogs)$,$s$ 表示 阅读全文
摘要:
【传送门】 FFT第一题! 构造多项式 $A(x) = \sum x ^ {s_i}$。 不考虑题目中 $i < j < k$ 的条件,那么 $A^3(x)$ 每一项对应的系数就是答案了。 考虑容斥。 $$(\sum x)^3 = \sum x^3 + 3 \sum x^2 y + 6\sum xy 阅读全文
摘要:
由于这个人觉得自己数学太差,他决定把紫书和蓝书的数学部分先刷一刷,再买本具体数学啃一啃,再把组合数学啃一啃,再把 PE 刷一刷。 这个人觉得上面紫书两个字之后的那些话可以不用信了 【UVA11582】斐波那契数列取模找循环节问题,考虑数列中两个相邻元素什么时候和 $f[0]$ 与 $f[1]$ 一样 阅读全文