- 博客(30)
- 收藏
- 关注
原创 hdu1011
树形dp。题意:是有n个洞组成一棵树,你有m个士兵,你从1号房间开始攻打,每个洞有a个"bugs"和b的价值。你的一个士兵可以打20个"bugs",为了拿到这个洞的价值b你必须留下k个士兵消灭这个洞的所有"bugs"(k*20>="bugs"的数量,且留下的士兵不可以再去攻打其他的洞,且必须攻打了前面的洞才可以攻打后面的洞)。问你花费这m个士兵可以得到的最大价值是多少。 方
2014-07-06 17:11:55
426
原创 poj1036
题意:N个歹徒去一个餐馆,旅馆门有k个打开程度(每个打开程度为门的一个状态),每个歹徒拥有自己的肥胖度(两个歹徒的肥胖度可能相同)和繁荣度(prosperity),歹徒在i 时刻到餐厅来(两个歹徒可能同时来餐馆),若此时刻门的打开程度与歹徒的肥胖度相同,则歹徒就进入餐馆,同时餐馆获得这个歹徒相应的繁荣度,若歹徒到来时门的打开程度与歹徒的肥胖程度不同,则歹徒离开且不再回来。门的打开程度在每个单位时间
2014-05-14 21:33:21
565
原创 poj2553
题目大意:如果v点能够到的点,反过来能够到达v点,则称这个点为sink点,输出所有的sink点解题思路:求连通分量,然后出度为0的连通分量里面的点就是sink点一定要注意初始化。。。
2014-05-14 00:00:20
542
原创 poj2485 Highway
题目:http://poj.org/problem?id=2485题意:求最小生成树中的最长边。简单题。想法:prim()代码:#include#include#include#includeusing namespace std;const int INF=0x3f3f3f3f;const int maxn=510;bool vis[maxn];int d
2014-03-27 16:20:56
326
原创 poj1062 昂贵的聘礼
题目:http://poj.org/problem?id=1062题意:虽然是中文题。。但是也不好理解啊。。还是自己好好看看的。。想法:注意,这道题对等级有限制,假设酋长的等级为level,于是这个区间范围[level-m,level],[level-m+i,level+i],......,[level,level+m]都是可行的。所以用一个mark[]数组标记那些可以访问的人。每一个区间
2014-03-23 14:07:09
307
原创 poj1502 MPI Maelstrom
题目:http://poj.org/problem?id=1502题意:输入第一行为数目,以下为一个下三角矩阵,因为自身之间需要时间为0,所以输入的第一行是从2到1所需要的时间(无向图)。英语伤不起啊想法:输入是因为有字符又有数字,所以就用一个字符数组来存放。感觉如果一个个转换过来太麻烦,百度了一下发现有atoi这个函数,atoi()会扫描字符串,检测到第一个数字或正负符号时开始做类型转换
2014-03-22 15:32:50
432
原创 poj2253 Frogger
题目:http://poj.org/problem?id=2253题意:求1到2边上最小的距离想法:spfa。dis[]数组存放距离,今天晚上好累= =不多写了。。AC代码:#include#include#include#include#include#includeusing namespace std;const int INF=0x3f3f3f3f;
2014-03-19 21:25:20
306
原创 poj1548 A strange lift
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1548题意:有一个奇怪的电梯,在每一层上只能上升或下降特定的层数,比如,在第i层给的数字是k,则在这层可以下降到i-k,或者上升到i+k,但是楼层必须在1-n之间。输入,第一行三个数,没别是楼层,以及起点和终点,第二层n个数,表示每个楼层能上升或下降的楼层数。想法:先构图,有向图,如果输入时能够到达
2014-03-18 21:08:11
397
原创 hdu2544 最短路
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2544题意:。。。中文题,不再累述。想法:简单题,spfa水过。代码:#include#include#include#include#includeusing namespace std;const int INF=0x3f3f3f3f;const int maxn=
2014-03-18 20:28:32
333
原创 hdu1874 畅通工程续
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1874题意:中文题。。略过。。想法:最短路径。spfa和Dijkstra都可以。spfa写的。代码:#include#include#include#include#includeusing namespace std;const int INF=0x3f3f3f3f;
2014-03-18 20:04:52
343
原创 hdu2112 HDU Today
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2112题意:输出从起始站到终点的最短时间。想法:spfa。这道题给出的城市数小于150个,所以数组不用开太大。还有一点就是把城市名转化为序号标记起来,网上看说用map更简单,只有等晚上上课回来再搜一下map的用法了。这道题一开始在输入时用得 cin 跑到了4980ms,吓死= =。改成sca
2014-03-18 17:49:23
348
原创 hdu2066 一个人的旅行
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2066题意:中文题想法: 很明显的最短路径问题,有两种想法。(1)在输入时先记录输入的最大的城市的编号n。增加一个虚拟的起点0,让它与城镇相连的距离为0,再增加一个虚拟的节点n+1,让它与目的地连接且距离为0,则题目转化为求从0到n+1的最短路问题。(2)用一个数组存起来与城镇相连的城市,然
2014-03-17 19:05:16
472
原创 hdu3790 最短路径问题
题目;http://acm.hdu.edu.cn/showproblem.php?pid=3790题意:中文题~想法:最短路径,两种做法,Dijkstra 和 spfa。Dijkstra搜索每一个点,然后标记vis[]为true。我用spfa试着写了写,spfa主要是把没有在队列中的节点放入队列中,一开始dis[]数组初始化为最大,否则会WA掉。。代码:#include
2014-03-17 17:26:24
309
原创 poj1258 Agri-Net
题目:http://poj.org/problem?id=1258题意:给出一个矩阵,表示第i个农场与第j个农场的距离,求把农场连起来的最短距离。想法:Kruskal与prim都写了一下。写kruskal遇到点困难,不知道错哪了,改着改着就对了。kruskal和并查集好像有木有。。代码:prim#include#include#include#includeus
2014-03-17 09:31:54
295
原创 poj3278 Catch That Cow
题目:http://poj.org/problem?id=3278题意:从n到m,最少几步。简单的bfs,刚开始学可以做一下代码:#include#include#include#include#includeusing namespace std;const int maxn=1000010;bool vis[maxn];int step[maxn];i
2014-03-16 11:04:13
291
原创 hdu1240 Asteroids!
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1240题意:空间 中的bfs。六个方向,O(大写的)可以走,X代表星星,不可以走。问你走几步可以走到指定位置。题目中有一句话是“Both the Starting Position and the Target Position will be in empty space.。但是它给的第二组数据很明显
2014-03-16 09:54:42
361
原创 poj3414 Pots
题目:http://poj.org/problem?id=3414题意:给你a,b,c三个容积的杯子,问通过a,b(不使用c)什么操作能够得到c升的水。包括6中操作。想法:bfs,六个状态。关键是要回溯步骤,用栈来保存,正好倒序输出。代码#include#include#include#include#include#includeusing namespace
2014-03-16 09:53:12
330
原创 poj3009 Curling 2.0
题目:http://poj.org/problem?id=3009题意:就是要求把一个冰壶从起点“2”用最少的步数移动到终点“3”。其中0为移动区域,1为石头区域,冰壶一旦想着某个方向运动就不会停止,也不会改变方向(想想冰壶在冰上滑动),除非冰壶撞到石头1 或者 到达终点 3。冰壶撞到石头后,冰壶会停在石头前面,该块石头会破裂,石头所在的区域由1变为0。想法:dfs深搜。四个方向。
2014-03-13 20:39:07
322
原创 hdu1175 连连看
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1175题意:中文题。这里不再累述。注意:只要转折两次以内就可以。想法:一开始想用dfs做,即沿一个方向一直走,知道碰到不是0或者目标位置,后来发现写不出来,也有可能在一半的时候就转折并且到达了,然后就用bfs做了。做完之后,百度看了看说这道题bfs,dfs都可以。但是没看懂某大神的dfs代码。这道题
2014-03-13 17:06:04
326
原创 hdu1879 继续畅通工程
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1879题意:有n个城镇,给出 n*(n-1)/2 行关系,每行有4个数a,b,c,d。其中a,b表示城镇,c表示建路的金钱数,若d=0表示未建,d=1,表示已建。求把各个城镇全部连通需要多少钱。想法:最小生成树,把已经建好的城镇之间的标记为0。感觉有一个很坑的地方就是只有把 cin>>
2014-03-12 15:14:35
512
原创 hdu1010 Tempter of the Bone
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1010题意:输入一个n*m的迷宫,和一个T:可以在迷宫中生存的最大时间。S为起点,D为终点。并且,每个格子只能踩一次,且只能维持一秒,然后该块地板就会塌陷。所以你必须每秒走一步,且到D点时,所用时间为T。 注意:直到时间T时door才开。所以可以认为在T时走到door。代码:#include
2014-03-12 12:07:43
322
原创 poj1088 滑雪
题目:http://poj.org/problem?id=1088题意:给出一个二维矩阵,在每个点能向上下左右走,但要求是走的下一步必须比当前的点小。让求一个最长路径。 想法:bfs搜索每一个点,记录最大值,并输出。最后输出ans要+1。判断条件要写对,不然会WA的很惨。代码:#include#include#includeusing namespace std;b
2014-03-11 20:53:12
336
原创 poj1562 Oil Deposits
题目:http://poj.org/problem?id=1562题意:就是求油田的块数,如果一个小油田位于另一个小油田的周围的小矩形上(周围八个小方格),那么认为这两个油田是连通的,求有多少个这样的连通块。思路:DFS搜索,两重循环遍历矩阵,如果这个节点是油田,就从这一个节点出发进行DFS,然后把这个点变为*,再八个方向dfs。代码:#include#includeu
2014-03-11 20:26:24
392
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人