acm_组合
文章平均质量分 52
lshacm
这个作者很懒,什么都没留下…
展开
-
《浅谈容斥原理》笔记
容斥原理作用:求集合中满足性质P1,P2...Pn的元素集合的并/交求至少不满足性质P1,P2...Pn中一个的元素集合的并例题(游戏):无向图染色方案:共m种颜色,同一连通块染同种颜色,不同连通块不同颜色。Kn(n点完全图),取遍Kn边集S,f(S)=给子图的染色方案数。|S|=偶数时,A得f(S)分,|S|=奇数时,B得f(S)分,求scoreA-scoreB做法:首先,答案可原创 2015-01-02 15:44:17 · 749 阅读 · 0 评论 -
UVA 10294 Arif in Dhaka (First Love Part 2)(等价类)
题意:用k中不同的颜色涂n个环上的点。 等价类1:旋转任意个点 等价类2:旋转任意个点+以任意对称轴翻转 求两个等价类数目原创 2015-05-15 01:28:40 · 370 阅读 · 0 评论 -
UVALive 3641 Leonardo's Notebook(置换)
题意:判断置换B能够表示成某置换的平方的形式 解法: 1.将置换循环分解。可以发现当A是偶数个元素的循环(2*n)时,A^2变成大小为n的两个循环的乘积;当A时奇数个元素的循环(2*n+1)时,A^2变成大小为2*n的新循环 因此将B分解成若干循环后: 偶数个元素的循环个数是偶数<=> B能够表示成某置换的平方的形式原创 2015-05-15 02:04:21 · 324 阅读 · 0 评论 -
uva1350 Pinary(递推)
题意:求第k大的无前导0和连续1的二进制数 解法:递推+二分查找原创 2015-05-04 15:37:56 · 290 阅读 · 0 评论 -
uva 1485 Permutation Counting(递推)
关键词:递推、交换法!!!题意:求满足条件的1-n排列a[1,2…n]个数 条件:恰有k个数,满足a[i]>i 解法:递推原创 2015-05-06 19:03:30 · 314 阅读 · 0 评论 -
hdu4405 Aeroplane chess(期望dp)
题意:已知起点(0)和可选步数(1,2…6),每次选择一种走法。且存在一些点之间连通,可以直达。 求第一次大于等于n的期望步数。 解法:简单的期望dp原创 2015-05-27 01:25:01 · 293 阅读 · 0 评论 -
zoj3329 One Person Game(期望dp)
关键词:期望dp,待定系数法 题意:已知有三个骰子,分别有k1,k2,k3个面。一开始cnt=0.。当骰子掷为a,b,c时,cnt归零,否则将三个数的和加入cnt。求第一次cnt>n的时,掷筛子的期望次数。原创 2015-05-27 01:06:54 · 276 阅读 · 0 评论 -
poj2096 Collecting Bugs(概率dp)
关键词:期望dp——剩余状态题意:每次在n个程序中的某一个中找出s种bug中的一种。程序和bug种类的选择都是随机的。求至少每个程序中都找到一个bug且s种bug都找到的期望步数。原创 2015-05-27 00:09:18 · 294 阅读 · 0 评论 -
UVA11605 Lights inside a 3d Grid(概率公式)
题意:已知n*m*p的立方体的每个格点有一个灯泡,初始灯泡都熄灭。每次随机选一个格点A(x1,y1,z1),再随机选一个格点B(x2,y2,z2),将满足min(x1,x2)=<x<=max(x1,x2)min(x1,x2)=<x<=max(x1,x2),y,z坐标类似条件的个点内灯泡状态全部改变,求k次随机选择后灯泡亮数的期望。原创 2015-06-02 09:39:49 · 352 阅读 · 0 评论 -
URAL1091 Tmutarakan Exams
关键词:求前s个数中k个gcd为1的数的组数 题意:求k个数a1,a2…ak,使得gcd(a1,a2…ak)>1的数的组数,其中1=< ai<=s。 解法:容斥原理。原创 2015-04-29 02:11:57 · 365 阅读 · 0 评论 -
hdu5072 互素数对统计
关键词:统计n个数种与x互素/不互素的个数题意:求n个数中两两不互素或两两互素的三元组数目称满足上述性质的三元组为P三元组解决非P三元组的计数问题有两种方法。法一:先求出数组中与每个a[i]互素的个数f[i],这个最后再求。假设f[i]已知,我们用正难则反的思路求P三元组数目。任意一个非P三元组都既存在互素,又存在不互素的数对,因此我们可以对每个a[i],从数组中找出与a[i]互素原创 2015-01-12 11:27:50 · 520 阅读 · 0 评论 -
生成函数小结
1.指数型生成函数 排列型分配问题问题:求k个不同元素的有条件n排列数 解法:求出相应的指数型生成函数,找xnx^n系数 拓展问题1:求n个不同的小球放入k个不同的盒子中的方法数原创 2015-08-06 20:41:06 · 583 阅读 · 0 评论 -
zoj 4013 Counting Factor Trees
计算不同“因子树”的个数 分解为两种计数模型:二叉树计数+可重复排列原创 2015-08-22 18:19:36 · 406 阅读 · 0 评论 -
置换及其应用
1.置换的定义:n个元素的全排列/一一映射原创 2015-08-07 21:21:25 · 2467 阅读 · 0 评论 -
UVA 11077 Find the Permutations(置换)
题意:给出1-n的排列,可以通过两两交换变成1,2…n。统计有多少个排列至少交换k次才能变成1,2…n原创 2015-05-15 08:58:12 · 271 阅读 · 0 评论 -
hdu4135 Co-prime(互素统计)
题意:统计[l,r]中与m互素的数的个数原创 2015-04-28 22:38:03 · 291 阅读 · 0 评论 -
poj2773 Happy 2006
题意:求第K个与m互素的数 解法一:二分答案。不断计算前K个数与m互素的数的个数(m*logm),通过二分(logINF)可以找到答案。 复杂度:O(log(INF)*m*log(m))解法二:找出前m个数中与m互素的数(m*logm),并统计个数num。(K/num)*m+prime[K%num]即为答案 复杂度:O(m*logm)#include<stdio.h>原创 2015-04-29 00:12:32 · 278 阅读 · 0 评论 -
m*n格填数方案
n*m格子每行和列至少填一格,求填格方案总数关键词:容斥原理、模运算乘法溢出Si设为i行不填数的方案,则:根据容斥原理:si和tj的交集元素个事容易计算,因此容易得到计算公式#include#include#include#include#include#include#include#include#define ll long long#def原创 2015-01-03 22:51:51 · 492 阅读 · 0 评论 -
组合数模p
求C(n,m)%p,p为质数原创 2015-04-29 16:28:49 · 563 阅读 · 0 评论 -
hdu2841 Visible Trees(容斥原理)
题意:从(0,0)处能看到n*m矩阵中的多少个点 解法:题意即为求∑ni=1∑mj=1[gcd(i,j)==1]\sum_{i=1}^{n}\sum_{j=1}^{m}[gcd(i,j)==1] 详细化简过程见数论笔记本,数论11题博客中有此模型解答。原创 2015-05-08 23:56:16 · 309 阅读 · 0 评论 -
poj3904 Sky Code(容斥原理)
关键词:容斥原理、莫比乌斯函数 题意:n个数中gcd为1的4数对(a1,a2,a3,a4)的组数 解法:ApA_{p}:最大公约数是p的倍数的4数对组数 ans=|∩(!Api)||∩(!A_{pi})|,pi是n个数中的所有质因子。原创 2015-05-09 00:35:50 · 372 阅读 · 0 评论 -
hdu4407 Sum(容斥原理)
题意:已知序列1,2…n。存在两个操作 1,x,y,p:统计[x,y]位置区间内有多少个元素与p互素 2,x.c:将x位置上的数改成c n<=400000,操作数m<=1000 解法:由于操作数较小,所以先处理未操作的结果,然后再考虑数字置换后结果的该变量。原创 2015-05-09 01:47:59 · 334 阅读 · 0 评论 -
UVALive 5072 Find the Multiples(计数)
题意:统计在长度为n的序列中有多少个连续子序列,使得素数p能够整除它。原创 2015-04-30 01:06:21 · 254 阅读 · 0 评论 -
uva11645 Bits(数位统计)
题意:统计1-n的所有二进制表示中”11”出现的次数 解法:与统计k进制中x出现的次数方法类似 注:此题结束输入的方式是输入一个负数,而不是-1,一开始没仔细看题目描述,判断条件出错,无限TLE…#include <stdio.h>原创 2015-05-12 01:23:22 · 244 阅读 · 0 评论 -
hdu1796 How many integers can you find(整除个数统计)
关键词:整除个数统计 题意:统计[1,n)中能够被a[1…m]中至少一个整除的数的总数 m<=10原创 2015-04-28 21:56:22 · 289 阅读 · 0 评论 -
uva 10883 Supermean
关键词:取对数计算分式防溢出题意:n个数a[0,1...n-1]每相邻两个数相加得到n-1个数,再次相邻两个数相加得到n-2个数,直到得到一个数为止,求最后得到的数字。n<=5000原创 2015-05-04 00:17:25 · 294 阅读 · 0 评论 -
uva11038 How Many O's? 数位dp
关键词:数位dp、求前缀和、换角度求和、统计1-m所有数位中0的个数题意:统计[m,n]所有数中0的个数原创 2015-04-28 16:19:00 · 306 阅读 · 0 评论 -
uva 1393 Highways
关键词:两次dp:**固定端点->不固定端点**、矩形dp题意:在n*m矩阵中有多少条至少穿过两个格点的非水平非竖直的直线解法:DP原创 2015-05-04 00:27:49 · 379 阅读 · 0 评论 -
uva11481 Arrange the Numbers(错位排列)
关键词:错位排列 题意:求1-n的条件排列个数 条件为:前m个数中有恰k个数满足a[i]==i 解法:递推。原创 2015-05-07 19:00:34 · 477 阅读 · 0 评论 -
uva12075 Counting Triangles
关键词:三点共线组数、两次DP 题意:求n*m格点中三角形个数 解法:转化为求n*m格点中三点共线组数——两次DP原创 2015-05-04 01:54:54 · 358 阅读 · 0 评论 -
期望求解
1.hdu5036 Explosion 题意:一个有向图,每次随机选择一点遍历所有可达的点,直到无点可走时,再随机选择一点重复上述操作,问可以遍历图中所有的点的选择的起点数量的期望值。原创 2015-09-23 08:50:27 · 557 阅读 · 0 评论