hdu 4283 动态规划 类似括号匹配
来源:互联网 发布:古风静态头像psd源码 编辑:程序博客网 时间:2024/05/21 22:30
题目:http://acm.hdu.edu.cn/showproblem.php?pid=4283
题意:
You Are the One
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 450 Accepted Submission(s): 246
Problem Description
The TV shows such as You Are the One has been very popular. In order to meet the need of boys who are still single, TJUT hold the show itself. The show is hold in the Small hall, so it attract a lot of boys and girls. Now there are n boys enrolling in. At the beginning, the n boys stand in a row and go to the stage one by one. However, the director suddenly knows that very boy has a value of diaosi D, if the boy is k-th one go to the stage, the unhappiness of him will be (k-1)*D, because he has to wait for (k-1) people. Luckily, there is a dark room in the Small hall, so the director can put the boy into the dark room temporarily and let the boys behind his go to stage before him. For the dark room is very narrow, the boy who first get into dark room has to leave last. The director wants to change the order of boys by the dark room, so the summary of unhappiness will be least. Can you help him?
Input
The first line contains a single integer T, the number of test cases. For each case, the first line is n (0 < n <= 100)
The next n line are n integer D1-Dn means the value of diaosi of boys (0 <= Di <= 100)
The next n line are n integer D1-Dn means the value of diaosi of boys (0 <= Di <= 100)
Output
For each test case, output the least summary of unhappiness .
Sample Input
2 512345554322
Sample Output
Case #1: 20Case #2: 24
Source
2012 ACM/ICPC Asia Regional Tianjin Online
#include<iostream>#include<algorithm>#include<cstdio>using namespace std;int dp[102][102],t,n,num[102],sum[102],cas=1;// dp[i][j] 表示i 在区间[i,j]中 是第k个选出来的!!int main(){ cin>>t; while(t--) { cin>>n; int i,j,k,tmp; sum[0]=0; for(i=1; i<=n; i++) { cin>>num[i]; sum[i]=sum[i-1]+num[i]; } for(i=1; i<=n; i++) { for(j=1; j<=n; j++) { if(i==j) dp[i][j]=0; else dp[i][j]=(1<<29); } } for(k=1; k<n; k++) { for(i=1; i<=n-k; i++) { int r=i+k; dp[i][r]=min(dp[i][r],dp[i+1][r]+num[i]*k);// 区间里的最后一个 dp[i][r]=min(dp[i][r],dp[i+1][r]+sum[r]-sum[i]);//区间里的第一个 for(j=i+1; j<=r; j++) { dp[i][r]=min(dp[i][r],dp[i+1][j]+dp[j+1][r]+num[i]*(j-i)+(sum[r]-sum[j])*(j-i+1)); } } } printf("Case #%d: %d\n",cas++,dp[1][n]); } return 0;}/*5 512345554322*/
- hdu 4283 动态规划 类似括号匹配
- 动态规划 括号匹配
- 动态规划 :POJ 1141 括号匹配
- nyoj 15括号匹配 (动态规划)
- poj 2955 动态规划--括号匹配
- 括号匹配问题(动态规划)
- nyoj-括号匹配(二)---动态规划
- NYOJ-括号匹配(二)-动态规划
- 模拟类似括号匹配
- NYIST 15 括号匹配(二) 动态规划
- NYoj 15 括号匹配(二)[动态规划.有点难]
- NYOJ-15 括号匹配(二) 动态规划 递归
- 关于括号匹配数目的动态规划算法的解决方法
- 【动态规划】括号序列
- [ACM] 携程预赛第一场 括号匹配 (动态规划)
- 括号匹配(二)--侥幸通过,用动态规划的思想
- [DP]携程预赛第一场 括号匹配 (动态规划)
- LeetCode 32 Longest Valid Parentheses 最大合法括号匹配长度计算 动态规划算法有待学习
- opencv 中通过鼠标和键盘操作实现图像的平移
- X_VCL_ISX控件安装说明
- opencv mask的格式
- 信用卡组织Visa和万事达欲与零售商达成和解
- windows7下使用64位Python编程、科学计算、绘制图表
- hdu 4283 动态规划 类似括号匹配
- 邂逅在华灯初上
- 【数据结构】直接插入排序
- MYSQL导出数据库
- 以亲身经历警示新人)成为嵌入式程序员之后的0x10个基本问题
- 计算机学习
- 职业规划
- 玩python-3.程序的web化
- 网络编程之udp