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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

【背包DP】【2018.9.20普及组模拟】T3(WOJ 3975)保护羊村

發(fā)布時間:2024/3/13 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【背包DP】【2018.9.20普及组模拟】T3(WOJ 3975)保护羊村 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

題目(保護羊村):

【題目描述】 ?

偉大的Yyz 幫助羊羊們逃出了城堡,可Jack 自然不會善罷甘休。“我會詛咒你們的!”杰杰惱羞成怒地喊道。回到羊村后,羊羊們發(fā)現(xiàn)羊村地震了。看來Jack的詛咒生效了。當務之急是修補因地震而坍塌的圍墻。

圍墻上有n 個圓形洞。第i 個洞的直徑是d_i 米,修復第i 個洞的時間是t_i 分鐘,一個洞開始修就必須修完。不妙的是,據(jù)可靠情報,灰太狼在c 分鐘后就將襲擊羊村,你的任務當然是使灰太狼來時剩余洞的總面積最小,以便羊羊們在灰太狼來時能夠更好的防御。

【輸入】

第1 行,一個正整數(shù)n,表示洞的總數(shù)。

第2~n+1 行,每行有2 個正整數(shù)d_i 和t_i(d_i,n_i≤10,000),d_i 表示 第i 個洞的直徑,t_i 表示修復第i 個洞的時間。

第n+2 行,一個正整數(shù)c(c≤1,000,000),表示灰太狼將在c 分鐘后到來。

【輸出】

輸出一行一個實數(shù)s,表示灰太狼來時剩余洞的最小面積。

π取3.1416,最后結果保留4 位小數(shù)。

【樣例輸入】

4
4 1
6 2
12 3
7 2
6

【樣例輸出】

28.2744

【數(shù)據(jù)范圍】

80%的數(shù)據(jù)滿足:1≤n≤15;

100%的數(shù)據(jù)滿足:1≤n≤100

分析:

顯然是一道背包DP(別問我為什么寫掛了)

把洞看成物體,時間看成體積,洞的面積看成價值,這,就是一道01背包求最大價值。

代碼:

#include<iostream> #include<cstdio> #include<cmath> #include<cstring> #include<algorithm> using namespace std; #define N 120 int n,t[N],c; double dp[1000100],pi=3.1416,ans,ans1,d[N],w[N]; double area(double r){double ans=r*r*pi;return ans; } int main(){scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%lf%d",&d[i],&t[i]);ans1+=area(d[i]/2.0); w[i]=area(d[i]/2.0);}scanf("%d",&c);for(int i=1;i<=n;i++)for(int j=c;j>=t[i];j--)dp[j]=max(dp[j],dp[j-t[i]]+w[i]);//標準背包模板printf("%.4lf",ans1-dp[c]);//總價值減最大價值return 0; }

?

總結

以上是生活随笔為你收集整理的【背包DP】【2018.9.20普及组模拟】T3(WOJ 3975)保护羊村的全部內容,希望文章能夠幫你解決所遇到的問題。

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