
poj解题报告
文章平均质量分 59
monkeyduck
清华大学CS在读,研究领域为语音处理、模式识别、对话管理,依然在不断学习中,成功在于点滴积累!
展开
-
POJ刷题指南
经过我初步的整理,一个比较完整的归类已经完成,现在发布给大家,希望可以方便大家练习,如有不足,还请大家见谅,这个可能会随时有更新,请大家注意.如果有什么要求或补充的可以跟贴提出,勿水!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! OJ上的一些水题(可用来练手和增加自信) (poj3299,poj2159,poj2739,poj1083,poj226转载 2013-08-06 11:13:49 · 13593 阅读 · 2 评论 -
poj1007 qsort快排
这道题比较简单,但通过这个题我学会了使用c++内置的qsort函数用法,收获还是很大的!首先简要介绍一下qsort函数。1、它是快速排序,所以就是不稳定的。(不稳定意思就是张三、李四成绩都是90,张三成绩在前;排序完毕后有可能变成李四的90在前,张三在后)2、需要包含头文件:cstdlib3、原型:void qsort(void *base,int nelem,int wi原创 2013-09-21 11:00:17 · 1370 阅读 · 0 评论 -
poj1006
poj水题一道原创 2013-09-19 14:03:01 · 1143 阅读 · 0 评论 -
poj1004 输出小数的固定位数
设置C++输出的小数的固定位数、有效数字位数等原创 2013-09-17 13:29:41 · 1225 阅读 · 0 评论 -
POJ1321 搜索之回溯法
因为看《算法竞赛入门经典》看到了讲回溯这一章节,就拿了一个搜索题来练练手。这个题用回溯做还比较简单。主要思路是依次遍历每一个格子,首先看是不是空(#),如果是且与之前的棋子不冲突的话就放一个棋子在这里,记录该棋子所在行号和列号。之后再去寻找下一个能放棋子的位置,直到所有棋子放完可行解数量即+1;遇到没有可放的情况则返回上一层调用(这就是“回溯”)。第一次提交是LTE,分析原因错误出现在我的思路原创 2013-09-11 16:32:42 · 1692 阅读 · 0 评论 -
poj3083 Children of the Candy Corn
比较简单的搜索题,用到了dfs和bfs。dfs比较适合搜索有无可行解,如本题中左转优先和右转优先是利用dfs算法求解得,而bfs适合寻找最优解,如本题最短路径就是bfs。这道题有一个比较需要注意的地方就是bfs时用visit[][]记录是否访问时,一定要在加入que队列的时候就修改visit[x][y]的值,我第一次是在出队列的时候修改其值,因为想的是出队列时才是访问它的时候,但是这样就大原创 2013-09-01 10:39:30 · 974 阅读 · 0 评论 -
POJ3126 Prime Path
这个题很简单,但我WA了两次,有一个小小的地方需要注意,不要用新值覆盖掉原来的数,否则就错啦!定义一个tmp存储每次改变后的数字就行了。这段时间一直在做bfs的题目,这个题最多有40个入口,但是很明显偶数是不可能为质数的,所以砍掉偶数就少了一半数据了。#include#includeusing namespace std;int que[1000000];bool visit[10原创 2013-09-10 12:27:37 · 1239 阅读 · 0 评论 -
poj3278 Catch That Cow bfs水题
这道题非常简单,一边看中国好声音一边做一小时AC,没啥要注意的地方,把数组开大一点就不会WA了BFS直接代码:#includeusing namespace std;int que[1000000];bool visit[100010];int main(){ int n,k; cin>>n>>k; int front=0; int rear=0; que[rear+原创 2013-09-06 23:39:46 · 953 阅读 · 0 评论 -
POJ2488 骑士游历 A Knight's Journey 解题报告
这个题有3点要注意的地方。1、弄清题意,p指行号,从上到下依次是1,2,3...p;q指列号,从左到右依次是A,B,C,D...,字典序输出意思是先按列排序,左边的在前,同一列的按行排序,行号小的在前。2、递归遇到某个方块的下一步无处可跳时,返回上层之前要把vis矩阵相应位置清零!还有起始位置就是A1,如果A1无解则不需要再遍历别的情况了,直接输出impossible即可。3、输出的时原创 2013-08-28 23:25:01 · 1323 阅读 · 0 评论 -
poj1426 bfs+同余数定理
题意大致是给定一个n(1~200),求出n的一个倍数k,但k的每一位都必须是0或1。Special Judge 的意思是答案不唯一,比如说n=2时,k=10对,k=100也对,只要输出一个符合要求的即可,没有说要最小。这个题有点像数学题,但还用到了bfs,还算比较综合吧。难点在于k比较大的时候如何表示,很显然一个int,long都是不行的。还有就是数很大时穷举去计算是否能整除也很浪费时间。解决原创 2013-09-08 10:58:38 · 1586 阅读 · 0 评论