2015年5月30日

hdu5246 超级赛亚ACMer (百度之星初赛)(模拟)

摘要: 题意:一个初始战斗力上限为m的选手,和战斗力相同的人战斗后,该选手最多可提升k点战斗力,每提升一次k值减一;和战斗力低于他的人战斗,战斗力不变; n名挑战者,给出每名挑战者的战斗力,问他是否能将挑战者全部打败;思路:先sort,然后找到和他初始战斗力上限最接近的且比他弱的战斗力,然后根据下一个... 阅读全文

posted @ 2015-05-30 22:41 大树置林 阅读(186) 评论(0) 推荐(0) 编辑

2015年5月29日

poj 2653 Pick-up sticks(判断线段相交)

摘要: 题意:在桌上一次放n根木棒,求最上面的木棒编号;思路:暴力枚举,看每根木棒上是否有木棒;技巧:使用叉积,判断一个向量的两端点是否在另一向量的同侧,从而判断相交;#include#include#include#includeusing namespace std;const double epsi=... 阅读全文

posted @ 2015-05-29 23:48 大树置林 阅读(143) 评论(0) 推荐(0) 编辑

poj 1654 Area(求多边形面积)

摘要: 题意:从原点出发向八个方向走,所给数字串每个数字代表一个方向,终点与原点连线,求所得多边形面积;思路:(性质)共起点的两向量叉积的一半为两向量围成三角形的面积。以此计算每条边首尾两个向量的叉积,求和,除二;#include#include#include#include#includeusing n... 阅读全文

posted @ 2015-05-29 22:43 大树置林 阅读(162) 评论(0) 推荐(0) 编辑

poj 1106 Transmitters

摘要: 题意:给定一个点的坐标和一个圆半径,一个整数n,然后n个点坐标,求以给定点所在半圆能包含的最多点的个数;思路:枚举半圆直径边界,统计该边界一侧的包含点数,更新最大值;技巧:使用叉积,能方便的判断两向量的夹角是否小于180度;#include#include#include#includeusing ... 阅读全文

posted @ 2015-05-29 21:49 大树置林 阅读(165) 评论(0) 推荐(0) 编辑

2015年5月28日

HDU 1754 I Hate It(单点更新,区间求最大值)

摘要: 题意:n个点m次操作,每次操作给出c,a,b;若c为‘Q’,则查询【a,b】区间最大值;若c为‘U’,将第a个点更新为b;思路:线段树单点更新,区间求极值;#include#include#includeusing namespace std;int n,m;int tree[5000010];in... 阅读全文

posted @ 2015-05-28 11:42 大树置林 阅读(127) 评论(0) 推荐(0) 编辑

CodeForces 356A Knight Tournament(线段树成段更新)

摘要: 题意:n个人m次比赛,每次比赛有a,b,c三个数,代表[a,b]区间的获胜者为c,每次比赛失败者不在比赛,求最终每位选手输给谁;思路:线段树区间更新单点查询,更新各区间的次序与题目所给次序相反;(注意数据范围)#include#include#includeusing namespace std;i... 阅读全文

posted @ 2015-05-28 10:06 大树置林 阅读(133) 评论(0) 推荐(0) 编辑

2015年5月22日

POJ 2250 Compromise(最长公共子序列)

摘要: 题意:求两段文本的最长公共文本;思路:最长公共子序列+打印公共序列;#include#include#includeusing namespace std;int dp[505][505],num1,num2;char s[505][505],s1[505][505],s2[505][505];vo... 阅读全文

posted @ 2015-05-22 22:48 大树置林 阅读(150) 评论(0) 推荐(0) 编辑

2015年5月14日

HDU 1298 T9(字典树+搜索)

摘要: 题意:每组有n个字符串,每个串对应一个权值,给出一个手机按键表,每个数字键可对应按出几个字母,m个询问,给出一串数字(最后一位不计),求该数字串对应的权值最大的字符串(将数字串每个前缀对应的字符串输出);思路:将n个字符串插入字典树,在串的查询操作上进行深搜以便更新最大值,并且每个数字对应几个字符,... 阅读全文

posted @ 2015-05-14 16:08 大树置林 阅读(149) 评论(0) 推荐(0) 编辑

POJ 1204 Word Puzzles(字典树+搜索)

摘要: 题意:在一个字符矩阵中找每个给定字符串的匹配起始位置和匹配方向(A到H表示八个方向);思路:将给定字符串插入字典树中,遍历字符矩阵,在每个字符处向八个方向用字典树找。#include#include#includeusing namespace std;typedef struct node{ ... 阅读全文

posted @ 2015-05-14 11:18 大树置林 阅读(148) 评论(0) 推荐(0) 编辑

POJ 2001 Shortest Prefixes(字典树基础)

摘要: 题意:给出若干字符串,求每个字符串在所有字符串中唯一的最短前缀;思路:将所有串插入字典树,对于每个串枚举前缀,查找唯一前缀;#include#include#includeusing namespace std;struct node{ int num; node *next[26];}... 阅读全文

posted @ 2015-05-14 09:54 大树置林 阅读(131) 评论(0) 推荐(0) 编辑

2015年5月1日

HDU 1026 Ignatius and the Princess I(优先队列+打印路径)

摘要: 题意:n*m的迷宫,从(0,0)到(n-1,m-1),遇到怪物停留怪物所在方格中的数字个单位时间,求最短时间并打印路径;思路:用bfs先搜最短路,搜最短路时一定要用优先队列,不然结果不对;在通过保存上一步的方法保存路径,到达终点时,将路径查询出来,遇到怪物时位置不变;#include#include... 阅读全文

posted @ 2015-05-01 16:30 大树置林 阅读(167) 评论(0) 推荐(0) 编辑

HDU 1242 Rescue

摘要: 题意:迷宫搜索,一个起点可能有多个终点,遇到门卫要额外花费一个单位时间;思路:bfs;结构体表示队列:#include#include#includeusing namespace std;int n,m,s1,s2,e1,e2;char mm[505][505];int vis[505][505]... 阅读全文

posted @ 2015-05-01 13:35 大树置林 阅读(191) 评论(0) 推荐(0) 编辑

2015年4月30日

HDU 1010 Tempter of the Bone

摘要: 题意:一个n*m的迷宫,从起点到终点,问是否恰能在t个单位时间到达;思路:dfs遍历各种可能情况,奇偶剪枝;#include#include#include#include#includeusing namespace std;char mm[55][55];int vis[55][55];int ... 阅读全文

posted @ 2015-04-30 23:04 大树置林 阅读(129) 评论(0) 推荐(0) 编辑

2015年4月25日

15年浙江省赛总结

摘要: 第一次参加省赛,感觉省赛风格和区域赛差别蛮大的,思维题偏多,算法题偏少。 和其他正常的Acmer一样,对于这次比赛,感觉自己弱爆了。 早上七点出发前往浙大。第一次去浙大,感觉挺新鲜的,浙大的确比浙理大,浙理树多,浙大水多。 热身赛。 A题求和,秒切。B题泊松分布求概率,不会;D题给一个二元... 阅读全文

posted @ 2015-04-25 23:26 大树置林 阅读(189) 评论(0) 推荐(0) 编辑

2015年4月24日

HDU 3533 Escape

摘要: 题意:一个m*n的矩阵,k个炮台,人物要在d个单位时间内从(0,0)走到(m,n),并给出每架炮台的发射方向、发射时间间隔、炮弹速度、坐标,求人物到达终点的最短时间;思路:bfs,每走一步都判断一下四个方向是否有危险以确定是否能走这一步,并且不能走到炮台上!!!考虑要周全,vis用bool写,否则超... 阅读全文

posted @ 2015-04-24 22:33 大树置林 阅读(148) 评论(0) 推荐(0) 编辑

2015年4月23日

HDU 4725 The Shortest Path in Nya Graph(优先队列+dijkstra)

摘要: 题意:n个点、m条边、层与层之间的花费为c,给出每个点所在层(同一层的点联通花费为0),m条边每条边的花费,求1到n的最小花费;思路:第一反应就是优先队列的dijkstra,层与层之间建边,点与点之间建边,层与包含点之间建边,点与相邻层之间建边;练习一下优先队列dijkstra和邻接表;#inclu... 阅读全文

posted @ 2015-04-23 20:14 大树置林 阅读(148) 评论(0) 推荐(0) 编辑

2015年4月18日

POJ 3216 Repairing Company(二分图匹配)

摘要: 题意:给定n条街道,用一个矩阵描述两两之间的距离,m个任务,p,t,d分别为所在街道、任务起始时间、任务结束时间,求完成所有任务所需最少人数;思路:先用floyd处理两两间最短路,然后,若完成i任务的人能够完成j任务,则在i,j间建一条边,所需人数为总任务数减最大匹配数;匈牙利算法;#include... 阅读全文

posted @ 2015-04-18 18:56 大树置林 阅读(144) 评论(0) 推荐(0) 编辑

POJ 3414 Pots(bfs打印路径)

摘要: 题意:给定两个空桶的容量分别为A、B,经过6种操作使获得C升水,求最少操作数;思路:广搜。最少操作数很简单,练习一下打印路径;打印最短路劲就是每次记录当前状态和上一步,找到终点后查找路径。#include#include#includeusing namespace std;#define INF ... 阅读全文

posted @ 2015-04-18 13:44 大树置林 阅读(178) 评论(0) 推荐(0) 编辑

2015年4月17日

POJ 3278 Catch That Cow(bfs)

摘要: 题意:给定n,k两个数,三种操作,加一,减一,乘2,求n到k的最少步数;思路:广搜求最少步数;#include#include#includeusing namespace std;int n,m;int q[500010];int num[500010];int bfs(){ int b=0... 阅读全文

posted @ 2015-04-17 22:37 大树置林 阅读(121) 评论(0) 推荐(0) 编辑

poj 3009 curling2.0 (dfs)

摘要: 题意:一幅冰壶游戏地图中有起点,终点,墙,空地,每次从起点出发,求到达终点的最少步数;每次移动碰墙停止且墙消失,越出地图或步数大于10则失败;思路:用bfs不太好写,dfs暴搜;#include#include#includeusing namespace std;int n,m,s1,s2,num... 阅读全文

posted @ 2015-04-17 08:25 大树置林 阅读(95) 评论(0) 推荐(0) 编辑

导航