poj 1260:Pearls

来源:互联网 发布:c语言基本语法归纳 编辑:程序博客网 时间:2024/06/04 07:57

解题思路:

(1)低等级到高等级的合并

(2)动态规划状态转移

#include<iostream>#include<cmath>#include<cstring>using namespace std;struct cate{int num;int price;};int main(){cate c[101];int m,n;cin>>m;while(m--){cin>>n;int tnum[101];int dp[101];memset(tnum,0,sizeof(tnum));tnum[0]=0;for(int i=1;i<=n;i++){cin>>c[i].num>>c[i].price;tnum[i] = c[i].num + tnum[i-1];dp[i] = (tnum[i] + 10) * c[i].price;}for(int i=1;i<=n;i++){for(int j=1;j<i;j++){dp[i] = min(dp[i], (tnum[i]-tnum[j]+10)*c[i].price+dp[j]);}}cout<<dp[n]<<endl;}return 0;} 


0 0
原创粉丝点击