上一页 1 ··· 3 4 5 6 7 8 下一页
摘要: 题目:http://acm.hdu.edu.cn/showproblem.php?pid=1272AC代码:#include #include #include #define maxn 100001 using namespace std; int set[maxn],num[maxn]; int find(int x) { if(set[x] == x)return x; return set[x] = find(set[x]); } int main() { int n,m,pos; while(scanf("%d%d",&n,&m)) { if(m= 阅读全文
posted @ 2012-12-05 22:20 简洁是智慧的灵魂 阅读(105) 评论(0) 推荐(0)
摘要: 并查集还是挺简单的,路径压缩,按秩合并(这个很麻烦,建议了解就好,主要是路径压缩,我写的代码也只是普通的合并);前天学的,要练练手,以防生疏;http://acm.hdu.edu.cn/showproblem.php?pid=1232#include #include #define maxn 10010 #define INF 999999999 using namespace std; int map[maxn][maxn],set[maxn]; int find(int x) { if(set[x] == x)return x; return set[x] = find(set... 阅读全文
posted @ 2012-12-05 20:03 简洁是智慧的灵魂 阅读(141) 评论(0) 推荐(0)
摘要: 思想一开始就对了,不过在置无穷大的时候犯了个错误,这个题目的路程距离dis是double型的,以前写的都是int 类型的,置无穷大都是用memset(map,0x3f,sizeof(map));怪我乱来,double也这么置无穷大,结果就出错了。当然题目还是典型的最小生成树问题,练练手,不然忘记了;。。。畅通工程再续Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 8223Accepted Submission(s): 2494Problem D 阅读全文
posted @ 2012-12-05 19:33 简洁是智慧的灵魂 阅读(115) 评论(0) 推荐(0)
摘要: /** 最小生成树,(kruskal)* 本题要点:当两点之间已有路时,把这两点的路长设为0,然后就是套用kruskal了*/继续畅通工程Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 8282Accepted Submission(s): 3566Problem Description省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可)。现得到城镇道路统计表,表中列出了任意两 阅读全文
posted @ 2012-12-04 21:58 简洁是智慧的灵魂 阅读(126) 评论(0) 推荐(0)
摘要: 第一次做并查集,MARK。。。这是一道简单的并查集题目,(连我都能做出来,当然简单了),题目大意是,有10000000人排队来,他们当中 两个 两个是朋友,朋友的朋友也是朋友,(把他们归为一个集合);输入是:n,接下来n组数据,每组a,b代表a和b是朋友,输出最大朋友圈的人数;题目:More is betterTime Limit: 5000/1000 MS (Java/Others)Memory Limit: 327680/102400 K (Java/Others)Total Submission(s): 7376Accepted Submission(s): 2708Problem De 阅读全文
posted @ 2012-12-03 22:21 简洁是智慧的灵魂 阅读(118) 评论(0) 推荐(0)
摘要: 看了好多题目没看懂,当然也怪我英语水平太差啦。将每隔M-1个box看成当前盒子被第M-1个盒子隔开的第一个盒子。好啦:题目大意就是,N个人围成一个圈,Haha每隔M-1个人找一次。这样可能会找不到。比如说N==8,M==4;先在第一个,然后跳三个,在第5个,再跳三个,在第一个,循环,就只找了1、5两个位置;那么什么情况会产生这种情况呢,就是当N,M没有公约数的时候;题目在下方:hide handkerchiefTime Limit: 10000/3000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submiss 阅读全文
posted @ 2012-12-02 12:44 简洁是智慧的灵魂 阅读(152) 评论(0) 推荐(0)
摘要: 开始用完全背包写,过不去,不知道思路错在哪儿了;扩展欧几里德定理 对于不完全为 0 的非负整数 a,b,gcd(a,b)表示 a,b 的最大公约数,必然存在整 数对 x,y ,使得 gcd(a,b)=ax+by。使用扩展欧几里德算法解决不定方程的办法 对于不定整数方程pa+qb=c,若 c mod Gcd(a, b)=0,则该方程存在整数解,否则不存在整数解。倒咖啡Time Limit : 3000/1000ms (Java/Other)Memory Limit : 65535/32768K (Java/Other)Total Submission(s) : 21Accepted Sub... 阅读全文
posted @ 2012-12-01 20:43 简洁是智慧的灵魂 阅读(146) 评论(0) 推荐(0)
摘要: /*坑死我了,一个地方害我WA了好多次啊。不知道是不是有好多童鞋和我一样。不过,现在能犯这样的错误,也是件好事,毕竟这是平时的刷题;感谢郑震!!!错误的地方我有标记,总结了一下,就是如果要题目是求满足完全通畅条件(就是每个点都能到达),那么可以那样写。但是本题目是不要去完全通畅的,只要求起点能到终点,比如说你一条路都没有,可是你能从0点到0点。所以就得写continue;那句题目我也贴出来吧。*/畅通工程续Time Limit: 3000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission 阅读全文
posted @ 2012-11-30 21:42 简洁是智慧的灵魂 阅读(101) 评论(0) 推荐(0)
摘要: /*这些个题目都是如出一辙的,HDU 1863 HDU1233 HDU 1102会写这个prim函数,基本没问题啦!*/贴代码:#include #include #define INF 999999999 using namespace std; int map[105][105],visit[105],dis[105],M; int prim() { for(int i = 1;i dis[j]) { temp = dis[j]; pos = j; } } if(temp == INF)return 0; visit[pos] = 1; ... 阅读全文
posted @ 2012-11-30 19:34 简洁是智慧的灵魂 阅读(141) 评论(0) 推荐(0)
摘要: /* HDU 1102 最小生成树问题map[][]二维数组初始化为无穷大,用的语句是memset(map,0x3f,sizeof(map)); 这是看了别人代码学到的!*/#include #include #include #include #define inf 999999999 int N,M; // N 代表点的数量,M代表已修建的路的条数 int map[105][105]; int dis[105]; int visit[105]; int prim() { for(int i=1;idis[i]) { t=dis[i]; po... 阅读全文
posted @ 2012-11-30 19:09 简洁是智慧的灵魂 阅读(148) 评论(0) 推荐(0)
上一页 1 ··· 3 4 5 6 7 8 下一页