- 博客(26)
- 收藏
- 关注
原创 hdu 2476 String painter(区间dp)
一道挺经典的区间dp,我用的方法和网上的方法不一样,我觉得我的方法还不错,有兴趣可以看看
2015-11-07 20:43:13
414
原创 poj 3419 Difference Is Beautiful 离线线段树
Difference Is BeautifulTime Limit: 5000MS Memory Limit: 65536KTotal Submissions: 2102 Accepted: 656DescriptionMr. Flower's business is growing much faster than or
2015-11-04 21:10:33
410
原创 poj 3237 树链剖分+线段树
题意就是给你一棵树,每条边上都有权值,有三种操作,把某条边的权值变成v,把点a到点b之间的路径上的边的权值都乘上-1,求a到b的路径上的最大值。其实这题的线段树要比树链剖分难写,首先,因为有乘-1的操作,所以不光要维护最大值,还要维护最小值,这样在乘-1后,最大值就可以直接根据最小值得到,当然,延迟操作是必须的,其中细节还是蛮多的,需要注意。好久没敲线段树了,wa了好多发,话说这线段树是有
2015-10-07 20:32:15
337
原创 poj 3237 树链剖分
这几天,看到别的队都有会树链剖分的,于是就来学了一下。。。就是把边的权值变成了深度较深的那个点的权值#include#include#includeusing namespace std;const int maxn = 100010;int sum[maxn*4],add[maxn*4];struct si{ int f,t,c,next;}side[maxn*2
2015-10-05 21:03:08
369
原创 poj 3294 后缀数组
链接 http://poj.org/problem?id=3294题意:给你n个字符串,n小于100,每个字符串的长度小于1000,让你找出至少在一半的字符串中出现过得最长的一个字串,如果有多个,那就按照字典序逐个输出思路:我们先把所有的字符串连成一个大的字符串,每个字符串之间用一个没有出现过得字符xx隔开(注意这个字符也要两两不同),在把所有串连成一个大串的过程中,我们用一个set来把每
2015-05-27 11:06:09
527
原创 poj 1679 The Unique MST 最小生成树
点击打开链接 http://poj.org/problem?id=1679题意:给一个无向图,问最小生成树是否唯一,如果唯一就输出最小生成树的所有边的权值的和,如果不唯一,那么就输出Not Unique!思路:在用prime算法求最小生成树的过程中,在找到权值最小的一个节点之后,先判断一下,这个节点的权值是否可以由好几条路径求得,并且权值都等于当前权值,如果是的话,那么最小生成树就不唯
2014-12-11 19:21:49
702
原创 hdu 2473 Junk-Mail Filter 并查集删除
点击打开链接 http://acm.hdu.edu.cn/showproblem.php?pid=2473题意:给出n种操作,M a b表示a和b是同一个并查集,S a表示在并查集中删除a,要注意的是,如果1和2是一个并查集,2和3是一个并查集,那么1和3也是一个并查集,即使删除2之后,我们依然可以得到1和3还是一个集合里的。思路:由于并查集是一种树结构,无法在树种删除一个点后还让树继续保
2014-12-11 15:51:48
794
原创 hdu 1829 A Bug's Life 并查集
点击打开链接 http://acm.hdu.edu.cn/showproblem.php?pid=1829题意:给出n个关系啊a,b,表示a和b是异性,问是否存在矛盾,即存在a和b是同性。思路,并查集,用f[i]记录i的父亲,next[i]表示同一个集合里的下一个元素,根据next数组可以遍历出一个集合里的所有元素,len[i]表示i和集合的根的关系,0表示同性,1表示异性。 每输入一个a
2014-12-11 10:20:15
620
原创 poj 2385 Apple Catching dp
http://poj.org/problem?id=2385题意:有两棵苹果树,每分钟都会有一棵树上会掉下来一个苹果,你必须要站在这棵树下才能接到这棵树掉下来的苹果,你可以在两棵树之间来回走动,而且不花费时间,但是来回走的次数不超过w次,现在告诉你每分钟从哪棵树上会掉下来苹果,问你最多能接着多少个,你的其实位置实在第一棵树下。思路:用dp[i][j][k]表示第i分钟,已经来回走了
2014-11-19 16:18:42
677
原创 poj 1682 Clans on the Three Gorges dp(好题)
这是poj上的一道比较好的动态规划的题目,奈何很少有人做过这道题,所以,我想把它发上来给大家看一下,应该会有收获吧。
2014-11-04 15:33:35
908
原创 poj 1745 Divisibility dp
点击打开题目链接题意:给出n个数字,让你在这n个数字之间加上加号和减号,问最后能不能得到一个数字,使它能被k整除。思路:dp,把每个数字处理后可能得到的结果保存下来,如果能得到,dp值就是1,否则就是0.需要注意的是,每个得到的值必须是由前面的所有数字进行加减得到的,所以每次状态转移的时候只能把新得到的状态存下来,而之前的状态都抛弃,因为之前得到的状态都是只由前i个数字得到
2014-11-03 15:42:24
420
原创 hdu 1160 FatMouse's Speed dp
题意:有n只老鼠,每只老鼠有自己的体重和速度,让你找出最长的一个序列,每个老鼠都比之前的老鼠体重重并且速度慢,求序列的最大长度和次长度的任意的一个序列。思路:用一个结构体存下每个老鼠的体重,速度和一开始的位置,然后排序,先按体重从小到大排序,如果体重一样,就按速度从大到小排序,然后dp数组表示一第i个老鼠为结尾的最长序列长度(此时处理的是排序完了的序列),dp[i]=max(dp[i],dp[
2014-10-30 16:25:32
402
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人