![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
dp
dp
FILWY_M
一只正在慢慢成长的小菜鸡.......
展开
-
HDU 1260 Tickets(dp)
Tickets 不得不说这道题真的是一道简单的dp问题(不过比赛的时候居然被卡住了,想哭…………),特判一下k==1的时候,k!=1的时候就遍历每一个人,此时他有两种选择,一是前一个人一起买,二是他单独买,此时的状态转换方程应该为dp[i]=max(dp[i-1]+t1[i],dp[i-2]+t2[i-1]); #include <iostream> #include<cstri...原创 2019-07-19 20:43:49 · 93 阅读 · 0 评论 -
HDU2082 找单词(多重背包)
传送门 题意很简单,这道题可以用多重背包来做,好像还有一种做法是母函数,不过现在还没有学,等后面学了再说吧,下面是代码 #include <iostream> #include<cstring> #include<cstdio> #include<algorithm> #include<climits> #include<vecto...原创 2019-07-20 10:40:07 · 124 阅读 · 0 评论 -
HDU1398 Square Coins(多重背包)
题目传送 #include <iostream> #include<cstring> #include<cstdio> #include<algorithm> #include<climits> #include<vector> #include<queue> #include<string> #def...原创 2019-07-20 10:47:54 · 107 阅读 · 0 评论 -
HDU - 1257 最小拦截系统(lower_bound)
传送门 可以用lower_bound优化一下,lower_bound的返回值是指向第一个大于等于value的地址,如果序列里面的数全部大于value则返回指针最后一个元素的下一个位置,比如说有一个数组a[5]={1,2,3,4,5},我们查找的值value=6,在数组里面找不到比value大的数,所以lower_bound返回一个指针指向a[4]的下一个,相当于a[5] #include <...原创 2019-07-30 16:35:45 · 178 阅读 · 0 评论 -
POJ3264Balanced Lineup(线段树&&RMQ)
题目传送门 题意就是给你n个数,然后q次询问,每一次给你一个区间(l,r),让你输出这个区间的最大值与最小值之差,一般做法通过遍历这个区间的每一个数肯定是不行的,因为n非常大会超时 这种题有两种做法,一种是RMQ(Range Minimum/Maximum Query),即区间最值查询,是一种dp动态规划的方式,可以看这个博主的博客讲的很详细还有一种做法就是线段树。 方法一RMQ #inclu...原创 2019-07-23 15:34:09 · 122 阅读 · 0 评论 -
免费馅饼 HDU - 1176(dp)
传送门 题意:有0-10共十一个点,最开始的时候位于5这个位置,他每一秒只能向左或者右移动一个位置,求他最大能够接到多少个馅饼。 开一个二维dp数组,dp[i][j]表示在弟i秒的时候,在j位置最多能够接到的最大馅饼的数量,所以这里状态转换方程就是dp[i][j]+=max(dp[i-1][j],max(dp[i-1][j-1],dp[i-1][j+1]));这里我们要考虑一下j0和j10的情况就...原创 2019-08-01 21:05:48 · 145 阅读 · 0 评论