poj 1821 动态规划】的更多相关文章

思路:每次枚举每个工人的右边界j,维护最优的左边界k.那么dp[j]=max(dp[j],dp[k]+(j-k)*w[i].p): 对于每个工人的初值k=w[i].s-1; 令x=j-w[i].l,如果(k-x)*w[i].p>dp[k]-dp[x],则k=x. #include<set> #include<map> #include<cmath> #include<queue> #include<cstdio> #include<v…
/* poj 1821 n*n*m 暴力*/ #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define maxn 110 #define maxm 16010 using namespace std; int n,m,f[maxn][maxm],ans; struct node{ int l,s,p; bool operator < (const…
poj 1821 Fence \(solution:\) 这道题因为每一个粉刷的人都有一块"必刷的木板",所以可以预见我们的最终方案里的粉刷匠一定是按其必刷的木板的顺序排列的.这就提示了我们可以用线性 $ DP $,只需要将粉刷匠按必刷的木板排序即可. 设 $F[ $ i $ ][j]$ 表示前 $ i $ 个粉刷匠刷了前 $ j $ 快木板的最大收益(可以有木板不刷!).我们可以根据题意列出转移方程: 首先这个粉刷匠一块木板也不刷 这块木板不刷 这个粉刷匠从第k块木板刷到第 $ j…
题目链接:http://poj.org/problem?id=1821 题目分析来自:http://blog.csdn.net/tmeteorj/article/details/8684453 连续的N块木板,有K个粉刷匠,分别坐在第Si块木板前,每个粉刷匠不能移动位置,且最多能粉刷连续的Li块木板(必须包括Si或者不要该粉刷匠),每个粉刷匠粉刷一块木板可以得Pi块钱,求总共的最大利益. 题解:dp[i][j]代表前i个粉刷匠粉刷完成至多前j个木板的最大利益,状态转移有三种: 1.不需要第i个粉…
17-单调递增最长子序列 内存限制:64MB 时间限制:3000ms Special Judge: No accepted:21 submit:49 题目描述: 求一个字符串的最长递增子序列的长度 如:dabdbf最长递增子序列就是abdf,长度为4 输入描述: 第一行一个整数0<n<20,表示有n个字符串要处理 随后的n行,每行有一个字符串,该字符串的长度不会超过10000 输出描述: 输出字符串的最长递增子序列的长度 样例输入: 复制 3 aaa ababc abklmncdefg 样例输…
思路:这是一道坑爹的动态规划,思路很容易想到,就是细节. 用dp[t][i][j],表示在第t时间,锤子停在(i,j)位置能获得的最大数量.那么只要找到一个点转移到(i,j)收益最大即可. #include<map> #include<set> #include<cmath> #include<queue> #include<cstdio> #include<vector> #include<string> #includ…
思路:简单动态规划 #include<map> #include<set> #include<cmath> #include<queue> #include<cstdio> #include<vector> #include<string> #include<cstdlib> #include<cstring> #include<iostream> #include<algorit…
用贪心简单证明之后就是一个从两头取的动态规划 #include <iostream> #include <cstring> #include <cstdio> #include <algorithm> using namespace std; const int maxn=1e3+9; int a[maxn],b[maxn]; int dp[maxn][maxn]; bool cmp(int a,int b) { return a>b; } int m…
Fence Time Limit: 1000ms Memory Limit: 30000KB This problem will be judged on PKU. Original ID: 182164-bit integer IO format: %lld      Java class name: Main   A team of k (1 <= K <= 100) workers should paint a fence which contains N (1 <= N <…
Longest Ordered Subsequence Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 42914 Accepted: 18914 Description A numeric sequence of ai is ordered if a1 < a2 < - < aN. Let the subsequence of the given numeric sequence (a1, a2, -, aN) be…