容斥
文章平均质量分 83
九野的博客
这个作者很懒,什么都没留下…
展开
-
codeforce 374A 网格图最短路走法
题意:给定 n m 大的网格图起点 s.x s.ya b表示每次移动时 x y 的变化 (即:step[0][0] = -a; step[0][1] = -b;step[1][0] = +a; step[1][1] = -b;step[2][0] = -a; step[2][1] = +b;step[3][0] = +a; step[3][1] = +b;)问:原创 2013-12-19 10:28:56 · 2582 阅读 · 0 评论 -
HDU 3970 Harmonious Set 容斥欧拉函数
链接题解:www.cygmasot.com/index.php/2015/08/17/hdu_3970给定n 求连续整数[0,n), 中任意选一些数使得选出的数和为n的倍数的方法数。。。并不会如何递推。。思路:然后这是公式:点击打开链接a(n) = 1/n * sum_{d divides n and d is odd} 2^(n/d) * phi(原创 2015-08-17 22:17:45 · 2666 阅读 · 1 评论 -
Codeforces 547C Mike and Foam 容斥
题目链接:点击打开链接题意:给定n个数,q个操作下面n个数 a1-an开始有一个空的集合每个操作一个数字 u (1每个操作结束后输出 当前集合内有多少对数 是互质的。思路:分解质因素,然后容斥一下求 与a[u] 不互质的个数,做个差即可。#include #include #include #include #include #原创 2015-05-27 23:18:57 · 1535 阅读 · 1 评论 -
POJ 2773 Happy 2006 二分+容斥(入门
题目链接:点击打开链接题意:输入n ,k 求与n互质的第k个数(这个数可能>n)思路:solve(mid)表示[1,mid]中有多少个和n互质,然后二分一下最小的mid 使得互质个数==k#include #include #include #include #include #include #include #include #include原创 2015-04-09 22:00:57 · 1159 阅读 · 0 评论 -
HDU 4135 Co-prime 区间内与n互质的个数 容斥(入门
题目链接:点击打开链接题意:给定区间[l, r] 询问区间内有多少个数和n互质思路:solve(x) 表示[1,x]区间内与n互质的个数,则ans = solve(r)-solve(l-1);与n互质的个数=所有数-与n不互质的数=所有数-(与n有一个因子-与n有2个因子的+与n有3个因子的)状压n的因子个数,然后根据上面的公式容斥得到。#include原创 2015-04-09 21:19:37 · 1165 阅读 · 0 评论 -
HDU 1796 How many integers can you find 容斥(入门
题目链接:点击打开链接题意:给出常数n, m个数的集合。问:[0, n-1] 中有多少个数 是集合中 某个数的倍数。思路:求的是有多少个数至少被集合中一个数整除=能被集合中一个数整除-被2个整除+被3个整除···#include #include #include #include #include #include #include #i原创 2015-04-07 19:36:46 · 1028 阅读 · 0 评论 -
POJ 3695 Rectangles 1w询问求20个矩阵面积并 容斥
题目链接:点击打开链接 一个详细的题解:点击打开链接题目大意是给出若干个矩形(n 每个询问会给出一些矩形的编号,问这些矩形的面积并有多大谈到矩形并,也许第一反应都是线段树但是此题有一个特点,就是n非常小,m却非常大用线段树很有可能会不行于是换个思路,n很小,我们可以把所有的可能组合情况都考虑到,然后呢预处理出来,这样询问时就是O(1)的查原创 2015-04-07 21:32:13 · 1049 阅读 · 0 评论 -
Codeforces 296B Yaroslav and Two Strings dp+容斥(入门
题目链接:点击打开链接题意:给出长度为n的2个数字串S ,T(有些位置为?表示可以随便填数字)求:有多少种填充方式使得 S[i]>T[i] && S[j] 思路:先求出ans表示所有填充方式,ans = 10^num, num为2个串?的总个数dp[0][i]表示长度为i 且对于任意的 j( 1dp[1][i] 表示 S[j]==T[j]dp[2[i] 表示 S[j原创 2015-04-05 22:09:10 · 1179 阅读 · 0 评论 -
FOJ 2150 在二维草地上点火烧完所有草最少时间 BFS+图论+容斥
题意:给定一个平面图 . 为空地(不着火) # 为草开始可以选1-2个草堆点燃,每隔一秒会把上下左右的草引燃(开始时间为0秒)问把所有草烧光的最少时间 #include#include#include#include#include#include#includeusing namespace std;#define N 12int f原创 2013-12-22 23:03:20 · 2361 阅读 · 0 评论 -
HDU 5072 Coprime 2014 Asia AnShan Regional Contest 容斥
#include #include #include #include #include using namespace std;/////template inline bool rd(T &ret) { char c; int sgn; if(c=getchar(),c==EOF) return 0; while(c!='-'&&(c'9')) c=getchar();原创 2014-10-27 09:32:05 · 1455 阅读 · 0 评论 -
ZOJ Monthly, October 2010 ABEFI
ZOJ 3406Another Very Easy Task#include #include const int N = 100005;char s[N];int main() { bool f = 0; int size = 0; char ch; while(scanf("%c", &ch)!=EOF) { if( !(ch >= 'a' && c原创 2014-07-07 23:59:26 · 1355 阅读 · 0 评论 -
ural 1932 The Secret of Identifier 容斥
题目链接:点击打开链接stl+容斥#include #include #include #include #include #include using namespace std;#define N 65540#define ll __int64ll n;ll a[N][4], mul[4]={1,16,256,4096};ll h[N];vectorG[N];原创 2014-06-29 18:43:51 · 1112 阅读 · 0 评论 -
CodeForces 23C Oranges and Apples 抽屉原理
题目链接:点击打开链接#include #include #include #include #include #include #include #include using namespace std;#define inf 10000000#define ll __int64#define N 200005ll n, m, v;struct node{原创 2014-07-01 09:57:32 · 1171 阅读 · 0 评论 -
Codeforces 414C Mashmokh and Reverse Operation 归并排序在线求交换序列后逆序数
题目链接:http://codeforces.com/contest/414/problem/C先复制一个思路:解法:2^n个数,可以联想到建立一棵二叉树的东西,比如 2,1,4,3就可以建成下面这样 [2,1,4,3] le原创 2014-04-08 18:14:33 · 2495 阅读 · 0 评论 -
Codeforce 337D 容斥+树形dp
题意:给定n个点的树 m个点中有小怪物 距离lm个点 表示该点有小怪物n-1表示树有一个u点存在大怪物,会把距离u点 告诉那些v点, 问所有可能的u点个数即:问树中 距离M点集 思路: #include #include #include #include #include #include #include #include原创 2013-12-21 14:01:39 · 1774 阅读 · 0 评论 -
POJ 1741 点分治
题意:给定n个点的树, K值下面n-1条边问 两点之间距离 采用点分治,无根树转有根树时 根为树的重心(可以把树高度降低,防止树退化成链)思路:对于一棵 以u为根的树以下我们成(a,b)为合法点对(即dist(a,b) (a, b) 之间路径是唯一确定的。 将点对分2类:1、两点间路径经过 u 点2、两点间路径不经过u点 = 两点都在u的同一子树原创 2013-11-22 22:59:46 · 1960 阅读 · 0 评论