UVA 111
2014-11-26 19:41
302 查看
这题简直不要这么难以理解,具体翻译可以看NOCOW上给出的翻译:http://www.nocow.cn/index.php/UVA/111。
理解题意之后很明显是一个球最长上升子序列的dp问题,定义状态dp(i) 为第i个答案能和之前给出的答案组合得到的最高分,那么状态转移方程为dp(i)=max{dp(j)}+1 (0<=j<i)。
理解题意之后很明显是一个球最长上升子序列的dp问题,定义状态dp(i) 为第i个答案能和之前给出的答案组合得到的最高分,那么状态转移方程为dp(i)=max{dp(j)}+1 (0<=j<i)。
#include <iostream> #include <cstring> using namespace std; int main() { int n,r[30]={0},ss[30]={0},dp[30]={0}; cin>>n; for(int i=1;i<=n;i++) cin>>r[i]; int temp; while(cin>>temp){ int ans=0; ss[temp]=1; for(int i=2;i<=n;i++){ cin>>temp; ss[temp]=i; } for(int i=1;i<=n;i++){ int Max=0; for(int j=0;j<i;j++) if(r[ss[i]]>r[ss[j]]){ if(dp[j]>Max) Max=dp[j]; } dp[i]=Max+1; if(dp[i]>ans) ans=dp[i]; } cout<<ans<<endl; } return 0; }
相关文章推荐
- UVA 111 - History Grading
- UVA 111 History Grading 【lcs】
- UVA 111
- UVa 111 - History Grading
- UVA 111
- uva 111 History Grading
- UVA 111 History Grading
- UVa 111|History Grading|动态规划|最长上升子序列
- uva 111 History Grading(动态规划:LCS)
- UVa 111: History Grading
- dp 最长公共子序列 uva 111-History Grading
- UVA 111 History Grading(最长公共子序列dp)
- UVA111 History Grading 简单的DP
- UVa 111 - History Grading
- UVA 111 - History Grading
- UVa Problem 111 - History Grading
- uva111 - History Grading(历史考试)
- uva10003+uva765+uva111
- uva 111 - History Grading
- UVA 111 - History Grading