07 2015 档案

摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2191思路分析:该问题为多重背包问题;假设状态dp[i][v]表示在前i件物品中选择物品放入大小为v的背包的最大的重量,则可以第i件物品可以选择0~n[i]件,所以可以得出状态方程 dp[i][v] = ... 阅读全文
posted @ 2015-07-31 11:23 Leptus 阅读(202) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1114思路分析:该问题要求为多重背包问题,使用多重背包的解法即可;假设dp[v]表示容量为v的背包中能够装下的最少的价值,因为一件物品可以装无限数次,所以可以得到递推公式: dp[v] = Min(dp[... 阅读全文
posted @ 2015-07-31 10:25 Leptus 阅读(205) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2546思路分析:该问题为0-1背包问题的变形题;问题求余额最少,设开始的余额为V,则求得用V-5可以买到的菜的最大价值,最后留下的5元则用来买菜价最高的菜,可以证明这种购买方式是能够产生最优解的;另外,因... 阅读全文
posted @ 2015-07-29 21:58 Leptus 阅读(162) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602思路分析:该问题为经典的0-1背包问题;假设状态dp[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值,则可以推导出dp递推公式dp[i][v] = Max{dp[i-1][v],... 阅读全文
posted @ 2015-07-29 19:55 Leptus 阅读(151) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5319思路分析:假设颜色R表示为1,颜色B表示为2,颜色G表示为3,因为数据量较小,采用暴力解法即可,即每次扫描对角线,看每条对角线需要画多少笔,统计所有对角线的笔数和即可;代码如下:#include #... 阅读全文
posted @ 2015-07-28 17:51 Leptus 阅读(205) 评论(0) 推荐(0)
摘要:题目链接:http://poj.org/problem?id=3678思路分析:该问题要求判断是否能给定每一个布尔变量一个值,使布尔变量满足某些逻辑条件;需要根据逻辑条件来进行点与点的连接:假设两个变量为a与b,2 * a表示a的值为0的点,2 * a + 1表示a的值为1的点,则可以根据逻辑条件给... 阅读全文
posted @ 2015-07-28 10:33 Leptus 阅读(184) 评论(0) 推荐(0)
摘要:题目链接:http://poj.org/problem?id=3207思路分析:该问题给出N个点,并给出M条连接这些点的线,需要判断是否这些线不会相交;(1)假设两条线A的端点按照圆圈的顺时针方向依次为A0,A1,同理线B为B0, B1,则可以知道当 A0 线B在外侧,线A在外侧—>线B在内侧,线B... 阅读全文
posted @ 2015-07-28 09:32 Leptus 阅读(177) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1824思路分析:该问题为2-SAT问题;需要注意逻辑推理的等价性;(1)题目第一个条件:每一个队或者队长留下或者其与两名队员同时留下,或者表明只能为两种情况中的一种;假设三人为A,B,C,队长为A,0表示... 阅读全文
posted @ 2015-07-27 21:25 Leptus 阅读(325) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3062思路分析:将问题转换为2-SAT问题,需要注意的是将命题转换为有向图的方法;命题中A1, A2, C1, C2表示C1与C2不能同时出现,所以A1中C1出现等价于A2中C2 ^ 1出现,同理A2中C... 阅读全文
posted @ 2015-07-27 18:33 Leptus 阅读(158) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1874思路分析:该问题给定一个无向图、起始点和终点,要求求出从起始点到终点的最短距离;使用Dijkstra算法求出从起始点到所有的其他点的最短路长度即可,如果最短路长度为INT_MAX,表示从起始点到该点... 阅读全文
posted @ 2015-07-26 17:00 Leptus 阅读(184) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2544思路分析:该问题给定一个无向图,要求求从起始点到终点的最短路径长度;可以使用dijkstra算法求出该起始点到其他所有点的最短距离;代码如下:#include #include #include #... 阅读全文
posted @ 2015-07-26 16:25 Leptus 阅读(198) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1233思路分析:该问题为最小生成树问题,使用kruskal算法或者prim算法即可解决;代码如下:#include #include #include #include using namespace s... 阅读全文
posted @ 2015-07-26 12:33 Leptus 阅读(138) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5311思路分析:该问题要求在字符串中是否存在三个不相交的子串s[l1..r1], s[l2..r2], s[l3..r3]能够拼接成模式串,而且满足要求1≤l1≤r1#include #include u... 阅读全文
posted @ 2015-07-26 00:10 Leptus 阅读(165) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1532思路分析:问题为最大网络流问题,给定一个有向图,需要求解该有向图的最大网络流,使用EdmondsKarp算法求解;需要注意输入的边中可能有重边的存在;代码如下:#include #include #... 阅读全文
posted @ 2015-07-25 11:58 Leptus 阅读(216) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3549思路分析:该问题为裸的最大网络流问题,数据量不大,使用EdmondsKarp算法求解即可;需要注意的是该问题的点最多有15个,边的数目最多有1000个,所以该图中存在重边,需要将多个重边合为一条边;... 阅读全文
posted @ 2015-07-25 11:46 Leptus 阅读(195) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1269思路分析:该问题要求判断是否每两个房间都可以相互到达,即求该有向图中的所有点是否只构成一个强连通图分量,使用Tarjan算法即可求解;代码如下:#include #include #include ... 阅读全文
posted @ 2015-07-24 22:28 Leptus 阅读(244) 评论(0) 推荐(0)
摘要:题目链接: http://poj.org/problem?id=1144思路分析:该问题要求求出无向联通图中的割点数目,使用Tarjan算法即可求出无向联通图中的所有的割点,算法复杂度为O(|V| + |E|);代码如下:#include #include #include #include usi... 阅读全文
posted @ 2015-07-24 15:15 Leptus 阅读(157) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3478思路分析:该问题需要求是否存在某一个时刻,thief可能存在图中没一个点;将该问题转换为图论问题即为判断该图是否为一个连通图且不为二分图;(1)二分图的性质:对于无向图G=(V, E),如果可以将图... 阅读全文
posted @ 2015-07-24 10:36 Leptus 阅读(515) 评论(0) 推荐(0)
摘要:题目链接:http://poj.org/problem?id=1386思路分析:该问题要求判断单词是否能连接成一条直线,转换为图论问题:将单词的首字母和尾字母看做一个点,每个单词描述了一条从首字母指向尾字母的有向边,则则所有的单词构成了一个有向图,问题变为判断该有向图中是否存在一条欧拉路;有向图中存... 阅读全文
posted @ 2015-07-23 22:38 Leptus 阅读(357) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1878思路分析:该问题给定一个无向图,要求判断该无向图是否存在欧拉回路;无向图判断存在欧拉回路的两个必要条件:该无向图为连通图且所有的结点的度数为偶数;代码如下:#include #include #in... 阅读全文
posted @ 2015-07-23 21:53 Leptus 阅读(186) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3018思路分析:题目可以看做一笔画问题,求最少画多少笔可以把所有的边画一次并且只画一次;首先可以求出该无向图中连通图的个数,在每个无向连通图中求出需要画的笔数再相加即为所求。在一个无向连通图中,如果所有的... 阅读全文
posted @ 2015-07-23 21:19 Leptus 阅读(344) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1028思路分析:该问题要求求出某个整数能够被划分为多少个整数之和(如 4 = 2 + 2, 4 = 2 + 1 + 1),且划分的序列 2, 2 或者 2, 1, 1为单调非递增序列;使用动态规划解法:假... 阅读全文
posted @ 2015-07-22 17:56 Leptus 阅读(201) 评论(0) 推荐(0)
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3065思路分析:问题需要模式匹配多个模式串,需要注意的是模式串会包含和重叠,需要对AC自动机的匹配过程进行修改,对于每个节点,需要从该节点的失败指针回溯,如果失败指针回溯后的节点为某个模式串的最后一个节... 阅读全文
posted @ 2015-07-22 00:17 Leptus 阅读(214) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2896思路分析:题目为模式匹配问题,对于一个给定的字符串,判断能匹配多少个模式;该问题需要静态建树,另外需要对AC自动机的模板加以修改,对于每个匹配的模式的最后一个单词的fail指针指向root,即可实现... 阅读全文
posted @ 2015-07-21 23:15 Leptus 阅读(227) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1251思路分析:该问题要求求出以某个字符串为前缀的单词数目,通过使用字典树,在字典树中添加count记录通过该结点的单词数目即可;查找时找到前缀的最后一个单词的结点的count值即为所求;代码如下:#in... 阅读全文
posted @ 2015-07-20 23:10 Leptus 阅读(137) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3555思路分析:该问题要求求解1—N中的数中含有49的数的个数,可以使用DFA来递推dp公式;详细解释点击链接查看;代码如下:#include #include #include using namesp... 阅读全文
posted @ 2015-07-20 22:44 Leptus 阅读(208) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1247思路分析:题目要求找出在输入字符串中的满足要求(该字符串由输入的字符串中的两个字符串拼接而成)的字符串。对于长度为LEN的字符串,其可能由LEN种可能的拼接可能;现在问题转化为查找能够拼接成该字符串... 阅读全文
posted @ 2015-07-20 21:00 Leptus 阅读(149) 评论(0) 推荐(0)
摘要:题目链接:http://poj.org/problem?id=1204思路分析:由于题目数据较弱,使用暴力搜索;对于所有查找的单词建立一棵字典树,在图中的每个坐标,往8个方向搜索查找即可;需要注意的是查找时不能匹配了一个单词就不在继续往该方向查找,因为在某个坐标的某个方向上可能会匹配多个单词,所以需... 阅读全文
posted @ 2015-07-19 23:15 Leptus 阅读(250) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1166思路分析:该问题为动态连续和查询问题,使用数组数组可以解决;也可使用线段树解决该问题;代码如下:#include #include #include using namespace std;cons... 阅读全文
posted @ 2015-07-18 20:43 Leptus 阅读(207) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2222思路分析:该问题为多模式匹配问题,使用AC自动机解决;需要注意的问题是如何统计该待查询的字符串包含的关键字:假设待查找的字符串为str[0..n],则str[i…j]可能为某一个关键字;假设当前正在... 阅读全文
posted @ 2015-07-17 23:17 Leptus 阅读(270) 评论(0) 推荐(0)