摘要:
题目链接:http://poj.org/problem;jsessionid=436A34AE4BE856FB2DF9B264DCA9AA4E?id=1308 题意:给定一些边让你判断是否构成数。 思路:这道题细节很多,wa了好久。利用并查集将一棵树的节点并在一块,如果当前的边的两个端点祖先相同,则 阅读全文
posted @ 2019-04-07 21:23
Frank__Chen
阅读(154)
评论(0)
推荐(0)
摘要:
题目链接:https://ac.nowcoder.com/acm/contest/553/G 题意:给定n,k,(1<=n<=5e5)然后给出n个数ai(1<=ai<=1e5),问按顺序从1..n分组,最多能有多少个组的异或和为k。 思路:自然的,我们用dp[i]表示到第i个人的时候最多有多少个组的 阅读全文
posted @ 2019-04-07 20:37
Frank__Chen
阅读(208)
评论(0)
推荐(0)
摘要:
题目链接:https://ac.nowcoder.com/acm/contest/553/D 题意:求不定方程的正整数解和非负整数解的个数(mod 1e9+7)。 思路:对于正整数解,利用插板法,即在n个1中间的n-1个空隙中插m-1个板子,得到m个数,即有C(n-1,m-1)个。对于非负整数解,即 阅读全文
posted @ 2019-04-07 17:23
Frank__Chen
阅读(230)
评论(0)
推荐(0)
摘要:
求组合数有O(n^2)和 O(n)的算法,但是当n十分大的的时候,就要用到卢卡斯定理了。 比如求C(n, m) % p , n<=1e18,m<=1e18,p<=1e5。利用lucas定理时p一定要<=1e5,且p为素数。 Lucas定理:C(n, m) % p = C(n / p, m / p) 阅读全文
posted @ 2019-04-07 16:47
Frank__Chen
阅读(325)
评论(0)
推荐(0)
摘要:
概率论中的组合数应该比较熟悉吧,在数论中组合数也具有重大意义,下面介绍组合数的解法: 方法一O(n^2): 利用公式(n,m)=(n-1,m-1)+(n-1,m): 模板: 方法二(O(n)): 因为大部分题都有求余,所以我们大可利用逆元的原理(没求余的题目,其实你也可以把MOD自己开的大一点,这样 阅读全文
posted @ 2019-04-07 16:36
Frank__Chen
阅读(416)
评论(0)
推荐(0)
摘要:
数论倒数,又称逆元,在数论中很有意义。在数论中取模运算十分普遍,我们知道取模运算有如下性质: (a + b) % p = (a%p + b%p) %p (对) (a - b) % p = (a%p - b%p + p) %p (对) (a * b) % p = (a%p * b%p) %p (对) 阅读全文
posted @ 2019-04-07 16:17
Frank__Chen
阅读(1500)
评论(0)
推荐(1)
摘要:
a*x+b*y=gcd(a,b),该方程一定有解(原因暂时留坑,以后来填),扩展欧基里德算法就是用来求x,y的。 具体求法,因为a*x+b*y=gcd(a,b),而gcd(a,b)=gcd(b,a%b),所以有b*x1+(a%b)*y1=gcd(a,b),而a%b=a-(a/b)*b,代入之后得:a 阅读全文
posted @ 2019-04-07 15:38
Frank__Chen
阅读(286)
评论(0)
推荐(0)
摘要:
题目链接:https://ac.nowcoder.com/acm/contest/548/F 题意:简化题意之后就是求[1,n]中不能被[2,m]中的数整除的数的个数。 思路:简单容斥题,求[1,n]中不能被[2,m]中的数整除的数的个数,可以通过求能够被整除的数。 首先,[2,m]中的合数肯定能由 阅读全文
posted @ 2019-04-07 11:34
Frank__Chen
阅读(159)
评论(0)
推荐(0)
摘要:
昨天做了一个求[1,n]里能被[2,m]中的数整除的个数,就去搜容斥原理,找到一篇讲得特别好的博客,就转载了其中一部分过来。 转载:https://blog.csdn.net/m0_37286282/article/details/78869512 关于集合的原理公式 上述描述的公式形式可以表示如下 阅读全文
posted @ 2019-04-07 10:47
Frank__Chen
阅读(2143)
评论(0)
推荐(0)

浙公网安备 33010602011771号