随笔分类 -  数论 II

摘要:题目:http://codeforces.com/contest/908/problem/D 题意:每次有$\frac{pa}{pa+pb}$的概率选择‘a’,有$\frac{pb}{pa+pb}$的概率选择‘b’,每当串中出现k个ab(不一定连续)时停止操作,输出期望。 分析:乱七八糟的东西用逆元 阅读全文
posted @ 2017-12-31 11:54 Meternal 阅读(409) 评论(0) 推荐(0)
摘要:题目:http://codeforces.com/contest/900/problem/D 题意:找到加和为m的且gcd为n的数列种类数 分析:可以转化为求gcd为1的加和为m/n的种类数,假设有m/n个1,则除了第一个以外的每个1可以选择和前面一项合并,也可以独立存在,故不考虑gcd总情况有$2 阅读全文
posted @ 2017-12-26 20:16 Meternal 阅读(183) 评论(0) 推荐(0)
摘要:题目:http://codeforces.com/contest/895/problem/C 题意:在1e5个数字中选一些数字,使他们的乘积为平方数。 题解:最大数字只有70,如果把每个数字分解为质因子,最多也只有19个可能的数字。乘积为平方数则此数字分解为的质因数个数都为偶数,可用异或转移表示为是 阅读全文
posted @ 2017-11-28 17:09 Meternal 阅读(373) 评论(0) 推荐(0)
摘要:题目:http://codeforces.com/contest/893/problem/E 题意:给出1e5组询问,每组要求y个整数乘积为x,输出组合种类数。(x,y<=1e6) 题解:把x分解成它的所有质因子乘积的形式,例如18=2*3*3 则可以把每个质因子分解为可空的y份,可利用组合数计算。 阅读全文
posted @ 2017-11-28 16:15 Meternal 阅读(200) 评论(0) 推荐(0)
摘要:题目:http://codeforces.com/contest/839/problem/D 题意:找出每种情况使得所有数字gcd不为1,对答案的贡献为gcd值乘数字个数。 题解:因为数字不大,可以哈希出每种数字的个数,然后从后往前,f[i]代表在gcd==i时存在的数字搭配种数。每次计算i时,要减 阅读全文
posted @ 2017-09-21 17:40 Meternal 阅读(148) 评论(0) 推荐(0)
摘要:传送门:http://codeforces.com/contest/839/problem/D Examples input 33 3 1 output 12 input 42 3 4 6 output 39 Note In the first sample the clans are {1}, { 阅读全文
posted @ 2017-08-17 13:20 Meternal 阅读(214) 评论(0) 推荐(0)
摘要:题意:从1到n+m的数组中选m个数字且每个数字和在原数组中下标不同,求方案数。例如 n=1 m = 2 则存在{2,1},{2,3},{3,1} 题解:错排问题模板 下面是使用容斥原理推导的过程 1. 先推导标准的错排公式 假设为从1到m的m个数字组成的数组 令k=非错排的数字个数 共有m!种情况, 阅读全文
posted @ 2017-07-02 14:20 Meternal 阅读(306) 评论(0) 推荐(0)