自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 poj 1979 DFS

DFS就可以解决,只要想到要向四个方向搜索就可以解决了,很多写法,最直白的就是不断判断,然后判断.... 注意:特别注意输入的两个变量,全程小心!!!!     #include #include using namespace std; int n, m,ans; char maze[21][21]; bool vised[21][21]; //查找从(x,y)开始的可以移动的黑点的数量

2015-03-30 22:49:51 518

原创 BFS 迷宫的最短路径问题

给点一个N*M的迷宫,再给定起点(sx,sy)和终点(gx,gy),求最短路径的长度(假设存在)。 直接BFS搜索即可。     #include #include #define INF 9999999 using namespace std; int N, M; char maze[101][101]; typedef pairpos; int sx, sy, gx, gy; int

2015-03-30 22:07:22 673

原创 poj 2386 Lake counting

只需要用到DFS就行了,算搜索中比较直接的,前面也写过一体类似的,DFS和BFS只是一种策略,只是搜索。     #include using namespace std; int N, M; char maze[101][101]; void dfs(int x, int y) { //将现在所在的位置替换为‘.’ maze[x][y] = '.'; //循环遍历可以移动的八个方向

2015-03-30 21:48:53 377

翻译 DC poj 1064 Cable master

题意是说有N条绳子,长度分别为Li,现在要从这N条绳子中产生K条长度相同的绳子,求这个最长长度。 算法是二分查找值算法,用一个函数C(x)判断是不是满足某种约定,然后根据判断结果不断更新这个区间 ,最后得到这个最长长度,用二分法的话思想很简单,实现起来很容易。     #include #include #define INF 9999999 using namespace std; i

2015-03-29 22:21:16 431

翻译 poj 2456 Aggressive cows

题意是说有N间小屋,M头牛,现在要将M头牛关在N间小屋里面,(N>=M),因为牛对自己的房屋不是很满意,所以会将 对房屋的不满转向同伴,会以攻击身边的同伴来解气,为此,为了让它们不要互相伤害,需要将M头牛适当的安排在这N 间房屋里面,首先将第一头牛关在0号房间,而后不断更新这个最大可以安排的距离(d),用到二分查找值的算法,不断 二分直到不满足C(d),这是结束运行,得到结果。    

2015-03-29 22:16:03 511

原创 poj 1852 ANTS

这道题目很有意思,说是有一根杆和一群蚂蚁,输入这些蚂蚁的位置信息(距离左边),然后求出蚂蚁全部落下杆的最短和最长时间。 需要稍微想象一下,怎么样蚂蚁能以最少的时间离开杆,应该是每只蚂蚁都向距离自己比较近的那一段爬,得到最短时间,当每只蚂蚁都向 距离自己较远的一端爬时得到最大时间,当蚂蚁相遇时,忽略,直接擦肩而过就可以,这样就将题目简化了很多。     #include #include

2015-03-28 18:47:40 495

原创 nkoj 2160

我必须要说,我的理解能力真的很差劲,这道题纠集了很久,不知道WRONG了多少次,只因为我将题意理解成了:输出数列中的第k大的数,重复数字只算一个!!!!! 但实际的题意是:重复数字也各自算一个!!! 不说了,这样的话这道题已经无所谓了。 最后感谢好人XXX~ #include #include #define max_n 100001 using namespace std; int da

2015-03-28 13:08:39 963

原创 nkoj 1742(Astar2007)

这道题目在nkoj上面只有一组测试数据,所以比较好偷懒,我也偷懒了,所以只处理了只有一张表的查询。 对于有N张表的查询,只需将T定义成数组table T[N]就可以操作了,稍复杂一点,但是框架已经出来了 问题今本已经解决,担心内存和时间的问题,这道题用来训练编程能力很有帮助(仅仅是编程,无关算法) 应该特别注意的是对数组进行操作时,要时刻关注地址(下标),实际上操作十数组时只需要关心地址就可

2015-03-24 12:34:46 544

原创 nkoj 1887

//因为 “太听话” 将数组开成按照他说的,所以Running time error了好几次,最可气的是犯了一个低级错误,就是Presentation Error!!! 所以,我从这道水题上学会了小心两个字,还有就是不能太听话啊!!!     #include #include #include using namespace std; #define max_n 202 #define

2015-03-24 00:14:50 469

原创 深度优先搜索之 nkoj2221

来开始写一点有技术性的东西---〉搜索 nkoj 2221是一道可以使用深度优先搜索来完成的题目,按照往常一样,我依然还是用了想象中的内存,很不开心 对于DFS的题目,我觉得对时间不需要太多的考虑,主要是内存方面会暴掉,这道题还好,max_n==100 所以就算是申请char file[max_n][max_n];也不过是100*100*1=10000kb的内存 但是有些题目就比较变态了,

2015-03-21 18:08:13 475

原创 nkoj 2224

对于这道题我很惊讶,因为按照道理来说我是过不了的,应该是需要一些数学推导之类的,但是我本着以纯计算机的思维来解决题目的思想,只是做了一点计算上面的剪支,结果过了,为了表示我的惊讶,特意在下面贴上AC信息,这道题目是简单,但是,依然还是那句话,简单的题目,总是还可以让你从中得到点什么,比如,这道题目就真真正正的让我明白了剪支的重要性,又可能需要复杂的推导的题目,也可以在擦边的情况下按照简单的逻辑解决

2015-03-21 16:52:40 611

原创 nkoj 2023

就是分割输入的内容,然后分辨到底申请了多少内存空间,虽然是水题没什么算法,但是对于输入的处理和编写代码的能力提升有一定的作用我发现自己现在写的代码占有内存都是比较多的,因为我一开始接触到题目,思考如何去解决的时候总是在想一些如何在结构上面做文章,所以虽然思路会因此变得简单得多,但是申请的内存不是太少,速度有待提高,总之,慢慢学会优化,慢慢才能写出高质量的代码啊@--@ 加油! #include #

2015-03-21 16:37:37 488

原创 nkoj 2234

//因为只有六道题目,所以可以用一个数组表示六道题是否是第一次被AC //对于每个选手,有一个结构体表示六道题中答对的题目,和是否是第一次Ac //的信息 #include #include #include #include #include #define max_q 6 using namespace std; bool Q_ACed[max_q]; int n, m; //用一个全局变量来

2015-03-21 11:38:55 380

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除