随笔分类 -  动态规划

摘要:洛谷P1802 5倍经验日 简单的背包,因为输了也有经验,所以预处理求和,f[i]+=sum,并在此基础上01背包,c[i]为差值,注意赋值时,i从0开始,背包的声韵体积可以为0. 阅读全文
posted @ 2017-08-18 10:51 WeiAR 阅读(146) 评论(0) 推荐(0) 编辑
摘要:codevs线段覆盖5 离散化+二分查找,按右端点排序,f[i]代表1~i的满足不覆盖的最大值,对于第i条线段,要么选,要么不选,所以方程为f[i]=max(f[i-1],f[find(i)]+e[i].v);find(i)是从右往左数第一个与i不相交的线段的下标,ans为f[n]; 阅读全文
posted @ 2017-08-18 10:16 WeiAR 阅读(142) 评论(0) 推荐(0) 编辑
摘要:背包五讲 1. 01背包,一种物品数量只有一个,要么选要么不选,v从后向前保证了只可能选一次。 2. 完全背包,物品的数量不限,v从小到大,就免除了数量的限制。 3 多重背包,给定物品的数量,num,多加一维,i->num,循环num次,满足了数量,记得不要j*w[type],这样就相当于等差数列求 阅读全文
posted @ 2017-08-17 16:01 WeiAR 阅读(162) 评论(0) 推荐(0) 编辑
摘要:对四边形不等式优化dp的理解 四边形不等式适用于优化最小代价子母树问题,即f[i][j]=max/min(f[i][k-1]+f[k][j])+w[i][j],类似枚举中间点的dp问题,典型例题石子归并; 如果w函数满足区间包含的单调性和四边形不等式,那么函数f也满足四边形不等式,如果f满足四边形不 阅读全文
posted @ 2017-08-17 10:31 WeiAR 阅读(270) 评论(0) 推荐(0) 编辑
摘要:dp看似像递推,但是有一点不一样,虽然都是先处理完子过程并由此退出最终的,但是dp满足任何过程的最优性,dp用子过程最优来保证最终结果的最优性。 阅读全文
posted @ 2017-08-16 19:42 WeiAR 阅读(119) 评论(0) 推荐(0) 编辑
摘要:洛谷P1018 乘积最大 当时看到这个题很懵逼,暴力不好打,也不是很有效,dp也没思路。。然后看了题解。。f[i][j]表示在序列中前i个数中加入j个乘号的最大乘积,要在序列中枚举从j-1到i的第j个乘号所在的位置,这里要前缀和优化,答案就是f[n][k]。 阅读全文
posted @ 2017-08-16 19:38 WeiAR 阅读(228) 评论(0) 推荐(0) 编辑
摘要:洛谷1002 过河卒 在满足能走的条件下,f[i][j]表示从左上角走到(i,j)的方案数,方程为f[i][j]=f[i-1][j]+f[i][j-1]. 阅读全文
posted @ 2017-08-16 17:03 WeiAR 阅读(134) 评论(0) 推荐(0) 编辑
摘要:T2.回文密码(password.cpp/pas/in/out) 时间限制:1s 空间限制:256MB 伊利斯.逐星:多亏了你的相助,我们通过了第一层。那些蜘蛛真是另令人作呕。现在,我们来到了城堡二层,但是……恐怕又要麻烦你了。 布莱恩.铜须:你猜猜我们看到了什么?乌瑟尔!我的好朋友,他的尸体就这么 阅读全文
posted @ 2017-08-15 10:57 WeiAR 阅读(1318) 评论(0) 推荐(0) 编辑
摘要:洛谷P1455 搭配购买 把需要一起购买的物品放到并查集里,每一个并查集的标志是根节点,把v和w都累加,然后对根节点做01背包。 阅读全文
posted @ 2017-08-10 11:56 WeiAR 阅读(181) 评论(0) 推荐(0) 编辑
摘要:洛谷P1725 琪露诺 交了15遍,差点砸电脑,我对自己无语了,为什么不好好想,耐下心来。。第一感觉是dp,然后没仔细想,瞎觉得好像不是,然后没管住自己,看了标签,果然是dp,后悔自己为何没好好想想。不过自己写出了转移方程,很好,然后编程的时候没有按方程转移,再次无语。。最后确定答案时,范围卡小了, 阅读全文
posted @ 2017-08-07 14:50 WeiAR 阅读(157) 评论(0) 推荐(0) 编辑
摘要:洛谷1025 简单dp f[i][j]表示把数i分成j分的方案数,则最终答案为f[n][k]。把f分为两种状态,第一种为分出来的数中最小值为1,即f[i-1][j-1];另一种为最小值大于一,怎么办呢?可以先在j个位置上放1,再划分,即f[i-j][j],所以转移方程为f[i][j]=f[i-1][ 阅读全文
posted @ 2017-08-05 18:02 WeiAR 阅读(207) 评论(0) 推荐(0) 编辑
摘要:洛谷1091 合唱队列 觉得自己就是个ZZ,打眼一看,没思路,一看数据,n<=100,这不会是大法师吧。。。于是打暴力,快一小时(加上30分钟下课~~哦,下课时和陈国凯聊了一会QQ,%%%学神,mac啊)也没调出来,信心倍挫,然后放弃,看题解,哦cao,是最长上升子序列,然后秒掉了。。。。。。。。。 阅读全文
posted @ 2017-08-05 17:44 WeiAR 阅读(407) 评论(0) 推荐(0) 编辑