摘要:http://codeforces.com/gym/101161/attachments 今天被卡常了,其实是自己对组合数技巧研究的不够。 如果是n, m <= 1e5的,然后取模是质数,那么可以用费马小定理。 如果n, m都比较小,那么其实是直接杨辉三角。不用逆元那些。 这题的思路是,枚举每一一个
阅读全文
摘要: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://codeforces.com/contest/803/problem/F 这题正面做了一发dp dp[j]表示产生gcd = j的时候的方案总数。 然后稳稳地超时。 考虑容斥。 总答案数是2^n - 1 那么需要减去gcd = 2的,减去gcd = 3的,减去gcd = 5的。加上gc
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2440 第一道莫比乌斯反演的题目。 二分答案 + 容斥那里还是挺好想的。 二分一个答案val,需要[1, val]之间存在的合法数字个数 >= k即可。 怎么判断呢?可以容斥,开始的时候有ans = v
阅读全文
摘要:https://scut.online/p/113 终于想懂了这个容斥, 华工4月23号校赛,考虑总的所有情况,设1 n里面含有质数的个数为all,需要固定m个质数。那么有 totSum = C(all, m) * (n - m)!,就是在all个质数里面,任意选m个出来固定,剩下的全排。 但是算多
阅读全文
摘要:http://acm.zju.edu.cn/onlinejudge/showContestProblem.do?problemId=5564 根据它的定义是行最小,列最大。 可以证明鞍点是唯一的。 单独考虑每一个元素的贡献,它能成为鞍点的情况有: 1、在这一行中,<= a[i][j]的元素肯定要删除
阅读全文
摘要:http://codeforces.com/gym/100633/problem/J 其实这个解法不难学的,不需要太多的数学。但是证明的话,我可能给不了严格的证明。可以看看这篇文章 http://www.cnblogs.com/jianglangcaijin/p/3446839.html 膜拜 #i
阅读全文
摘要:http://acm.uestc.edu.cn/#/problem/show/1544 考虑一下2、2、2这样的情况。答案应该是n / 2 如果只选一个的情况下,对答案的贡献是正的,但是这里有三个,也就是我们统计了3 * n / 2,统计多了。 那么对于任选两个数的情况,有三种,(2, 2) * 3
阅读全文
摘要:https://vijos.org/p/1629 注意lcm要用LL 先给一个样例 1 2 1 10 思路、其实这题就是问,给定一堆数,要求不能整除其任意一个的数字有多少个。 容辞 + lcm dfs暴力枚举每一位选还是不选,一共n位。00010101010. 然后奇减偶加 #include <cs
阅读全文
摘要:http://acm.hust.edu.cn/problem/show/1698 题目就是要把一个数n分成4段,其中中间两段一定要是奇数。 问有多少种情况。 分类, 奇数 + 奇数 + 奇数 + 奇数 奇数 + 奇数 + 奇数 + 偶数 偶数 + 奇数 + 奇数 + 奇数 偶数 + 奇数 + 奇数
阅读全文
摘要:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=442 求解 x1 + x2 + x3 + .... + xn = m 其中xi属于[L, R] 不同解的个数。 这题需要用大数,要注意。 原理和以前做的一样。容斥。先算出每个xi大
阅读全文
摘要:http://codeforces.com/contest/294/problem/C 把那个数组n分段了,那么有两类。 1、开头和端点那些,就是只有一端在开始的,这个时候,要开完这些灯,只能循序渐进,1--2--3--4 2、第二类就是中间那些,两端都可以开始,那些段的开灯次数是2^(len -
阅读全文
摘要:https://www.hackerrank.com/contests/hourrank-15/challenges/taras-beautiful-permutations 题意是说,给定一个数组,里面的数字最多出现两次,求所有的合法排列,合法排列定义为没有相同的数字排在一起。 首先先统计一下个数
阅读全文
摘要:http://www.ifrog.cc/acm/problem/1032 1032 - A-B Time Limit:1s Memory Limit:128MByte Submissions:680Solved:126 1032 - A-B Time Limit:1s Memory Limit:12
阅读全文
摘要:1、给定n个数字,要求选出3个数,其和为3的倍数。 思路,分类,把每个数字%3后,0、1、2、的分成三类,然后按类计算。 ①、三个数来自同一个类,②、来自0、1、2各一类。 2、将r个相同的球放到n个不同的盒子里面,盒子的球数不限,求方案数。 将r个球用0表示,就是000000....000,然后分
阅读全文