这是一道无比涨姿势的题目 首先总结一下这种输入几个数的题目, 一般不是递推就是数学题 显然,这道题用递推是无法做到O(n)的复杂度的 那我们就考虑这是一道数学题了 我已开始纠结在正向思维了,正向求好像确实不容易; 某牛的报告点醒了我,我们设符合条件的序列为x,不符合的为y 则x+y=c(n+m,n); 现在我们只要求出y即可 然后弱渣的我又卡住了, 还是大牛的报告引用:我们不妨将0看做-1,那么对
转载 2014-05-04 22:06:00
43阅读
2评论
1856: [Scoi2010]字符串Time Limit: 5 SecMemory Limit: 64 MBSubmit: 799Solved: 415[Submit][Status]Descriptionlxhgww最近接到了一个生成字符串的任务,任务需要他把n个1和m个0组成字符串,但是任务还... Read More
转载 2014-09-16 10:33:00
71阅读
2评论
1856: [Scoi2010]字符串 Description lxhgww最近接到了一个生成字符串的任务,任务需要他把n个1和m个0组成字符串,但是任务还要求在组成的字符串中,在任意的前k个字符中,1的个数不能少于0的个数。现在lxhgww想要知道满足要求的字符串共有多少个,聪明的程序员们,你们能
原创 2022-01-05 14:13:03
70阅读
原文链接http://www.cnblogs.com/zhouzhendong/p/8084577.html 题目传送门 - BZOJ1856 题意概括 找出由n个1,m个0组成的字符串,且任意前几个字符中1的个数不能比0的个数少,询问满足要求的字符串个数。 题解 这位大佬写的好。 http://b
转载 2017-12-22 09:44:00
118阅读
2评论
题目 lxhgww最近接到了一个生成字符串的任务,任务需要他把n个1和m个0组成字符串,但是任务还要求在组成的字符串中,在任意的前k个字符中,1的个数不能少于0的个数。现在lxhgww想要知道满足要求的字符串共有多少个,聪明的程序员们,你们能帮助他吗? 输入格式 输入数据是一行,包括2个数字n和m
原创 2021-07-20 14:34:46
43阅读
http://www.lydsy.com/JudgeOnline/problem.php?id=1856 卡特兰数 从(1,1)走到(n,m),不能走y=x 上方的点,求方案数 从(1,1)走到(n,m)总方案是C(n,m) 不合法的路径一定会经过y=x+1 从第一次碰到y=x+1之后的路径沿y=x
原创 2021-08-05 10:29:58
29阅读
Description lxhgww最近接到了一个生成字符串的任务,任务需要他把n个1和m个0组成字符串,但是任务还要求在组成的字符串中,在任意的前k个字符中,1的个数不能少于0的个数。现在lxhgww想要知道满足要求的字符串共有多少个,聪明的程序员们,你们能帮助他吗? Input 输入数据是一行,包括2个数字n和m Output 输出数据是一行,包括1个数字,表示满足要求的字符串数
原创 2021-07-28 10:41:27
54阅读
Description lxhgww最近接到了一个生成字符串的任务,任务需要他把n个1和m个0组成字符串,但是任务还要求在组成的字符串中,在任意的前k个字符中,1的个数不能少于0的个数。现在lxhgww想要知道满足要求的字符串共有多少个,聪明的程序员们,你们能帮助他吗? Input 输入数据是一行,
转载 2017-03-30 21:07:00
160阅读
2评论
复习了一下卡特兰数。。
转载 2018-09-07 00:36:00
80阅读
2评论
#include#include#define N 10000000int pre[N+10],h[N+10],dis[N+10];int find(int n ){return pre[n]=n==pre[n]?n:find(pre[n]);}int main() {int sum,cnt,a,b...
转载 2013-10-30 17:37:00
16阅读
More is better Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 327680/102400 K (Java/Others)Total Submission(s): 21574 Accepted Submission(s): 78
原创 2021-07-21 16:00:56
53阅读
题目大意:给定n个1和m个0,能组成多少种序列,满足对于任意前缀1的个数>=0的个数时隔多年我终于明白了卡特兰数怎么求QAQ我真是太蒟蒻了QAQ#include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #define MOD 20100403 us
原创 2023-04-19 00:44:47
63阅读
Description lxhgww最近接到了一个生成字符串的任务,任务需要他把n个1和m个0组成字符串,但是任务还要求在组成的字符串中,在任意的前k个字符中,1的个数不能少于0的个数。现在lxhgww想要知道满足要求的字符串共有多少个,聪明的程序员们,你们能帮助他吗? Input 输入数据是一行,包括2个数字n和m Output 输出数据是一行,包括1个数字,表示满足要求的字符串数目,这个数可
原创 2022-09-15 13:00:15
114阅读
View Code #include<iostream>using namespac
原创 2021-08-01 14:18:32
66阅读
搜索 此题数据小,不需要状压 Program P1856; var n,m,i,j,ans:longint; c:char; f:array[0..1010,0..1010] of boolean; function find(x,y:longint):boolean; var i,j,k,l:longint; begin i:=x;j:=y; whi
原创 2012-08-25 21:45:13
68阅读
赤裸裸的并查集,数据较水,不过太大,注意超时,建立并查集一定要遵循多包少,这样简化下一次的查找,缩短时间,还有,应该一边输入关系,一边刷新元素最大值,这样之后就不用额外加个循环。总结还是数据的处理能力吖......#include<iostream> int bin[10000002]; int flag[10000002]; int max; int find(int x) { wh
原创 2014-02-13 16:50:29
510阅读
http://www.elijahqi.win/archives/556 扫描线数据比较强,要加一个判断条件 一定要从小到大处理if (x1>x2) swap(x1,x
原创 2022-08-08 14:32:52
11阅读
并查集最大秩
原创 2023-03-03 12:34:23
172阅读
More is betterTime Limit: 5000/1000 MS (Java/Others)Memory Limit: 327680/102400 K (Java/Others)Total Submission(s): 5725Accepted Submission(s):
原创 2021-07-29 16:20:06
76阅读
题解:用并查集将所有的朋友合并,最后记录最大的连通块即可:#include int f[10000010],max,sum[10000010],cnt;int sf(int x){ if(f[x]!=x)f[x]=sf(f[x]); return f[x];}int main(){ int n,x,y; while(scanf("%d",&n)!=EOF){ if(n==0){puts("1");continue;} for(int i=1;iy?x:y; cnt=x>cnt?x:cnt; } ...
转载 2014-02-15 12:45:00
34阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5