摘要:http://codeforces.com/gym/101161/attachments 今天被卡常了,其实是自己对组合数技巧研究的不够。 如果是n, m <= 1e5的,然后取模是质数,那么可以用费马小定理。 如果n, m都比较小,那么其实是直接杨辉三角。不用逆元那些。 这题的思路是,枚举每一一个
阅读全文
摘要:http://acm.uestc.edu.cn/#/problem/show/1171 颠覆了我求gcd的思路,以前的都是mobius求gcd = 1的,现在的这个能求所有的。 设ans[i]表示gcd = i的集合数。 那么需要求ans[k],我们需要知道所有k、2*k、3*k......的元素的
阅读全文
摘要:http://codeforces.com/problemset/problem/548/E 这题是询问id,如果这个id不在,就插入这个id,然后求a[id1] , a[id2]互质的对数。 询问有多少个互质这个套路出了很多次,这次是在线 首先维护当前的ans,可以知道每一步的ans,都是由于上一
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2301 设f(i)为在区间[1, n]和区间[1, m]中,gcd(x, y) = i的个数。 设F(i)为在区间[1, n]和区间[1, m]中,gcd(x, y) % i == 0的个数,很简单的公
阅读全文
摘要:http://swjtuoj.cn/problem/2382/ 题目的难点在于,用k种颜色,去染n个盒子,并且一定要用完这k种颜色,并且相邻的格子不能有相同的颜色, 打了个表发现,这个数是s(n, k) * k! s(n, k)表示求第二类斯特林数。 那么关键是怎么快速求第二类斯特林数。 这里提供一
阅读全文
摘要:https://scut.online/p/129 一开始的错误思路: 考虑每一个数的贡献,一个数a[i],当且仅当它的区间包含a[i] - 1和a[i] + 1,这个数的贡献变成0. 那么可以找到对于每一个数a[i],他的a[i] - 1和a[i] + 1在哪里。然后处理一些细节。 但是这个细节是
阅读全文
摘要:http://codeforces.com/contest/803/problem/F 这题正面做了一发dp dp[j]表示产生gcd = j的时候的方案总数。 然后稳稳地超时。 考虑容斥。 总答案数是2^n - 1 那么需要减去gcd = 2的,减去gcd = 3的,减去gcd = 5的。加上gc
阅读全文
摘要:https://vijos.org/p/1629 注意lcm要用LL 先给一个样例 1 2 1 10 思路、其实这题就是问,给定一堆数,要求不能整除其任意一个的数字有多少个。 容辞 + lcm dfs暴力枚举每一位选还是不选,一共n位。00010101010. 然后奇减偶加 #include <cs
阅读全文
摘要:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=442 求解 x1 + x2 + x3 + .... + xn = m 其中xi属于[L, R] 不同解的个数。 这题需要用大数,要注意。 原理和以前做的一样。容斥。先算出每个xi大
阅读全文
摘要:https://www.hackerrank.com/contests/hourrank-13/challenges/arthur-and-coprimes 我们可以枚举每一个p在[2, sqrt(n)]里,然后就是在[p + 1, n / p]中找有多少个数和p互质了。 标准容斥,先算出[1, n
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1695 要求[L1, R1]和[L2, R2]中GCD是K的个数。那么只需要求[L1, R1 / K] 和 [L2, R2 / K]中GCD是1的对数。 由于(1, 2)和(2, 1)是同一对。 那么我们枚举大区间
阅读全文