日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

1073. Pearls

發布時間:2025/3/17 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1073. Pearls 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

之前用的是貪心來做,對于這組數據就出錯了

10,10

5,15

10,23

看了一下別人的想法,用的是動態規劃

傳送門http://soj.me/1073

具體的題解移步這里http://wenku.baidu.com/view/27cbabdb50e2524de5187ed3.html

證明連續性是為了保證動態規劃方程的成立,如果連續性成立那么就是說明了子問題對于父問題沒有影響。

連續性的具體解釋如下

假設存在i,i+1,i+2三種珍珠,如果想要用高等級的珍珠代替低等級的珍珠,要么用i+2的代替i+1和i的,要么就只用i+1的代替i的,

不可以僅僅用i+2的代替i的,如果這樣就不能保證最優解。

?

?1?#include?<iostream>
?2?using?namespace?std;
?3?int?ans[1010];
?4?int?num[1010];
?5?int?cl[1010];
?6?int?main()
?7?{
?8?????????int?t;
?9?????????cin>>t;
10?????????while(t--)
11?????????{
12?????????????????int?n;
13?????????????????cin>>n;
14?????????????????for(int?i=1;i<=n;i++)
15?????????????????????????cin>>num[i]>>cl[i];
16?????????????????ans[0]=0;
17?????????????????for(int?i=1;i<=n;i++)
18?????????????????{
19?????????????????????????int?min=99999999;
20?????????????????????????for(int?j=0;j<i;j++)
21?????????????????????????{
22?????????????????????????????????int?sum=0;
23?????????????????????????????????for(int?k=j+1;k<=i;k++)
24?????????????????????????????????????????sum+=num[k];
25?????????????????????????????????if(ans[j]+(sum+10)*cl[i]<min)
26?????????????????????????????????{
27?????????????????????????????????????????????????min=ans[j]+(sum+10)*cl[i];
28?????????????????????????????????}
29?????????????????????????}
30?????????????????????????ans[i]=min;
31?????????????????}
32?????????????????cout<<ans[n]<<endl;
33?????????}
34?}

?

轉載于:https://www.cnblogs.com/congzc/archive/2011/05/02/2329976.html

總結

以上是生活随笔為你收集整理的1073. Pearls的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。