自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

云游code的博客

未来的世界一切将处于云连接之中

  • 博客(18)
  • 收藏
  • 关注

原创 hdu1301 Jungle Roads

<br />最小生成树,注意要将第一个点的visited[1]标记为已访问,另外使用scanf函数的时候记得加上getchar。。。。用prime算法可以0ms过

2011-02-24 20:24:00 459

原创 hdu1577 WisKey的眼神

<br />设两点a(x1, y1)、b(x2, y2),令x=abs(x1-x2),y=abs(y1-y2),显然只有当x,y两数最大公约数k是1时才能被看到,否则必定会被点(x/k, y/k)这个点挡住。。。因为它们斜率一样,在一条直线上。。。。

2011-02-24 20:22:00 655 1

原创 hdu3711Binary Number

<br />还是水题。。。题目大意是给2组数,b组中的每一个数b[i]在a组中找到一个数a[i],使它们的二进制中不相同的位数的个数最少。。。。显然这是异或运算。。。异或得到结果后再求其二进制数,然后找出最小数就行了。。

2011-02-24 20:18:00 429

原创 hdu1273 漫步森林

<br />水题一个,可以用来陶冶情操。。。由于要从起点走完所有点后返回起点,而且题目要求任何一条路线都不能重复,因此所有的点共有n*(n-1)/2条直线,显然要求经历n各点,故答案就是这么多条线路有多少个能够历经N个点,即(n-1)/2。。。。

2011-02-24 20:13:00 1022 2

原创 hdu 1258 Sum It Up

<br />深搜题,从第一个小于n的数字开始向下深搜,如果sum>n则跳过尝试下一个数,如果sum==n则打印,写了代码之后一直wa,百度解题报告后有个地方没看太懂,暂时先贴参考后的AC代码出来:<br />#include<iostream><br />#include <queue><br />using namespace std;<br />int a[13], add[13], n, k, visited[13];<br />int len;<br />int check;<br />void d

2011-02-19 16:24:00 806

原创 hdu1372 Knight Moves

<br />广搜水题,此题可以采用双向广搜进行优化,即从起点和终点两个位置同时开始进行bfs,如果相遇即可输出步数,这样可以节省一半时间,优化后程序跑了15ms,比起0ms秒过的牛人还是差老大一截。。。。ORZ,无限膜拜

2011-02-19 16:18:00 484

原创 hdu1864 最大报销额

<br />彻头彻尾的0/1背包,存储double类型背包状态有个小技巧就是乘以小数点后相应位数n的10^n,这样可以将其转换为整形作为数组下标进行运算,算法不难,按照题目意思筛选每一张发票,满足条件的才存入背包数组,然后就是0/1背包了,最后输出a[最高报销额]就是结果。。。今天元宵节,各位元宵节快乐!!

2011-02-17 22:20:00 695

原创 hdu1241 Oil Deposits

<br />广搜题,题意为找到图中油田有多少块(相邻油田算入一块)。。。多次广搜,如果碰到'@'则置当前'@'为'*'同时counter++,然后从此点开始一次广搜,期间遇到'@'则立刻置为'*',重复进行直到图中所有点全部遍历完毕。。。。整体算法不难。。。写此解题报告纪念一下没有情人的情人节。。。^_^

2011-02-14 17:37:00 825

原创 hdu1102 & hdu1162 & hdu1232 & hdu1233

<br />今天情人节,悲剧的我只能在家看算法。。。此次带来最小生成树,以上四道题目大同小异。。。都可以用邻接矩阵存储图,然后采取prime算法实现最小生成树的创建。。建立lowcost[size](存储最小生成树)数组,先取第一个顶点到其余顶点的权值初始化lowcost,然后找到关于此点最小的权值以及另一顶点位置k,累加该最小权值同时将visited[k]置为1,然后更新lowcost[size]数组,查找下一个顶点与其余各点的权值,如果比当前lowcost[i]小即可覆盖lowcost[i],然后重复上

2011-02-14 17:32:00 813

原创 hdu1242 Rscue && hdu 1253胜利大逃亡

<br />     广搜!又是广搜!仍然悲剧的广搜!!。hdu1242因为数据中天使不止一个朋友,所以应该以天使姐姐的位置为起点,每个朋友为终点进行搜索,这样就豁然开朗了,这里强调一下逆向思维的重要性,唉。。。。hdu1253 题目不难,注意使用scanf、printf输入输出,尤其重要的是剪枝,再次膜拜剪枝帝。如果地图终点为1、最短路程大于给定时间、最短路程大于可走路程这几种情况就是很明显的悲剧,有了剪枝,此题可秒。今天让我十分郁闷,我的脑残代码就不贴出来贻笑大方了。。。。。ACM加油!!!

2011-02-12 00:10:00 1202

原创 hdu1429 胜利大逃亡(续)

让我初识位压缩的一道BFS题,之前采用结构中增加char类型的key[26],然后采用数组映射实现对钥匙的存储,交上去悲剧地MLE了,然后在YHL大牛的博客上发现了位压缩这一好东东,现在和大家分享一下:用二进制来表示手头的钥匙有哪些,100表示有第三把钥匙,111表示有第三、二、一把,搜索下一点时,如果该点为钥匙点,则可采用|运算来模拟拾取,显然0001 | 1000 = 1001,同理,当为相应的门时采用&运算来模拟开启,例如1101 & 0001 = 0001(即可以打开'A'门),附AC代码如下:#

2011-02-10 22:17:00 2317

原创 hdu1072 Nightmare

<br />下午写了三道广搜,大同小异,一道涉及位压缩,表示不懂所以WA了,唉,三个都没能秒过,细微的错误太多T_T。。。悲剧,还是算法实现和写代码能力太差,失败!!以后要再加强锻炼了,昨天和Y大牛聊天到很晚,对他的言辞深有感触,特此谢谢Y大牛的教诲^_^。附此题AC代码如下:<br /># include<iostream><br /># include<queue><br />using namespace std;<br />struct Node<br />{<br />       int x,

2011-02-10 17:57:00 748

原创 hdu1175连连看

一道类似于1728逃离迷宫的广搜题,同样是在结构中增加方向(dir)、转弯数(turn)两个变量,话不多说

2011-02-10 17:52:00 500

原创 hdu1728 逃离迷宫(bfs)

<br />这是本人写过的最纠结的一次bfs,一看到题目就觉得比较简单,是非常基础的广搜,但是用stl写出来交上去居然WA,修改细节后一直wa,T_T,写代码能力亟须加强,有算法无代码实在是太悲剧了。。。。而且有很多细节需要注意,参考网上程序得出AC代码如下:<br /><br />#include<iostream><br />#include<queue><br />using namespace std;<br />struct Node<br />{<br />       int x, y;  <

2011-02-10 01:49:00 1089

原创 hdu1698(线段树)

个人觉得此题题意有点不明,所有的hook一开始的价值都是1,这点需要注意一下,本题类似于线段染色问题,cover=-1就表示此线段中的颜色为混合色,计算时采用递归进行计算,直到找到非混合色(纯色)的线段再加,代码如下:#includeusing namespace std;const int maxsize = 50000;struct Stree{       int left, right, mid;              int cover;};Stree tree[6*maxsize+1];in

2011-02-09 16:38:00 556

原创 hdu1230火星A+B

<br /><br />今天秒掉此题,运气比较好,特此纪念一下,当然,这是一道水题,代码如下:<br />    #include <iostream><br />#include <cmath><br />using namespace std;<br />const int n = 110;<br />int a[n];<br />int s = 0;<br />void prim(int *a)<br />{<br />     bool b[n];<br />     memset(b,tr

2011-02-08 18:22:00 1228

原创 hdu1671

个人感觉trie作为一种数据结构其实并不难,在hdu上早先干掉了1251、1075,今天干掉了1247、1671,1247看懂题以后想了一下没有想出,后来参照网上代码,发现其实并不难,输入数据存入字典树后,再重新例举已输入的串,每一个串代入到字典树中,先判断是不是前缀,然后判断其后的那个单词是不是在字典树中,1671个人认为较为简单,设置一个count成员变量记录有多少个串通过该字母,判断的时候只要count>1&&x[i+1]=='/0'就可以了。    附1671代码:    #includeusing

2011-02-08 18:13:00 1959 1

原创 hdu1166 敌兵布阵

  很基础的线段树,本人做的第一个线段树题目,建树、插入、删除等功能会实现就可以了,另外不知道为什么用映射数组模拟一直WA。。。。ORZ   代码如下:   #includeusing namespace std;const int maxsize = 50000;struct Stree{       int left, right;              int cover;};Stree tree[3*maxsize];int sum;void Creat(int l, int r,

2011-02-08 18:10:00 785

空空如也

空空如也

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

TA关注的人

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