
组合数学
文章平均质量分 71
synapse7
这个作者很懒,什么都没留下…
展开
-
UVa 11806 Cheerleaders (组合&逆向思维||容斥定理)
【题意】在一个n*m的区域内放k个棋子,第一排,最后一排,第一列,最后一列一定要放,求一共有多少种方法。【思路】正着想重复的情况太多,不妨反着思考。设ai表示有且仅有i条边上没有放的情况数,我们想要的显然是a1+a2+a3+a4,这就是所有不符合要求的情况,但是同样不好直接计算。但是有一个方便计算的:设si表示i条边上不能放,而其他的地方随便放的情况数,则有原创 2013-09-20 16:26:26 · 1348 阅读 · 0 评论 -
HDU 4497 GCD and LCM (数论&组合数学)
部分思路来自之前的一道题(UVa 10892)。解释下这里的6是怎么来的:设L/G=(p1^r1)*(p2^r2)*(p3^r3)…(pm^rm)又设x=(p1^i1)*(p2^i2)*(p3^i3)…(pm^im)y=(p1^j1)*(p2^j2)*(p3^j3)…(pm^jm)z=(p1^k1)*(p2^k2)*(p3^k3)…(pm^km)对于某个r,i、j、k里面一定有一个是r,并且一定有一个是0,所以i,j,k有一下3种情况:r 0 0 ,有C(3,1)种r 0 r ,有C(3,原创 2013-10-25 00:23:34 · 2526 阅读 · 0 评论 -
UVa 10994 Simple Addition (组合数学)
10994 - Simple AdditionTime limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=115&page=show_problem&problem=1935见代码。。/*0.016s*/#include原创 2013-11-27 00:58:49 · 1526 阅读 · 0 评论 -
UVa 10128 Queue (DP)
10128 - QueueTime limit: 3.000 secondshttp://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=115&page=show_problem&problem=1069既然有最优子结构,不妨从DP的角度来思考。有三个不同的维度:总人数N,从前看到的原创 2013-11-25 20:59:08 · 1273 阅读 · 0 评论 -
一些递推题目的求解经验
1. 确认:是否有和情况(n)相似的子情况(n-1,n-2,...)?2. 假设:规模为n-1,n-2,...的情况已经得到解决,情况数为f(n-1),f(n-2),...3. 分析:当规模扩大到n时,如何枚举出所有的情况,并且要确保对于每一种子情况都能用已经得到的数据解决。原创 2013-11-09 10:12:50 · 1181 阅读 · 0 评论 -
HDU 2050 折线分割平面 (递推)
折线分割平面http://acm.hdu.edu.cn/showproblem.php?pid=2050Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Problem Description我们看到过很多直线分割平面的题目,今原创 2013-11-09 10:08:13 · 2086 阅读 · 0 评论 -
HDU 2049 不容易系列之(4)——考新郎 (错排)
不容易系列之(4)——考新郎http://acm.hdu.edu.cn/showproblem.php?pid=2049Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Problem Description国庆期间,省城HZ刚原创 2013-11-09 10:00:30 · 1274 阅读 · 6 评论 -
HDU 2047 阿牛的EOF牛肉串 (递推)
阿牛的EOF牛肉串http://acm.hdu.edu.cn/showproblem.php?pid=2047Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Problem Description今年的ACM暑期集训队一共有1原创 2013-11-09 00:38:18 · 1603 阅读 · 0 评论 -
HDU 2044 一只小蜜蜂... (递推)
Problem Description有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行。请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数。其中,蜂房的结构如下所示。 Input输入数据的第一行是一个整数N,表示测试实例的个数,然后是N 行数据,每行包含两个整数a和b(0 Output对于每个测试实例,请输出蜜蜂从蜂原创 2013-11-08 23:35:59 · 1119 阅读 · 0 评论 -
全排列的编码与解码——康托展开 (附完整代码)
一、康托展开:全排列到一个自然数的双射X=an*(n-1)!+an-1*(n-2)!+...+ai*(i-1)!+...+a2*1!+a1*0!ai为整数,并且0 适用范围:没有重复元素的全排列二、全排列的编码:{1,2,3,4,...,n}的排列总共有n!种,将它们从小到大排序,怎样知道其中一种排列是有序序列中的第几个?如 {1,2,3} 按从小到大排列一共6个:原创 2013-11-23 15:48:49 · 8355 阅读 · 0 评论 -
UVa 10375 Choose and divide (组合数相除)
10375 - Choose and divideTime limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=115&page=show_problem&problem=1316The binomial coefficient C(m,原创 2013-11-04 18:02:10 · 1373 阅读 · 0 评论 -
POJ 3761 Bubble Sort (用反序表分析排列数)
http://poj.org/problem?id=37611. 先介绍反序表的概念:令bi(1比如说,排列5 9 1 8 2 6 4 7 3有反序表2 3 6 4 0 2 2 1 0(在1左边且大于1的有2个,在2左边且大于2的有3个,……)2. 关键结论:由1知,第1个元素的反序数取值范围是[0,n-1],第i个元素的反序原创 2013-12-03 12:57:57 · 1792 阅读 · 0 评论 -
HDU 4602 Partition (整数拆分&找规律&快速幂取模)
Partitionhttp://acm.hdu.edu.cn/showproblem.php?pid=4602Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Problem DescriptionDefine f(原创 2013-08-22 20:50:26 · 1208 阅读 · 0 评论 -
Codeforces Round #183 (Div. 1) / 303A Lucky Permutation Triple (强大的数学&想法题)
http://codeforces.com/problemset/problem/303/Awhen n is odd, A[i] = B[i] = iwhen n is even, there is no solution.why? If , then or just , where S = 0 + 1 + ... + n - 1 = n(n - 1) /原创 2014-03-15 12:35:29 · 1820 阅读 · 0 评论 -
Codeforces Round #120 (Div. 2) / 190D Non-Secret Cypher (计数&two pointers)
http://codeforces.com/contest/190/problem/D【神题必有神解】从这一题可大题了解two pointers算法的威力。/*1024ms,42062KB*/#includeusing namespace std;const int mx = 400005;int a[mx];map mp;/*数据例子:10 22 3原创 2014-03-12 19:54:31 · 1543 阅读 · 0 评论 -
使用STL输出组合序列 + UVa 441 Lotto
#includeusing namespace std;int a[140];bool ok[140];/*输出从n个数中选m个数的组合字典序以n=7,m=3为例首先构造ok=1110000然后ok的前一个排列为1101000再前一个排列为1100100...1100001然后是1011000...直到0000111*/void printfC(int n, int m原创 2014-02-13 00:05:39 · 1396 阅读 · 0 评论 -
POJ 2773 Happy 2006 (公式法 or 二分容斥定理)
http://poj.org/problem?id=2773首先看一个简单的方法:若K若K>phi(n),我们可以利用gcd(k'+λn,n)=gcd(k',n),将其转化为K具体代码如下:/*2355ms,3504KB*/#include const int maxn = 1000005;int num[maxn];int gcd(int a, in原创 2014-03-04 09:54:31 · 1457 阅读 · 0 评论 -
整数划分小记
一、简单介绍参加wiki页面:http://en.wikipedia.org/wiki/Partition_(number_theory)二、基本形式例题:POJ 3014 Cake Pieces and Plates题意:(m的n划分的总数)给你m个东西,放在n个相同的盒子中,且每个盒子可以放任意多,问有多少种放法。思路:记原创 2014-02-21 00:12:26 · 1370 阅读 · 0 评论 -
UVa 10910 Marks Distribution (可重复组合数)
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=1851注意中间结果会超int【这是个坑啊完整代码:/*0.015s*/#includeusing namespace std;long long原创 2014-02-25 14:45:20 · 855 阅读 · 0 评论 -
【ACM训练计划】 数论、组合数学 好题精选+解题报告
从放暑假前周sir给我讲了一个用polya计数法和burnside定理做的题目(pku2409)后,突然觉得组合数学挺有意思,然后从那时起到现在几乎都在做这类的题目。做到现在感觉这类题目的一些基本知识点都差不多有所了解了,水题也刷了不少,但还有很多难题自己实在是做不动,所以准备把这类题目先放一放,然后把前段时间做的水题整理一下(供以后的初学者参考,大牛就不要看了哈,都是水题)。剩下的比较难转载 2013-08-12 14:14:59 · 5077 阅读 · 0 评论 -
POJ 2229 Sumsets (递推&整数划分变形)
Sumsetshttp://poj.org/problem?id=2229Time Limit:2000MS Memory Limit:200000KBDescriptionFarmer John commanded his cows to search for different sets of numbers that sum to a原创 2013-11-02 10:51:44 · 1904 阅读 · 0 评论 -
铺瓷砖问题 HDU 2046 骨牌铺方格 + POJ 2663 Tri Tiling (递推)
骨牌铺方格http://acm.hdu.edu.cn/showproblem.php?pid=2046Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Problem Description在2×n的一个长方形方格中,用一个1× 2原创 2013-11-08 23:42:41 · 2384 阅读 · 0 评论 -
UVa 10105 Polynomial Coefficients(组合数学)
10105 - Polynomial CoefficientsTime limit: 3.000 secondshttp://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=115&page=show_problem&problem=1046The ProblemThe pro原创 2013-08-05 18:37:22 · 1277 阅读 · 3 评论 -
UVa 12208 How Many Ones Needed? (组合数学)
12208 - How Many Ones Needed?Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=onlinejudge&Itemid=99999999&category=244&page=show_problem&problem=3360水。完整代码:/*0原创 2013-11-17 15:55:41 · 2305 阅读 · 0 评论 -
HDU 2048 神、上帝以及老天爷 (递推&错排概率)
思路:1. N张字条的所有可能排列自然是N!(分母)。现在的问题就是求N张字条的错排数f(N)(分子)。首先我们考虑,如果前面N-1个人拿的都不是自己的票,即前N-1个人满足错排,现在又来了一个人,他手里拿的是自己的票。只要他把自己的票与其他N-1个人中的任意一个交换,就可以满足N个人的错排。这时有(N-1)*f(N-1)种方法。Besides,我们考虑,如果前N-1个人不满足错排,而第N个人把自己的票与其中一个人交换后恰好满足错排。这种情况发生在原先N-1人中,N-2个人满足错排,有且仅有一个人原创 2013-11-09 09:34:37 · 3534 阅读 · 1 评论 -
UVa 10940 Throwing cards away II (约瑟夫问题)
10940 - Throwing cards away IITime limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=115&page=show_problem&problem=1881Given is an ordered deck原创 2013-11-16 18:33:09 · 1506 阅读 · 0 评论 -
UVa 10098 Generating Fast (全排列生成)
10098 - Generating FastTime limit: 3.000 secondshttp://uva.onlinejudge.org/index.php?option=onlinejudge&page=show_problem&problem=1039Generating permutation has always been an important prob原创 2013-09-26 16:16:49 · 1206 阅读 · 0 评论 -
HDU 4254 A Famous Game (概率&组合数学公式)
x原创 2013-09-24 21:56:51 · 2280 阅读 · 0 评论 -
UVa 11401 Triangle Counting (组合计数)
11401 - Triangle CountingTime limit: 1.000 secondshttp://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=469&page=show_problem&problem=2396You are given n rods of leng原创 2013-10-09 09:37:18 · 926 阅读 · 0 评论 -
UVa 11538 Chess Queen (组合&分类)
11538 - Chess QueenTime limit: 2.000 secondshttp://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=469&page=show_problem&problem=2533You probably know how the game of原创 2013-10-09 09:23:56 · 862 阅读 · 0 评论 -
UVa 10303 How Many Trees? (卡特兰数&高精度)
10303 - How Many Trees?Time limit: 3.000 secondshttp://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=115&page=show_problem&problem=1244A binary search tree is a bina原创 2013-10-02 10:38:52 · 1243 阅读 · 0 评论 -
UVa 11076 Add Again (组合数学)
11076 - Add AgainTime limit: 3.000 secondshttp://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=467&page=show_problem&problem=2017Summation of sequence of integers is原创 2013-09-09 13:14:44 · 1482 阅读 · 0 评论 -
UVa 10943 How do you add? (组合数学)
10943 - How do you add?Time limit: 3.000 secondshttp://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=115&page=show_problem&problem=1884Larry is very bad at math - he u原创 2013-08-09 12:26:20 · 1156 阅读 · 0 评论 -
UVa 11609 Teams (组合数学)
11609 - TeamsTime limit: 1.000 secondshttp://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=467&page=show_problem&problem=2656In a galaxy far far away there is an anc原创 2013-09-09 14:27:29 · 1396 阅读 · 0 评论 -
Codeforces ABBYY Cup 3.0 / 316A1 316A2 Special Task(模拟&贪心&组合数学)
A1&A2. Special Taskhttp://codeforces.com/problemset/problem/316/A1http://codeforces.com/problemset/problem/316/A2time limit per test1 secondmemory limit per test256 megabytes原创 2013-08-13 21:37:33 · 1297 阅读 · 0 评论 -
UVa 10790 How Many Points of Intersection?(组合数学)
10790 - How Many Points of Intersection?Time limit: 3.000 secondshttp://uva.onlinejudge.org/index.php?option=onlinejudge&page=show_problem&problem=1731We have two rows. There are a dots on t原创 2013-08-06 16:53:21 · 1335 阅读 · 0 评论 -
UVa 729 The Hamming Distance Problem (全排列输出&小细节)
729 - The Hamming Distance ProblemTime limit: 3.000 secondshttp://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=670原创 2013-09-26 22:19:40 · 958 阅读 · 0 评论 -
POJ 1833 排列 (STL)
排列http://poj.org/problem?id=1833Time Limit: 1000MSMemory Limit: 30000KDescription题目描述: 大家知道,给出正整数n,则1到n这n个数可以构成n!种排列,把这些排列按照从小到大的顺序(字典顺序)列出,如n=3时,列出1 2 3,1 3 2,2 1 3,2 3原创 2013-09-28 21:40:34 · 2103 阅读 · 0 评论 -
HDU 2045 不容易系列之(3)—— LELE的RPG难题 (组合数学)
递推:f(n)=f(n-1)+2*f(n-2)证明:考虑长为n的串。若前n-1位组成的串合法,则由于首尾不同,再添加一位时,只有1种颜色可选;若前n-1位组成的串不合法(首尾相同),那么前n-2位组成的串必须合法(因为最终要组成的n位是合法的)。此时第n位有2种颜色可选。故f(n)=f(n-1)+2*f(n-2)。边界条件:f(1)=3,f(2)=f(3)=6。PS:可用特征方程得出n>3时f(n)的封闭形式f(n)=2^n+2*(-1)^n。完整代码:原创 2013-11-01 21:20:42 · 2095 阅读 · 2 评论 -
UVa 10519 !! Really Strange !! (递推)
10519 - !! Really Strange !!Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=115&page=show_problem&problem=1460思路:注意到题目所说“Every two are原创 2013-11-16 16:25:43 · 1098 阅读 · 0 评论