组合计数
等我学会后缀自动机
侠影之谜
展开
-
CodeForces 214D Numbers (DP+组合数学+前导零的细节)
#include<bits/stdc++.h>using namespace std;#define debug puts("YES");#define rep(x,y,z) for(int (x)=(y);(x)<(z);(x)++)#define ll long long#define lrt int l,int r,int rt#define lson l,m...原创 2020-04-19 19:33:37 · 197 阅读 · 0 评论 -
CodeForces 1260F Colored Tree (树剖+计数思维+一点点DP思维)
#include<bits/stdc++.h>using namespace std;#define debug puts("YES");#define rep(x,y,z) for(int (x)=(y);(x)<(z);(x)++)#define ll long long#define lrt int l,int r,int rt#define lson l,m...原创 2020-04-10 11:35:25 · 174 阅读 · 0 评论 -
CodeForces 611C New Year and Domino (DP+组合容斥)
题目链接:http://codeforces.com/problemset/problem/611/C题目大意给定一个二维字符矩阵,和若干个查询,每次查询问子矩阵中可以有多少种1x2或是2x1矩阵的摆放方式题目分析 先考虑DP转移方程,DP[i][j]表示(1,1),(i,j)矩阵中可以有多少种摆放方式,状态转移:DP[i][j]=DP[i-1][j]+DP[i][j-1...原创 2019-02-25 22:51:23 · 196 阅读 · 0 评论 -
CodeForces 451E Devu and Flowers (容斥+组合)
题目链接:http://codeforces.com/problemset/problem/451/E#include<bits/stdc++.h>using namespace std;#define debug puts("YES");#define rep(x,y,z) for(int (x)=(y);(x)<(z);(x)++)#define ll lon...原创 2019-02-10 00:06:04 · 189 阅读 · 0 评论 -
HDU 5791 Two (序列DP+组合数学)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5791#include<bits/stdc++.h>using namespace std;#define debug puts("YES");#define rep(x,y,z) for(int (x)=(y);(x)<(z);(x)++)#define ll lon...原创 2019-01-31 20:32:28 · 130 阅读 · 0 评论 -
HDU 5794 A Simple Chess (DP+lucas定理)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5794#include<bits/stdc++.h>using namespace std;#define debug puts("YES");#define rep(x,y,z) for(int (x)=(y);(x)<(z);(x)++)#define ll lon...原创 2019-01-31 15:40:10 · 187 阅读 · 0 评论 -
Educational Codeforces Round 57 (Rated for Div. 2) F. Inversion Expectation(组合数学+期望)
题目链接: http://codeforces.com/contest/1096/problem/F#include<bits/stdc++.h>using namespace std;#define debug puts("YES");#define rep(x,y,z) for(int (x)=(y);(x)<(z);(x)++)#define ll long...原创 2019-01-31 15:17:56 · 134 阅读 · 0 评论 -
HRBUST 1846 方格涂色 (DP+递推)
#include<bits/stdc++.h>using namespace std;#define debug puts("YES");#define rep(x,y,z) for(int (x)=(y);(x)<(z);(x)++)#define ll long long#define lrt int l,int r,int rt#define lson l...原创 2018-12-04 00:07:53 · 522 阅读 · 0 评论 -
HDU 6430 Problem E. TeaTree (动态倍增LCA+DFS序性质+gcd计数技巧)*
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6430#include<bits/stdc++.h>using namespace std;#define debug puts("YES");#define rep(x,y,z) for(int (x)=(y);(x)<(z);(x)++)#define ll uns...原创 2018-11-18 11:19:49 · 133 阅读 · 0 评论 -
CodeForces 571A Lengthening Sticks (组合数学)
题目链接:http://codeforces.com/problemset/problem/571/A#include<bits/stdc++.h>using namespace std;#define debug puts("YES");#define rep(x,y,z) for(int (x)=(y);(x)<(z);(x)++)#define ll lon...原创 2018-11-24 06:40:45 · 168 阅读 · 0 评论 -
Gym 101981J Prime Game (组合计数)
题目链接:http://codeforces.com/gym/101981/attachments#include<bits/stdc++.h>using namespace std;#define debug puts("YES");#define rep(x,y,z) for(int (x)=(y);(x)<(z);(x)++)#define ll unsig...原创 2018-11-20 22:19:31 · 481 阅读 · 0 评论 -
HDU 6363 bookshelf (莫比乌斯反演+组合+斐波那契性质)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6363#include<bits/stdc++.h>using namespace std;#define debug puts("YES");#define rep(x,y,z) for(int (x)=(y);(x)<(z);(x)++)#define ll lon...原创 2018-11-07 22:40:08 · 189 阅读 · 0 评论 -
ZOJ 4029 Now Loading!!! (前缀和加速+二分)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4029#include<bits/stdc++.h>using namespace std;#define debug puts("YES");#define rep(x,y,z) for(int (x)=(y);(x)<(z);(x...原创 2018-11-01 14:33:28 · 271 阅读 · 0 评论 -
Codeforces 439E Devu and Birthday Celebration (容斥定理+组合)
题目链接:http://codeforces.com/problemset/problem/439/E#include<bits/stdc++.h>using namespace std;#define debug puts("YES");#define rep(x,y,z) for(int (x)=(y);(x)<(z);(x)++)#define ll lon...原创 2018-10-30 20:24:46 · 195 阅读 · 0 评论 -
UVA 1510 Neon Sign (计数+思维)*
题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4256#include<bits/stdc++.h>using namespace std;#define debug puts("YES");#...原创 2018-10-27 20:30:38 · 153 阅读 · 0 评论 -
CodeCraft-19 and Codeforces Round #537 (Div. 2) D. Destroy the Colony(组合数学+退背包)
题目链接:http://codeforces.com/contest/1111/problem/D题目大意:这道题题目意思比较模糊。给定一个字符串,不同字符代表不同种类的坏人,现在给定若干个询问,每个询问给两个下标,要求把给定位置上的两个(或一个)类型的人放到同一边,并且其他相同种类的人均在同一边的方案数。题目分析: 首先考虑不加限制的计数方案,就是说不考...原创 2019-02-23 18:01:26 · 251 阅读 · 0 评论 -
HDU 5738 Eureka (组合计数+map数据结构的使用+暴力)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5738题目大意:给定二维平面上若干个点,要求计算满足条件的集合P的数量,其中集合P需要满足条件,该集合中存在一个点对,其约束关系如题干所述。题目分析: 简单换算下不难发现其需要找若干个点共线的集合,该集合至少两个点。该题没什么好方法,只有暴力,,虽然我不大懂这题最坏复杂...原创 2019-02-24 22:30:18 · 175 阅读 · 0 评论 -
2019 西安邀请赛 And And And(计数+树形DP)
题目链接:https://www.jisuanke.com/contest/2625#include<bits/stdc++.h>using namespace std;#define debug puts("YES");#define rep(x,y,z) for(int (x)=(y);(x)<(z);(x)++)#define ll long long#...原创 2019-05-26 19:52:47 · 205 阅读 · 0 评论 -
HYSBZ 1008 越狱 (组合数学+DP)
考虑前两个,如果两个一样,那么就是m^(n-1),不一样的话就是f(n-1),式子:f(n)=f(n-1)*(m-1)+m^(n-1),不难凑出:(f(n)-m^n)=(f(n-1)-m^(n-1))(m-1).f(2)为m.#include<bits/stdc++.h>using namespace std;#define debug puts("YES"...原创 2019-05-12 19:39:25 · 142 阅读 · 0 评论 -
HDU 5894 hannnnah_j’s Biological Test (组合数学)
题目大意给定n,m,k,表示有n个桌子,m个人,每个人之间相距不小于k,问这样组合的方案数.题目分析因为是圆形的排布,我们先选定一个起点,即指定一个位置放人,我们现在可以把一个人和下面k个空位当成一个,那么剩下的就是m-1个人和n-k*m-1个空位可供选择,直接组合数C(n-m*k-1,m-1)来选择即可.我们可以对任何一个位置这样做,所以要乘上n,...原创 2019-05-11 19:14:43 · 226 阅读 · 0 评论 -
CodeForces 630G Challenge Pennants (组合数学+DP)
暴力DP过的,题意有点迷,反正看了题解的翻译意思是n个桌子5个a类气球3个b类气球问读诵好中摆放方式.#include<bits/stdc++.h>using namespace std;#define debug puts("YES");#define rep(x,y,z) for(int (x)=(y);(x)<(z);(x)++)#define ll l...原创 2019-05-07 20:22:40 · 167 阅读 · 0 评论 -
CodeForces 630H Benches (组合计数)
题目链接:http://codeforces.com/problemset/problem/630/H#include<bits/stdc++.h>using namespace std;#define debug puts("YES");#define rep(x,y,z) for(int (x)=(y);(x)<(z);(x)++)#define ll lon...原创 2019-05-07 17:25:43 · 133 阅读 · 0 评论 -
CodeForces 630I Parking Lot (组合计数)
题目链接:http://codeforces.com/problemset/problem/630/I#include<bits/stdc++.h>using namespace std;#define debug puts("YES");#define rep(x,y,z) for(int (x)=(y);(x)<(z);(x)++)#define ll lon...原创 2019-05-07 17:24:21 · 260 阅读 · 0 评论 -
HDU 6146 Pokémon GO (组合数学+DP)
需要用dp的思想去找状态,我们先维护出从一端开始的情况,还是可以分成两种情况,一种是回到原来位置,另一种是不是,很明显要想最后回到原来位置,每次都要往前步进,计数为2的长度幂次,下面就是不回到原点了,一种是直接下一步把当前位置再走掉然后状态这里就开始切分,得到了一个F(n-1),其中F函数其实就是我们本来在维护的含义,即f(n,0)+f(n,1).那么可以得出:f(n,1)=2*(f(n...原创 2019-05-14 12:08:29 · 134 阅读 · 0 评论 -
CodeForces 888D Almost Identity Permutations (组合数学)
#include<bits/stdc++.h>using namespace std;#define debug puts("YES");#define rep(x,y,z) for(int (x)=(y);(x)<(z);(x)++)#define ll long long#define lrt int l,int r,int rt#define lson ...原创 2019-05-19 06:27:28 · 198 阅读 · 0 评论 -
HDU 6513 Reverse It(组合数学+消去重复度)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6513题目大意给定一个01矩阵,现在可以选择至多两个子矩阵把值进行转换(0-1,1-0),问能产生总共多少种不同的花纹数.题目分析首先考虑两个子矩阵和一个子矩阵,不难发现一个子矩阵就是:C(n+1,2)*C(m+1,2),因为n个长度其格点有n+1个.而两个子...原创 2019-05-01 23:09:23 · 285 阅读 · 0 评论 -
Educational Codeforces Round 62 (Rated for Div. 2) E. Palindrome-less Arrays(组合+DP+思维)
题目链接:http://codeforces.com/contest/1140/problem/E题目大意给定一个序列其中有若干个-1值,-1值可填的数是1到k,然后定义一个奇回文,长度不为1且是奇数的回文串,问原序列中不含奇回文的子串的组合数是多少。题目分析这道题我看题解的初步提示才反应过来。。。还是蛮思维的,由于是奇数回文,刚开始想情况比较多比较复杂,但是可以发...原创 2019-03-31 01:26:24 · 137 阅读 · 0 评论 -
POJ 1240 Pre-Post-erous! (递归+组合数学)
题目链接:http://poj.org/problem?id=1240题目大意给定两个m叉树的先序排列和后序排列,问能有多少种可能的树使得这个序列合法。题目分析递归+组合数学。设定状态:(l1,r1,l2,r2),那么我们不难发现l1下标对应的数在第二个区间中出现的下标为L3,那么这样状态就可以划分了,明显(l1+1,l1+l3-l2,l2,l2,l3-1)是一个...原创 2019-03-03 11:40:52 · 386 阅读 · 0 评论 -
HDU 3398 String (组合数学+数论思维)*
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3398题目大意一个串中恰好有n个1和m个0,问满足这样条件的字符串有多少种,其任意前缀中1的数量不少于0的数量。题目分析组合问题,画出n*m的二维矩阵,构造一个串对应着从(0,0)到(n,m)的一个路径,而任意前缀中1的数量不少于0,意味着路径不与y=x+1这条直线相交...原创 2019-03-02 12:13:31 · 195 阅读 · 0 评论 -
HDU 4908 BestCoder Sequence (计数问题)水
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4908#include<bits/stdc++.h>using namespace std;#define debug puts("YES");#define rep(x,y,z) for(int (x)=(y);(x)<(z);(x)++)#define ll lon...原创 2018-10-27 13:53:31 · 108 阅读 · 0 评论 -
牛客网练习赛27 E 欧拉(积性函数)
题目链接:https://www.nowcoder.com/acm/contest/188/E#include<bits/stdc++.h>using namespace std;#define debug puts("YES");#define rep(x,y,z) for(int (x)=(y);(x)<(z);(x)++)#define read(x,y) ...原创 2018-09-27 18:46:42 · 221 阅读 · 0 评论 -
HDU 5663 Hillan and the girl (莫比乌斯反演+组合性质)好题
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5663#include<bits/stdc++.h>using namespace std;#define debug puts("YES");#define rep(x,y,z) for(int (x)=(y);(x)<(z);(x)++)#define read(x...原创 2018-09-27 17:11:22 · 222 阅读 · 0 评论 -
HDU 5382 GCD?LCM? (组合数学+筛法)*
GCD?LCM! Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 371 Accepted Submission(s): 233 Problem Description First we...原创 2018-08-30 06:45:34 · 447 阅读 · 0 评论 -
HDU 5147 Sequence II (树状数组计数)
Sequence IITime Limit: 5000/2500 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1435 Accepted Submission(s): 596 Problem DescriptionLong long ago, there i...原创 2018-09-04 12:20:50 · 295 阅读 · 0 评论 -
HDU 4661 Message Passing (树形DP+组合数学知识+拓扑排序计数思维)*
Message PassingTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 1461 Accepted Submission(s): 541 Problem DescriptionThere are n peo...原创 2018-08-29 17:58:31 · 363 阅读 · 0 评论 -
HDU 5399 Too Simple (数学规律+模拟细节)
Too Simple Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 1903 Accepted Submission(s): 626 Problem Description Rhason...原创 2018-09-04 07:50:26 · 180 阅读 · 0 评论 -
HDU 4675 GCD of Sequence (莫比乌斯反演第二种形式+组合数学)*
GCD of SequenceTime Limit: 6000/3000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)Total Submission(s): 1979 Accepted Submission(s): 701 Problem DescriptionAlice is playing a...原创 2018-08-24 14:37:42 · 272 阅读 · 0 评论 -
UVA 10325 The Lottery (容斥原理)
The Sports Association of Bangladesh is in great problem with their latest lottery ‘Jodi laiga Jai’. There are so many participants this time that they cannot manage all the numbers. In an urgent meet...原创 2018-08-17 08:08:09 · 212 阅读 · 0 评论 -
HDU 4602 Partition (计数方法+组合知识)*
PartitionTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3582 Accepted Submission(s): 1402 Problem DescriptionDefine f(n) as the numb...原创 2018-08-26 16:11:41 · 168 阅读 · 0 评论 -
HDU 6397 Character Encoding(容斥定理)
Character EncodingTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 949 Accepted Submission(s): 361 Problem DescriptionIn computer sc...原创 2018-08-16 15:04:08 · 274 阅读 · 0 评论