容斥
gjghfd
这个作者很懒,什么都没留下…
展开
-
codeforces548E Mike and Foam -- 容斥
先对所有数质因数分解。显然相同的质因数可以看成一个。这样一个数最多只有 66 个质因数。 维护 sis_i 表示 ii 当前是多少个数的因数。加入数 xx 时枚举它的所有因数,容斥一下就可以了。 时间复杂度O(26×q)O(2^6\times q)。代码#include<cmath> #include<cstdio> #include<cstring> #include<iostream> #i原创 2017-08-20 14:43:48 · 260 阅读 · 0 评论 -
Codechef June Challenge 2014 #Sereja and Arcs -- 容斥 + 阈值 + 树状数组
传送门题目大意数轴上有 nn 个点,给你每个点的坐标和颜色。相同颜色的每对点A(x,0),B(y,0)A(x,0),B(y,0)会产生一个直径为ABAB的圆。求有多少对颜色不同的圆相交。容斥。将问题转化为求有多少对颜色不同的圆不相交。 将相同颜色的点用同一个字母表示,那么只有AABBAABB和ABBAABBA是满足条件的。考虑AABBAABB的情况: 从左到右枚举每个点作为右端点。O(n)O(n原创 2017-08-15 15:27:15 · 595 阅读 · 0 评论 -
[ Lucas定理 数位DP 容斥 ] 「2015 计蒜之道 复赛」360的产品试用体验
题解#include<bits/stdc++.h> using namespace std; const int M=47; typedef long long ll; int k,T,m,p[3]; int f[20][3][8][150]; ll a[5],l[5],r[5],n; int A[3][20],B[20]; int w[20],cnt,Ans; int mx[3][20]; int原创 2017-12-15 17:55:28 · 269 阅读 · 0 评论 -
[ 容斥 斯特林数 ] Codeforces715E Complete the Permutations
题解 #include<bits/stdc++.h> using namespace std; const int N=510; const int P=998244353; int k,n,m,x; int nx[N],d[N]; int c[N][N],p[N][N],s[N][N]; int a,b,cl,bl; int f[N],g[N],h[N],Ans[N]; boo...原创 2018-03-10 10:05:19 · 402 阅读 · 0 评论