
HDUOJ
文章平均质量分 75
飘谊
编程爱好者。。
展开
-
杭电acm题目分类
注:网上搜的第一篇 1001 这个就不用说了吧1002 简单的大数1003 DP经典问题,最大连续子段和1004 简单题1005 找规律(循环点)1006 感觉有点BT的题,我到现在还没过1007 经典问题,最近点对问题,用分治1008 简单题1009 贪心1010 搜索题,剪枝很关键1011 1012 简单题1013 简单题(有个小陷原创 2012-07-05 08:42:32 · 1545 阅读 · 0 评论 -
HDU OJ 2586 How far away ?【LCA的Tarjan离线算法】
原题连接:http://acm.hdu.edu.cn/showproblem.php?pid=2586题意:给n个点,n-1条边,保证任意两点有且只有一条路,给m次查询——每次查询给两个点 i ,j 求这两点之间的距离。思路:若用 一般的 最短路 来写,时间复杂度比较高,会超时。这题时利用 LCA的Tarjan离线算法LCA 就是 求 点 i,j 的最近公共祖先 k: d [ ]原创 2012-08-04 09:00:59 · 1017 阅读 · 0 评论 -
HDU OJ 1269 迷宫城堡【有向图强连通分量的Tarjan算法 入门】
原题连接:http://acm.hdu.edu.cn/showproblem.php?pid=1269题意:~~~~~;思路:就是判断图是否是 强连通图;有向图强连通分量的Tarjan算法:[有向图强连通分量]在有向图G中,如果两个顶点间至少存在一条路径,称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。原创 2012-08-18 09:20:56 · 1888 阅读 · 0 评论 -
HDU OJ 1166 敌兵布阵 【线段树之插点问线】
原题连接:http://acm.hdu.edu.cn/showproblem.php?pid=1166题意:不用多说了……思路:一个入门的线段树插点问线,解释在代码里AC代码:/*线段树 -插点问线:1:线段树中存的是对应区间的和。2:某一点 更新值时,将该点的父节点(依次向上直到根节点)都更新3:查询时 找到在线段数中分成对应的各个小区间,求sum即可。*/#incl原创 2012-10-26 12:37:31 · 983 阅读 · 0 评论 -
HDU OJ 1754 I Hate It 【线段树之求区间最值】
原题连接:http://acm.hdu.edu.cn/showproblem.php?pid=1754题意:说的很清楚,不必过多的解释了……思路:线段树的求区间最值……解释在代码里AC代码:/*线段树 -求区间最值之改点1:线段树中存的是 区间的最值2:建线段树时 到单点时回溯回去,更新出该点父节点(一直向上到根节点)的最值3:改变某一点值时,找到该点所在区间节点,回溯原创 2012-10-26 12:26:29 · 1120 阅读 · 0 评论 -
HDU OJ 3308 LCIS 【线段树之区间合并】
原题连接:http://acm.hdu.edu.cn/showproblem.php?pid=3308题意:……思路:线段数的区间合并问题,和上篇类似,具体参考http://blog.youkuaiyun.com/piaoyi0208/article/details/8149804AC代码:#include#include#include#define Mid(a,b) (a+b)>原创 2012-11-07 13:29:52 · 2685 阅读 · 0 评论 -
HDU OJ 1083 Courses 【二分图匹配之最大匹配】
原题连接:点击打开链接题意:有p门的课,每门课都有若干学生,现在要为每个课程分配一名课代表,每个学生只能担任一门课的课代表,如果每个课都能找到课代表,则输出"YES",否则"NO"。思路:入门的二分图最大匹配问题,求的最大匹配数ans 若 ans = p 则输出 YES,否则 NO。代码:#include#include#include#include#include原创 2012-12-10 19:18:54 · 2654 阅读 · 0 评论 -
HDU OJ 1281 棋盘游戏【二分图匹配之最大匹配重要点】
原题连接:点击打开链接题意:…………思路:求最多能放多少个 “车”,可以转化成 二分图的最大匹配!,把能放的点的 横纵坐标 当作 二分图的一条边!最大匹配就满足了题目中任意两个“车”不会互相吃到的条件,因为匹配结果,会使得棋盘中的匹配点(也就是二分图中的匹配边),不在同一列且不再同一行。求出最大匹配后 ,则重要点必定在最大匹配的边上!依次去掉每条便,再求最大匹配看和原匹配是否相等即可!原创 2012-12-10 19:33:16 · 2805 阅读 · 0 评论 -
HDU OJ 1350 Taxi Cab Scheme 【二分图匹配之最小路径覆盖】
原题连接:点击打开链接题意:……思路:二分匹配的最小路径覆盖;在一个有向图无环图里面,寻找最少的路径去覆盖所有的节点,每个节点仅能覆盖一次。 用尽量少的不相交简单路径覆盖有向无环(DAG)G的所有顶点,这就是DAG图的最小路径覆盖问题。解决此类问题可以建立一个二分图模型。把所有顶点i拆成两个:X结点集中的i和Y结点集中的i',如果有边i->j,则在二分图中引入边i->原创 2012-12-10 19:49:29 · 2802 阅读 · 0 评论 -
HDU 2119 Matrix【二分图之最小点集覆盖】
原题连接:点击打开链接题意:给一个矩阵,矩阵点值为0或1,每次可以将矩阵的一行或一列 全变成0 ,问最少需要多少次,可以使矩阵的点全为0.思路:讲矩阵点值为1的点的横纵坐标问边建二分图,求二分图的最小点集覆盖。 最小覆盖要求用最少的点(X集合或Y集合的都行)让每条边都至少和其中一个点关联。可以证明:最少的点(即覆盖数)=最大匹配数 M简单的证明如下:(1)M个原创 2012-12-10 21:41:23 · 3238 阅读 · 0 评论 -
HDU OJ 3829 Cat VS Dog 【二分图之最大独立集】
原题链接:点击打开链接题意:……思路:根据人物喜欢和不喜欢猫狗的编号来建立二分图,若两个人的喜欢,不喜欢 矛盾,则建立边,就把问题转化为求图的最大独立集。二分图的最大独立集数=节点数(n)-最大匹配数代码:#include#include#include#include#include#include#include#includeusing namespa原创 2012-12-11 18:58:04 · 2904 阅读 · 0 评论 -
HDU OJ 3306 The Number of set【状态压缩】
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3006思路:二进制,位运算|,来标记状态。比如一个集合里面出现了 2 、4、 6 ,那就用二进制数101010 = (十进制) 2+8+32=42 ,来记录该集合出现过!!,由于m值 AC代码:#include#include#include#include#include#in原创 2013-03-29 10:51:48 · 2776 阅读 · 0 评论 -
HDU OJ 1677 Nested Dolls【二分,LIS】
原题连接:http://acm.hdu.edu.cn/showproblem.php?pid=1677题意:每组测试数据给n个硬币,现在给你这n个硬币的长和高,若一硬币的长和高都小于另一个硬币,则这来个硬币可嵌套为一个硬币。。求最后剩余的最小硬币数。思路:首先肯定能想到的是 贪心,不停遍历,不停更新。。复杂度 n*n (超时!!),然后又想到和以前做的题类似,有想到 二分图匹配之最小路径覆原创 2013-03-17 21:50:00 · 3221 阅读 · 0 评论 -
HDU 2458 Kindergarten【二分图之反建边】
原题连接:http://acm.hdu.edu.cn/showproblem.php?pid=2458题意:…………思路:反键边求最小点集覆盖key,boys+girls-key 就是答案。根据题意:反建边后,每条边代表的是该男孩和该女孩不认识,求的最小点集,把这些点去掉后即所有反建的边被去掉,则剩余的就是男女之间都相互认识。。AC代码:#include#include#inc原创 2013-03-20 11:15:30 · 2680 阅读 · 0 评论 -
HDU OJ 4185 Oil Skimming【二分图之黑白染色】
原题连接:http://acm.hdu.edu.cn/showproblem.php?pid=4185题意:题目描述的很垃圾。。简化一下,看题中的图,求最多有多少对#,(相邻的两个是一对)代码:#include#include#include#include#include#include#include#includeusing namespace std;cons原创 2013-03-20 17:49:07 · 3363 阅读 · 0 评论 -
HDU OJ 2255 奔小康赚大钱【KM模版】
原题连接::http://acm.hdu.edu.cn/showproblem.php?pid=2255代码:#include#include#include#includeusing namespace std;const int maxn = 305;const int INF = 2147483647;int w[maxn][maxn];int lx[max原创 2013-03-22 13:51:12 · 2615 阅读 · 0 评论 -
HDU OJ 4501 小明系列故事——买年货【DP】
原题连接:http://acm.hdu.edu.cn/showproblem.php?pid=4501思路:三维~~~~~AC代码:#include#include#include#include#includeusing namespace std;const int Max = 100 +10;const int base = 2;const int inf =原创 2013-03-26 16:46:54 · 2765 阅读 · 0 评论 -
HDU 3449 Consumer【DP之背包】
原题连接:http://acm.hdu.edu.cn/showproblem.php?pid=3449题意:自己看吧~~~思路一:先对箱子里的物品进行一次01背包,然后加上箱子价格,在进行分组背包,然后TLE !!白写了一个下午呀!!!超时代码:#include#include#include#include#includeusing namespace std;原创 2013-03-27 19:34:24 · 2709 阅读 · 0 评论 -
HDU OJ 4325 Flowers 【树状数组离散化】
原题连接:http://acm.hdu.edu.cn/showproblem.php?pid=4325题意:给n朵花,每朵花都有一个开花时间(是一个区间),给q次查询命令,每次查询输入一个时间点,询问该时刻共有多少花正在开……思路:这就是一个树状数组的 插线问点 算法,但是 注意 范围1 i <= Ti 围比较小,这就说明要先对数据进行离散化处理,缩小范围即可。。但是怎么离散化呢?原创 2012-10-22 18:23:23 · 887 阅读 · 0 评论 -
HDU OJ 4313 Matrix【克鲁斯卡尔算法变形】
原题连接:http://acm.hdu.edu.cn/showproblem.php?pid=4313题意: 毁坏链接有Machines城市之间的路,使得所有有 Machines 的城市不能相互链接!!给出 n 个城市,n - 1条路,m个有 Machines的城市,给出每条路的城市 x,y,以及毁坏这条路的时间 z 。求的怎样毁坏路 能在最短的时间 达到目的!,输出最短时间。思路原创 2012-07-29 11:09:42 · 913 阅读 · 0 评论 -
hduoj 1253 胜利大逃亡 和 nyoj 523 亡命逃亡 【搜索】
链接:hduoj 1253:http://acm.hdu.edu.cn/showproblem.php?pid=125nyoj 523:http://acm.nyist.net/JudgeOnline/problem.php?pid=523在杭电上看不懂题的可以到nyoj看看,简单说一下题意,定义一个数组map [ 60] [60 ] [60 ] ,如果存放输入数据不是从数组的下标0原创 2012-04-10 08:29:24 · 1382 阅读 · 0 评论 -
HDU OJ 1010 Tempter of the Bone【深搜】
原题连接:http://acm.hdu.edu.cn/showproblem.php?pid=1010思路:dfs 深度优先搜索+剪枝 ;1:因为是某个时刻正好到达door,所以要搜出所有的能到达door的情况,比较时间是否相等,故用深搜!!2:只有一般的深搜搜索提交会超时,所以需要剪枝。。剪枝如下:1.如果当前搜索的深度(时间)大于时间t,中止搜索。2.如果已原创 2012-07-06 10:32:10 · 2420 阅读 · 1 评论 -
HDU OJ 1712 ACboy needs your help【分组背包入门题】
原题连接:http://acm.hdu.edu.cn/showproblem.php?pid=1712题意:n 代表 共有几节课, m 代表 天数。下面是 n*m的矩阵:第 i 行 第 j 个数值代表 第 i 节课 花费 j 天 所得 利益。。求 在所花时间不超过 m 的情况下 怎么去上课 获最大利益!联系01 背包,差别就是 这个每节课最多只能上一次!! 就是原创 2012-07-07 13:55:10 · 2098 阅读 · 0 评论 -
HUD OJ 1232 畅通工程 和 HDU OJ 1233还是畅通工程【并查集和克鲁斯卡尔算法】
原题链接;http://acm.hdu.edu.cn/showproblem.php?pid=1232 .... http://acm.hdu.edu.cn/showproblem.php?pid=11232 就是 判断 有几个城市是孤立的,未连通。。用并查集可以解决这个问题。。说说并查集吧。。l 并查集:(union原创 2012-03-27 09:35:33 · 1373 阅读 · 0 评论 -
hdu oj 2136 Largest prime factor 和 nyoj 520 最大素因子 【筛选法】
hud oj 2136 链接:http://acm.hdu.edu.cn/showproblem.php?pid=2136nyoj 520 链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=520这两个题是一样的,nyoj就是翻译hduoj的,在hduoj看不懂题的可以到nyoj 去看看。。这个题是貌似还是 ice 翻译过来原创 2012-04-10 07:56:21 · 1238 阅读 · 0 评论 -
HDUOJ1874 畅通工程续 和 NYOJ 115 城市平乱【Dijkstra 算法】
原题链接:nyoj 115:http://acm.nyist.net/JudgeOnline/problem.php?pid=115 hduoj 1874: http://acm.hdu.edu.cn/showproblem.php?pid=1874 一、Dijkstra 算法的介绍 Dijkstra 算法,又叫迪科斯彻算法(Dijkstra),原创 2012-03-29 08:55:39 · 1973 阅读 · 0 评论 -
HDU OJ 2159 FATE 【动态规划】
原题连接:http://acm.hdu.edu.cn/showproblem.php?pid=2159思路:该题是一个 二为费用完全背包,要满足两个条件,忍耐度,杀怪数,求最大经验。输出达到 升级经验时剩余的最大忍耐度。代码:#include#includestruct hello{ int x; int y;}yi[500];int ok[500][500]原创 2012-07-09 14:54:25 · 1083 阅读 · 0 评论 -
HDU OJ 3496 Watch The Movie【动态规划】
原题连接:http://acm.hdu.edu.cn/showproblem.php?pid=3496题意:给n个物品,每个物品仅有一个,每个物品有代价,价值,在n个物品中选取m个物品(正好选m个,不多不少),满足总代价小于 题上给的 v,求 满足条件的最大价值,若不能满足条件输出0;思路:二维01背包,对于二维背包01背包和一维01背包相比,多了一层循环即可。但本题 求的是 正好选m个物原创 2012-07-09 19:29:18 · 855 阅读 · 0 评论 -
NYOJ 104 最大和 和POJ 1050 To the Max【动态规划】
原题链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=104nyoj题是汉语的,很好理解,该题就是在一个矩阵中找到一个子矩阵,该子矩阵和最大!!输出最大和即可。。思路:首先你可能会想到穷举的方法,但当n很大时,显然是不可取的。。这个题应该是用dp来解决的。 让我们先来看另外的一个问题(最大子段和问题): 给定一个长度为n的一维数原创 2012-07-09 14:08:43 · 13560 阅读 · 0 评论 -
HDU OJ 3303 I love sneakers!【动态规划之分组背包入门】
原题连接:http://acm.hdu.edu.cn/showproblem.php?pid=3033题意:看样例:5 10000 31 4 62 5 73 4 991 55 772 44 66第一行 中 5 代表 有5个 物品,(以下有5行,即每个物品信息),10000代表现在的钱数(即背包体积),3代表物品分3个品牌,以下有5行,每行第一个数 为 品牌,原创 2012-07-10 13:22:01 · 2062 阅读 · 0 评论 -
HDU OJ 2830 Matrix Swapping II 【动态规划】
原题连接:http://acm.hdu.edu.cn/showproblem.php?pid=2830题意:给一个矩阵(0 ,1),列与列都可以交换(无数次),找到一个最大子矩阵(面积)时期值都为 1 。输出 最大面积值即可。思路: 要用一个 num [ ] 数组 记当前 高度 值 !!例如:3 4 num[]1011 10111001 20020001 0003原创 2012-07-11 18:17:11 · 1237 阅读 · 0 评论 -
HDU OJ 4193 Non-negative Partial Sums 【单调队列】
原题连接:http://acm.hdu.edu.cn/showproblem.php?pid=4193单调队列详解:参考 http://blog.youkuaiyun.com/dgq8211/article/details/7430726 ,讲的很好。AC代码:#include#includeconst int M=1000002<<1;int sum[M],q[M];int h原创 2012-07-12 09:36:00 · 2103 阅读 · 0 评论 -
HDU OJ 1003 Max Sum 【动态规划】
原题连接:http://acm.hdu.edu.cn/showproblem.php?pid=1003题意:给一行数,求 连续几个数的 最大和。思路:动态规划, sum=0 sum+= w[ a ]; 还有一点就是要标记 首位位置,模拟下过程你会发现,当 max 值 改变时 收尾位置 要发生改变,尾的位置很好确定就是 当前循环进行到的地方,那么首呢? 你会发现有时候 首 不改变,其实首的原创 2012-07-11 17:57:52 · 1991 阅读 · 0 评论 -
HDU OJ 1506 Largest Rectangle in a Histogram 和 NYOJ 258 最大长方形(二) 【单调队列】
原题连接: http://acm.hdu.edu.cn/showproblem.php?pid=1506 (hdu)思路:单调队列,开 两个数组 stack [ ] 和 len [ ] stack [ ] 存 输入的 长 len [ ] 存宽。stack 里面 按 单增 存,遇到 比 stack [ top ] 小的 数据 就要 讲 顶部元素删除,直到 删后 顶部可以存 为止,在删之前原创 2012-07-12 14:42:14 · 3251 阅读 · 0 评论 -
HDU OJ 4334 Trouble 【hash】
原题连接:http://acm.hdu.edu.cn/showproblem.php?pid=4334思路:利用hash 离散化,解决冲突方法为+1;AC代码:#include#include#include#includeusing namespace std;const __int64 inf=1e15+1;const int Max=900000;__int64 a原创 2012-08-06 10:31:42 · 832 阅读 · 0 评论 -
HDU OJ 3549 Flow Problem 【最大流入门】
原题连接:http://acm.hdu.edu.cn/showproblem.php?pid=3549题意:不用费话了,题上已经很清楚了。思路:就是一个入门的最大流问题,关键是找增广路。这是第一次做最大流纪念一下,呵呵。。AC代码:/*hdu 3549 最大流*/#include#include#includeusing namespace std;int cap[20]原创 2012-07-27 10:10:53 · 931 阅读 · 0 评论 -
HDU OJ 4318 Power transmission【最短路spfa】
原题连接:http://acm.hdu.edu.cn/showproblem.php?pid=4318题意:有一个发电站 s ,将电传送至 t , 有 许多路线可以走,每走 一条路 有损失,求埙失的最小值。思路:(1)转化为 最短路问题,损失 = max- max*(1-a%)*(1-b%)……*(1-%n)(假设任意一条路线); (2)求的 (1-a%)*(原创 2012-07-28 11:50:09 · 882 阅读 · 0 评论 -
HDU OJ 3127 WHUgirls【DP之背包】
原题连接:http://acm.hdu.edu.cn/showproblem.php?pid=3127题意:给一个矩形长xi,宽yi,给出n个小矩形的长,宽,以及这种小矩形的val,把大矩形分成若干个小矩形,求的最大的val思路:首先是个 完全背包,然后 是个二维费用背包(长 和 宽)。。注意长宽可交换,每种长宽对应两种分割方法。如图就是所说的两种方案。AC原创 2013-03-28 09:38:46 · 2979 阅读 · 0 评论