摘要:原题地址:http://www.rqnoj.cn/problem/2解题思路:背包问题。状态转移方程:DP[i][j]=max(DP[i-v[j]][j-1]+p[j]*v[j],DP[i][j-1])DP[i][j]表示最多话费i的钱,购买前j+1个物品所能达到的最大价值。解题代码: 1 #inc...
阅读全文
摘要:原题地址:http://www.rqnoj.cn/problem/106解题思路: 一维的情况下求最大字串和的状态转移方程是:s[i]=max{s[i-1]+a[i],a[i]} 二维的情况下,只要将第i行到第ii行的每列数字加起来,再用一维的方法计算就可以了。遍历i和ii的所有情况即可。复杂度...
阅读全文
摘要:原题地址:http://www.rqnoj.cn/problem/5解题思路: 今天刚刚才知道了区间DP。。Orz。。本来以为是状态压缩DP,后来看到数据量才发现原来不是。后来参考了别人的题解。自己整理了思路: 问题现在变成从一堆数里面按某个顺序取走一些数,每次取走一个数的时候会得到能量,求最大...
阅读全文
摘要:原题地址:http://www.rqnoj.cn/problem/15好久以前做的题了,是个背包问题,就不解释了。 1 #include 2 #define MAX 100 3 int we[MAX],p[MAX]; 4 int ss[2000]; 5 int f(int w,int n) 6 { ...
阅读全文
摘要:原题地址:http://www.rqnoj.cn/problem/38解题思路: 状态表示:dp[i][j][k]表示i个A,j个B,k个C组成的满足条件的字符串的个数 初始状态:dp[0][0][0]=1。 状态转移方程:dp[i][j][k]=dp[i-1][j][k]+dp[i][j-1...
阅读全文
摘要:原题地址:http://www.rqnoj.cn/problem/105解题思路: 状态表示: 数组dp[i][j]中的j拆成M位二进制(后缀B表示)。 如:M=3时 dp[5][000B]表示第3,4,5都不放核物质的情况的总数。显然,dp[5][000B]=dp[5][001...
阅读全文
摘要:原题地址:http://www.rqnoj.cn/problem/273题目大意:中文题不说了。设从第i匹马到第j-1匹马放在一个马棚里得到的系数为f(i,j)。状态表示:dp[i][j]表示前i匹马用j个分隔(j+1个马棚)分隔得到的最小的系数。则最后要求的就是dp[n][k-1]。初始状态:dp...
阅读全文
摘要:三分法主要用于求解一个函数在某个区间内的极大(极小)值点,类似于二分法做一个比较: 二分法 三分法作用: 求解一个函数的零点 求解一个函数的极大(极小)值点条件 函数在这个区间是单调函数 函数在这个区间是凸(凹)函数首先对于一个凹函数y=f(x...
阅读全文
摘要:原题:聪明的猴子Time Limit : 2000/1000ms (Java/Other)Memory Limit : 32768/32768K (Java/Other)Problem Description森林中有一排香蕉树(无限长),一只猴子站在其中一棵树上,猴子在跳跃前要先抽取一张卡片,卡片上...
阅读全文
摘要:目前只包括stack、list、priority_queue、map、pair五个的用法。其他待补充完整
阅读全文