摘要: 原题链接 考察:暴力枚举 完全是因为有容斥原理才做了这题,结果这题和容斥原理有啥关系... 思路: dfs枚举所有可能性 1 #include <iostream> 2 #include <algorithm> 3 #include <set> 4 #include <vector> 5 using 阅读全文
posted @ 2021-01-30 22:51 acmloser 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:容斥原理+埃氏筛+质因数分解 思路: gcd(x,y) = k 等价于gcd(x/k,y/k) = 1.设 u = x/k,v= y/k.找出范围内u与v互质的对数. 这里可以用欧拉函数做,枚举1~d/k每一个数i.如果i在b/k范围内就是欧拉函数值,如果>b/k就是该欧拉函数值-b 阅读全文
posted @ 2021-01-30 21:20 acmloser 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:欧拉降幂+中国剩余定理+lucas求组合数 思路: 本道题的答案求出幂后快速幂一下即可,所以主要是求幂,由欧拉降幂可知,我们的幂是需要%phi[mod]的.但mod=999911659,是一个质数,mod-1后是一个合数.设此合数为M,我们需要找的就是组合数和%M.但本题直接求组合数 阅读全文
posted @ 2021-01-30 16:03 acmloser 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 原题链接 思路全是看算法竞赛进阶指南,我自己是不会做这题的... 很详细的题解GO 解释一下为什么答案要乘上多重集排序的公式. 假设一个序列 2 3 4 5 6 1. 我们将5和 3互换,就可以得到 2 5 6 1和 4 3两个自环,答案的Fx*Fy是将这两个自环整理为有序的序列.形成 1 2 5 阅读全文
posted @ 2021-01-30 11:51 acmloser 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:卡特兰数 错误思路: 将答案当成卡特兰数的前缀和.这种答案是到达i点后,机器人完全不动,但此时可能步数还未用完 正确思路: 机器人向右是卡特兰数的向右,机器人向左是卡特兰数的向上.这就是模拟进出栈,y=x上方代表出栈数>入栈数.但这里我们还需要计数不走的方法数 设我们向右走了a步,总 阅读全文
posted @ 2021-01-30 00:10 acmloser 阅读(52) 评论(0) 推荐(0) 编辑