随笔分类 -  ACM

1 2 3 4 5 6 下一页
POJ 2227
摘要://7983483 vrs 2227 Accepted 1120K 235MS C++ 2852B 2010-12-08 20:02:00//POJ 2227 凹凸坑装水 优先队列(堆)+floodfill(bfs)//黑书中的一道题 先分析边界点,弄为障碍物,把他们放到堆里,然后从最小的开始,进行一次floodfill(木桶原理)//一直循环直到堆为空,每次floodfill是使用队列做一次广搜#includestdio.h#includequeueusing namespace std;#define bool int#define MAXNUM 90005typedef stru 阅读全文
posted @ 2010-12-08 20:50 VRS 阅读(522) 评论(0) 推荐(0)
POJ 1442
摘要://7977992 vrs 1442 Accepted 516K 125MS C 1930B 2010-12-07 13:26:53//1142 黑盒数字 优先队列(大根堆+小根堆)//这题看了别人的解题报告才弄出来的,感觉这里两个堆操作很巧妙//维护两个优先队列,大根堆,小根堆,大根堆保存当前最小的i-1个数,并把i到u[p]个数放到小跟堆里,那么//小根堆的最小值就是当前状态的第i小元素//注意到一点,c不支持函数的按引用调用 &#includestdio.h#define bool int#define MAXNUM 30005long minqu[MAXNUM];long maxq 阅读全文
posted @ 2010-12-08 20:49 VRS 阅读(648) 评论(0) 推荐(0)
POJ 3253
摘要://7976667 vrs 3253 Accepted 228K 47MS C 1334B 2010-12-06 23:03:13//3253 锯木板 贪心+堆优先队列//遇到一个问题,变量声明要放在最前面,不然POJ编译不通过#includestdio.h#define bool int#define MAXNUM 20005unsigned int n;unsigned int wood[MAXNUM];void swap(int i,int j){ wood[0]=wood[i]; wood[i]=wood[j]; wood[j]=wood[0];}void Insert(unsi 阅读全文
posted @ 2010-12-08 20:48 VRS 阅读(445) 评论(0) 推荐(0)
ZOJ 2724
摘要://2365768 2010-12-06 16:41:01 Accepted 2724 C 280 1332 VRS//2724 模拟消息队列 用堆实现的优先队列//练堆的基础题#includestdio.h#includestring.h#define MAXNUM 60005#define bool inttypedef struct _MESSGAE{ char name[10]; int para; int key;}MESSAGE;MESSAGE process[MAXNUM];void swap(int x,int y){ strcpy(process[0]. 阅读全文
posted @ 2010-12-08 20:47 VRS 阅读(388) 评论(0) 推荐(0)
POJ 1182
摘要://7968286 vrs 1182 Accepted 548K 219MS C 1078B 2010-12-04 21:33:24//1182 食物链 利用向量偏移的并查集////每个集合都有三类动物,用rank表示,0——同类;1——食物;2——天敌,初始时都以自己为根节点,且rank为0//只需对每一句话,判断x,y是否同一集合内,如果是就判断语句真假,否则就合并集合//根据公式知道x-y=d-1,主要想出几个推导公式://1: rank[x]=(rank[x]+rank[temp])%3 // 这个最好设一两个例子验证一下,由于每次都是两集合的根合并,且只有根更改rank,所以每个x的 阅读全文
posted @ 2010-12-08 20:46 VRS 阅读(509) 评论(0) 推荐(0)
ZOJ 1268
摘要://2364907 2010-12-05 00:06:08 Accepted 1268 C 0 416 VRS//1268 Is it a Tree? 并查集//利用并查集,一直合并,直到输入结束//注意几点:1.空树也是树;2.森林不是树;3.重复输入会当成环,也不行;4.结点自身指向自身也算是环#includestdio.h#define bool int #define MAXNUM 32767int father[MAXNUM];int differentTreeNode[MAXNUM];int Find(int x){ if(father[x]==x) retur 阅读全文
posted @ 2010-12-08 20:46 VRS 阅读(229) 评论(0) 推荐(0)
ZOJ 1789
摘要://2363500 2010-12-02 21:50:28 Accepted 1789 C 10 392 VRS//1789 SARS隔离 并查集#include<stdio.h>#include<string.h>int setFather[30005];int setCount[30005];int Find(int x){ int root=x; whi... 阅读全文
posted @ 2010-12-04 14:39 VRS 阅读(367) 评论(0) 推荐(0)
POJ 2524
摘要://7956395 vrs 2524 Accepted 536K 344MS C 1280B 2010-12-02 17:33:55//POJ 2524 学生宗教 并查集基础题#include<stdio.h>unsigned int setFarther[50005];unsigned int setLevel[50005];void MakeSet(unsigned int n){... 阅读全文
posted @ 2010-12-04 14:38 VRS 阅读(313) 评论(0) 推荐(0)
POJ 3984 && 第二届顶嵌杯决赛B题
摘要://7966044 vrs 3984 Accepted 376K 0MS GCC 2108B 2010-12-04 13:38:57//POJ 3984 第二届顶嵌杯决赛B题//走迷宫 广搜//要用GCC编译,没得用STL。郁闷,只能自己写个队列操作#include<stdio.h>#include<stdlib.h>#include<string.h>#def... 阅读全文
posted @ 2010-12-04 14:36 VRS 阅读(475) 评论(0) 推荐(0)
POJ 3983 && 第二届顶嵌杯决赛A题
摘要://7966039 vrs570540852 3983 Accepted 388K 0MS GCC 2312B 2010-12-04 13:38:18//POJ 3983 第二届顶嵌杯决赛A题 计算4个数等于24//搜索 数据较小,不用剪枝就过了//利用类似层叠那样,每运算一次,就合并两个数,所以少一个数,每次计算的值都保存在curVal中//注意浮点数1/3 *3 会等于1//格式化输出时用到s... 阅读全文
posted @ 2010-12-04 14:35 VRS 阅读(810) 评论(0) 推荐(0)
POJ(3979-3982) && 第二届顶嵌杯初赛
摘要://第二届顶嵌杯初赛 题目 POJ//A题#include<stdio.h>int a3,b3;void Reduce(){ while(a3%2==0 && b3%2==0) { a3/=2; b3/=2; } while(a3%3==0 && b3%3==0) { a3/=3; b3/=3; } while(a3%5==0 && b3... 阅读全文
posted @ 2010-12-04 14:34 VRS 阅读(451) 评论(0) 推荐(0)
ZOJ 1031
摘要://2361658 2010-11-30 14:10:56 Accepted 1031 C 490 160 VRS//1031 拿火柴 除正方形//贪心+搜索+剪枝+位操作 (其实也是最小二分覆盖问题,不过没用二分匹配去做)//首先生成火柴跟正方形的对应关系,并用64位保存,由于n<=5,所以火柴最多60根,正方形最多55个//然后,去除当前不存在的火柴,并通过可去除正方形数(... 阅读全文
posted @ 2010-11-30 14:49 VRS 阅读(394) 评论(0) 推荐(0)
ZOJ 1005
摘要://2359674 2010-11-27 14:30:11 Accepted 1005 C 0 160 VRS//1005 量筒倒水 从几个例子分析,知道只有两种唯一的倒水方式,其一是不断地倒掉A,B倒A,填满B,再B倒A;//其二是不断地倒掉B,A倒B,填满A,再A倒B。第一种遇到当前容量等于AB之间时特殊处理,第二种遇到当前容量//等于0到A-B之间时特殊处理。由于是Specia... 阅读全文
posted @ 2010-11-30 14:48 VRS 阅读(301) 评论(0) 推荐(0)
ZOJ 1004
摘要://2358735 2010-11-26 14:12:01 Accepted 1004 C++ 0 188 VRS//1004 dfs(回溯) //这题用C++做的,因为用到stack,免得自己写一个- -//很直白的一道题,直接按题意模拟栈搜索就行#include<stdio.h>#include<string.h>#include<stack>... 阅读全文
posted @ 2010-11-26 14:18 VRS 阅读(553) 评论(0) 推荐(0)
ZOJ 1003
摘要://2358423 2010-11-25 22:43:52 Accepted 1003 C 0 160 VRS//1003 踩气球 //历经千辛万苦终于a了,痛苦啊~~~~感觉这代码太暴力了////就是找出两个数所有各不相同的因子,如24和12的所有因子为 2,3,4,6,8,12 , 再在这些因子中搜索,//看是否能重新乘出给出的两个数。若两者都说真话就大者胜,若两者都说假话(都含... 阅读全文
posted @ 2010-11-26 14:17 VRS 阅读(907) 评论(0) 推荐(0)
POJ 3753 第一届顶嵌杯决赛 A题
摘要://7915734 vrs570540852 3753 Accepted 368K 0MS GCC 1169B 2010-11-23 18:36:18//POJ 3753 第一届顶嵌杯决赛 A题#include<stdio.h>#include<string.h>#define NULL 0int SafeStrcpy2KeyWord(char* pDestBuffer, ... 阅读全文
posted @ 2010-11-23 18:55 VRS 阅读(329) 评论(0) 推荐(0)
POJ 3754 第一届顶嵌杯决赛 B题
摘要:// 第一届顶嵌杯决赛 B题//7913377 vrs570540852 3754 Accepted 376K 0MS GCC 2259B 2010-11-23 01:05:35//这是一道模拟Modbus协议的题目,主要考察C底层编程 涉及网络传输数据编码,CRC校验码,浮点数转换//其中浮点数转换中,我直接在内存中写上该编码(以unsigned long方式),然后用float指针读这块内存,... 阅读全文
posted @ 2010-11-23 14:13 VRS 阅读(333) 评论(0) 推荐(0)
ZOJ 1239
摘要:///////////////////////////////////////////////////////////////////2353292 2010-11-18 21:47:39 Accepted 1239 C 0 160 VRS//1239 柱子放球 找规律题 留意最底层,导出规律就行#include<stdio.h>#include<math.h>... 阅读全文
posted @ 2010-11-23 14:12 VRS 阅读(205) 评论(0) 推荐(0)
ZOJ 2397
摘要://////////////////////////////////////////////////////////////////////////////2353944 2010-11-19 22:35:25 Accepted 2397 C 40 164 VRS//2397 田忌赛马 贪心//1 田忌的最快与齐王最快比,田忌快则PK掉,田忌慢则用田忌最慢的PK齐王最快;//2 快马... 阅读全文
posted @ 2010-11-23 14:10 VRS 阅读(269) 评论(0) 推荐(0)
ZOJ 1184
摘要:////////////////////////////////////////////////////////////////////////////////2353416 2010-11-19 01:19:11 Accepted 1184 C 0 160 VRS//1184 硬币称重 贪心//even就肯定是正常的,凡是出现up或down,问题硬币肯定在几次都轻,或都重的地方//... 阅读全文
posted @ 2010-11-23 14:10 VRS 阅读(258) 评论(0) 推荐(0)

1 2 3 4 5 6 下一页