数据结构
文章平均质量分 57
plusplus7
萌系大学生一枚。。。。
展开
-
POJ 2513 Colored Sticks
给你250000个棒子,棒子两头有颜色,问你可不可以用完所有的棒子,把棒子连起来,并且使得棒子相连的两头颜色一样。 其实就是求欧拉回路。 有无向图存在欧拉路的充要条件为: 1->图是连通的; 2->所有节点的度为偶数,或者有且只有两个度为奇数的节点。 判断图的连通性,用并查集搞定。又题目给的棒子颜色是字符串,所以要用trie树把每个颜色的编号记录下来。 注意,这里用map会原创 2012-11-21 17:20:57 · 410 阅读 · 0 评论 -
POJ 1442 Black Box
题意:给你n个数的数列,然后再给你m次查询,第i(i 题解:根据Discuss说的,这题可以用各种数据结构AC...为了练习一下红黑树,我写了个红黑树求解的。240行代码,结果居然1Y了,,,这... 解法:红黑树 //不想说什么了 #include #include #include using namespace std; int m,n; int a[60000]原创 2013-03-28 13:38:06 · 1791 阅读 · 0 评论 -
LA 4329 Ping pong
训练指南 P197 例题 扫描一下所有的i,计算出从1到i-1有多少个数比它大,和从i+1到n有多少个数比它大。 然后就是交叉相乘算出总的方案数。 #include #include #include #define INF 120000 using namespace std; long long a[21000]; long long l[21000],r[2100原创 2013-04-11 17:25:14 · 1616 阅读 · 0 评论 -
UVa 11235 Frequent Values
训练指南 P198 例题 在一个非降序数组中寻找区间内出现次数最多的值的出现次数。 用线段树和RMQ都能AC。 RMQ解法 #include #include #include #define INF 0x7fffffff using namespace std; int n; int a[120000]; int nb[120000],b[120000],bv[120000],l[原创 2013-04-11 17:31:44 · 1164 阅读 · 0 评论 -
LA 3027 Corporative Network
并查集的应用。 在压缩路径的时候维护一个dist数组,保存其到祖先的长度。 #include #include #include using namespace std; int uset[21000],dist[21000]; int abs(int a) { return a>0?a:-a; } bool init() { int i; for (i=0; i原创 2013-04-11 17:28:25 · 868 阅读 · 0 评论 -
【博客搬家】本博客已全面停止更新,新博客地址 plusplus7.com
新博客地址:http://www.plusplus7.com原创 2013-11-23 21:24:40 · 1372 阅读 · 0 评论