• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






Storm_Spirit

不忘初心,方得始终。
 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

随笔分类 -  DP

上一页 1 2 3

 
HDU 5410 CRB and His Birthday ——(完全背包变形)
摘要:对于每个物品,如果购买,价值为A[i]*x+B[i]的背包问题。 先写了一发是WA的= =。代码如下: 正解是,先跑一遍价值为A[i]+B[i]的01背包,再跑一遍价值为A[i]完全背包。所以上面的代码错了大概是因为,这两个背包的第二个for的方向是不同的,没办法一起跑吧(除非用另外一组变量记录下到 阅读全文
posted @ 2016-12-16 19:31 Storm_Spirit 阅读(213) 评论(0) 推荐(0)
CodeForces 714E Sonya and Problem Wihtout a Legend(单调数列和DP的小研究)
摘要:题意:给你n个数字,每个数字可以加减任何数字,付出变化差值的代价,求最后整个序列是严格单调递增的最小的代价。 首先我们要将这个题目进行转化,因为严格单调下是无法用下面这个dp的方法的,因此我们转化成非严格的,对严格下而言,a[j]-a[i]>=j-i,那么得到a[i]-i<=a[j]-j。这样,我们 阅读全文
posted @ 2016-10-14 20:53 Storm_Spirit 阅读(384) 评论(0) 推荐(0)
HDU 5119 Happy Matt Friends ——(背包DP)
摘要:题意:有最多40个数字,取任意个数字他们的异或和>=k则是可行的方案,问有多少种可行的方案。 分析:dp[now][j]表示当前这个值的种类数,那么转移方程为dp[now][j] = dp[pre][j] + dp[pre][j^a[i]]。因为a^b=c的话,c^b=a,所以j^a[i]就可以得到 阅读全文
posted @ 2016-09-15 09:06 Storm_Spirit 阅读(201) 评论(0) 推荐(0)
HDU 5115 Dire Wolf ——(区间DP)
摘要:比赛的时候以为很难,其实就是一个区间DP= =。。思路见:点我。 区间DP一定要记住先枚举区间长度啊= =~!因为区间dp都是由短的区间更新长的区间的,所以先把短的区间更新完。。 代码如下: 阅读全文
posted @ 2016-09-14 21:25 Storm_Spirit 阅读(195) 评论(0) 推荐(0)
HDU 5791 Two ——(LCS变形)
摘要:感觉就是最长公共子序列的一个变形(虽然我也没做过LCS啦= =)。 转移方程见代码吧。这里有一个要说的地方,如果a[i] == a[j]的时候,为什么不需要像不等于的时候那样减去一个dp[i-1][j-1]呢?其实是要减去的,然后我们注意+1是什么呢?这两个位置是相同的,那么这一对组合是1,然后包含 阅读全文
posted @ 2016-08-23 18:11 Storm_Spirit 阅读(236) 评论(0) 推荐(0)
ACM之路(16)—— 数位DP
摘要:题目就是kuangbin的数位DP。 先讲C题,不要62,差不多就是一个模板题。要注意的是按位来的话,光一个pos是不够的,还需要一维来记录当前位置是什么数字,这样才能防止同一个pos不同数字的dp值混在一起。直接丢代码: 1 #include <stdio.h> 2 #include <algor 阅读全文
posted @ 2016-07-19 17:02 Storm_Spirit 阅读(1361) 评论(0) 推荐(0)
UVA 1393 Highways,UVA 12075 Counting Triangles —— (组合数,dp)
摘要:先看第一题,有n*m个点,求在这些点中,有多少条直线,经过了至少两点,且不是水平的也不是竖直的。 分析:由于对称性,我们只要求一个方向的线即可。该题分成两个过程,第一个过程是求出n*m的矩形中,dp[i][j]代表在这个矩形中终点是到(i,j)这个点的满足题意的直线条数,那么,用dp的话就可以得出递 阅读全文
posted @ 2016-07-12 19:58 Storm_Spirit 阅读(236) 评论(0) 推荐(0)
UVA 10029 Edit Step Ladders ——(DAG求最长路)
摘要:题意:升序的给出一本若干个单词,每个单词都可删除一个字母,添加一个字母或者改变一个字母,如果任意一个操作以后能变成另外一个字典中的单词,那么就连一条有向边,求最长的长度。 分析:DAG的最长路和最短路在算法竞赛入门里边原原本本有的,结果我现在忘记了,,真是太弱了。。方法就是,用map对应键值(以建图 阅读全文
posted @ 2016-07-07 16:16 Storm_Spirit 阅读(284) 评论(0) 推荐(0)
zstu 4237 马里奥的求救——(单调队列DP)
摘要:题目链接:http://oj.acm.zstu.edu.cn/JudgeOnline/problem.php?id=4237 这题可以转化为每次可以走g~d+x步,求最大分数,且最大分数的步数最少。 这题的数据范围比较小,可以用奇怪的姿势过。 首先,lyf队长给的方法是n^3的dp过;用我自己的方法 阅读全文
posted @ 2016-06-28 14:34 Storm_Spirit 阅读(216) 评论(0) 推荐(0)
ACM之路(13)—— 树型dp
摘要:最近刷了一套(5题)的树型dp题目:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=116767#overview,算是入了个门,做下总结。 A题是真正的入门题,只要找出所有的入度为0的点(即每棵树上最高的领导)进行树型dp即可,具体方法同 阅读全文
posted @ 2016-05-28 12:09 Storm_Spirit 阅读(355) 评论(0) 推荐(0)
HDU 4374 One hundred layer(单调队列DP)
摘要:题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=116242#problem/E 题意:差不多就是男人勇下百层的游戏。从第一层到最后一层最多能够拿到多少分数。每层里面最多可以左右平移T个单位,同时从那个地方到下一层。一开始在第一层 阅读全文
posted @ 2016-05-15 18:12 Storm_Spirit 阅读(376) 评论(0) 推荐(0)
 

上一页 1 2 3