首页
学习
活动
专区
工具
TVP
发布

calmound

专栏成员
235
文章
175172
阅读量
42
订阅数
Is It A Tree?(并查集)
判断树是否唯一 1.只有一个根节点,(1)在一棵树上一个根节点。1 2 3 2就是两个根节点(1)只有一棵树 2.不成环,入度不大于1 由于数组运行超界导致wa,这是老毛病了 还一直错 #include<stdio.h> const int MAXN=1000100; int father[MAXN],rank[MAXN]; struct Node { int x,y; } node[MAXN]; void Make_set() { for(int i=1; i<MAXN; i++)
用户1624346
2018-04-11
6470
How Many Tables (并查集)
题意:找几个不相连的团体,最后查找发现只要father有几个是自己的,就有几个团队,这个我没想到 #include<stdio.h> #include<string.h> const int MAXN=1010; int father[MAXN],rank[MAXN]; int hash[MAXN]; void Make_set(int n) { for(int i=0;i<=n;i++) { father[i]=i; rank[i]=0; } }
用户1624346
2018-04-11
5830
ZOJ 3631 Watashi's BG(01dp)
01dp不过由于数组过于大,开不开,学了搜索过了,先记录下 还有一种方法 #include<stdio.h> #include<algorithm> using namespace std; con
用户1624346
2018-04-11
8780
poj To the Max
题意:求最大矩阵和 将二维转化为一维的 #include<stdio.h> #include<string.h> int main() { int n,i,j,k; int map[130][130],mSum[130]; while(scanf("%d",&n)!=EOF) { int max=-1000000; for (i=0;i<n;i++) for (j=0;j<n;j++) s
用户1624346
2018-04-11
8860
Decode the tape
输出结束是EOF,这个害我wa,水题,二进制转换为ascii #include<stdio.h> #include<string.h> #include<math.h> int main() { int i,j; int ans=0,tes; char str[100]; while(gets(str)!=NULL) { if(!strcmp(str,"___________")) continue; tes=0; fo
用户1624346
2018-04-11
8530
UVA Hangman Judge
英语太烂啊。 In ``Hangman Judge,'' you are to write a program that judges a series of Hangman games. For each game, the answer to the puzzle is given as well as the guesses. Rules are the same as the classic game of hangman, and are given as follows: The contest
用户1624346
2018-04-11
6950
uva Andy's First Dictionary
题目很简单,数组开大就好,5000但加上重复就不够了10000都小,sort排序前闭合后开,对二维字符窜排序用结构体,所以只有一组的时候只是本身但是不会出现RE情况,还有一点 “    ...   a”这组数据,若不先判断掉前面的符号就存储,               输出的时候会                                a有无谓的空行 #include<stdio.h> #include<string.h> #include<ctype.h> #include<algorithm>
用户1624346
2018-04-11
6940
sprintf的用法
在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf 比printf有用得多。 sprintf 是个变参函数,定义如下: int sprintf( char *buffer, const char *format [, argument] ... ); 除了前两个参数类型固定外,后面可以接任意多个参数。而它的精华,显然就在第二个参数: 格
用户1624346
2018-04-11
4.4K0
sscanf
sscanf与scanf类似,都是用于输入的,只是后者以键盘(stdin)为输入源,前者以固定字符串为输入源。    第一个参数可以是一个或多个 {%[*] [width] [{h | l | I64 | L}]type | ' ' | '\t' | '\n' | 非%符号} 注:   1、 * 亦可用于格式中, (即 %*d 和 %*s) 加了星号 (*) 表示跳过此数据不读入. (也就是不把此数据读入参数中)   2、{a|b|c}表示a,b,c中选一,[d],表示可以有d也可以没有d。   3、
用户1624346
2018-04-11
1.8K0
uva Excuses, Excuses!
题意:给几个单词,在给几个句子,输出包含最多单词的那个句子,大小写不分,末尾空行 分析:这道题能A,还是挺开心的,但不说多难,而是又学会了个函数,又知道了个细节         这题目还有个问题就是,单词的区分不仅仅靠空格还有其他非字母的符号都可以,如aa.aa         而对于我以前的思路,若ansans这是一个单词,但是使用了strstr后这就成了两个单词了。 #include <stdio.h> #include<string.h> int main(int argc, char *argv[]
用户1624346
2018-04-11
4980
The Triangle
从顶到底的最大和是多少 #include<stdio.h> #include<string.h> int main() { int n,i,j; int a[110][100]; int sum[110]; int ans; while(scanf("%d",&n)!=EOF) { for (i=0;i<n;i++) { for(j=0;j<=i;j++) {
用户1624346
2018-04-11
5520
poj 1579 Function Run Fun
We all love recursion! Don't we?  Consider a three-parameter recursive function w(a, b, c):  if a
用户1624346
2018-04-11
7010
hdu 1003 Max Sum(最大子窜和)
最大子窜和,用b记录当前的和,用sum记录最大的和,当b<0的话,就让b等于当前的ai值,若大于0,就继续加 至于-1 0 0 0 4 最大和是第二个数到最后一个 #include<stdio.h> int main() { int a[100010]; int T,i,b,sum,n,t1,t2; int cas=1,x; scanf("%d",&T); while(T--) { scanf("%d",&n); for (i=
用户1624346
2018-04-11
6630
POj 1611 The Suspects
题意:将n个人分组,找出受感染的人有多少,当一个人感染,他所在的那一组均视为受感染。 分析:运用并查集将相关联的人都分到一个集合,然后判断每个人是否和0在同一个集合,若在则视为受感染,否则不是 #include<stdio.h> const int MN=30010; int father[MN],rank[MN],a[MN]; void init(int n) { for (int i=0;i<n;i++) { father[i]=i; rank[i]=
用户1624346
2018-04-11
5620
HDU 1863 畅通工程
一道很朴素的最小生成树,不过通过此题知道了,当n已经决定的情况下,若n个点无法构成最小生成树的话,最终得到ans无法得到精确的值,他会将无穷大的路径加入。 #include<stdio.h> #include<string.h> const int MAXN=110; const int INF=9999999; int mat[MAXN][MAXN]; int vis[MAXN]; int flag; int Prim(int n) { int lowcost[MAXN]; int m
用户1624346
2018-04-11
5280
POj 2253 Frogger
这道题目的题意就纠结了很久,刚开始没有读懂,用Kruskal给过了,后来查解题报告可以用Dijkstra,于是就打算用这个算法写一写,松弛那里一直不知道怎么下手,后来搜了无数份解题报告还是看不懂松弛那里怎么实现的,最后和wjx讨论后才理清了思路,原来一直纠结错了地方,虽然算法用对了但是松弛那里却还紧握着最短路径 分析:首先, a frog's jump range obviously must be at least as long as the longest jump occuring in the s
用户1624346
2018-04-11
6760
Kindergarten Counting Game
水题:判断单词有几个  刚开始没仔细想 仅仅判断了空格和空格的个数+1就是单词的个数,后来wa后仔细读读,他说连续的字母是一个单词所以abc!abc这就是两个单词了,还有uva不支持子啊循环中定义变量 #include<stdio.h> char str[500]; int Find(int t) { int i; for (i=t;str[i];i++) { if((str[i]>='A' && str[i]<='Z') || (str[i]>='a' && st
用户1624346
2018-04-11
5470
Where's Waldorf?
题意:找相同字符窜首字母的地址 读题。。。。A word matches a straight, uninterrupted line of letters in the grid.The outputs of two consecutive cases will be separated by a blank line.这两句haunted都没读出来。。。。一个说字符窜必须直线,一个说输出在两组数据内,第一个没读导致我用搜索TLE,第二个WA #include<stdio.h> #include<stri
用户1624346
2018-04-11
5930
zoj 2876 Phone List
题意:给出几个字符窜,判断是否某个字符窜包含另一个字符窜为前缀,则输出NO(注意NO是大写),否则输出YES(注意是大写,大写) #include<stdio.h> #include<string.h> #include<algorithm> using namespace std; struct Node { char nam[100]; int len; }node[10100]; bool cmp(Node p1,Node p2) {
用户1624346
2018-04-11
7200
ZOJ 2724 Windows Message Queue(优先队列)
优先队列的概念及使用方法 题意:输入GET,队列为空则输出空,否则输出最优先的数据(所谓最优先,就是优先值最小的一个),若输入PUT,输入三个数据,分别是名字,参数,和优先值。 #include<stdio.h> #include<string.h> #include<algorithm> #include<queue> using namespace std; struct Node { char name[100]; int parameter,priority; }node; bo
用户1624346
2018-04-11
7000
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档