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

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【智力大冲浪】

發(fā)布時(shí)間:2023/12/9 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【智力大冲浪】 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

【智力大沖浪】
riddle
內(nèi)存限制: 128M
【題目描述】
例 1 智力大沖浪(riddle.pas)。
【題目描述】
小偉報(bào)名參加中央電視臺(tái)的智力大沖浪節(jié)目。本次挑戰(zhàn)賽吸引了眾多
參賽者,主持人為了表彰大家的勇氣,先獎(jiǎng)勵(lì)每個(gè)參賽者 m 元。先
不要太高興!因?yàn)檫@些錢(qián)還不一定都是你的。接下來(lái)主持人宣布了比
賽規(guī)則:
首先,比賽時(shí)間分為 n 個(gè)時(shí)段(n≤500),它又給出了很多小游戲,每
個(gè)小游戲都必須在規(guī)定期限 ti 前完成(1≤ti≤n)。如果一個(gè)游戲沒(méi)能
在規(guī)定期限前完成,則要從獎(jiǎng)勵(lì)費(fèi) m 元中扣去一部分錢(qián) wi, wi 為自
然數(shù),不同的游戲扣去的錢(qián)是不一樣的。當(dāng)然,每個(gè)游戲本身都很簡(jiǎn)
單,保證每個(gè)參賽者都能在一個(gè)時(shí)段內(nèi)完成,而且都必須從整時(shí)段開(kāi)
始。主持人只是想考考每個(gè)參賽者如何安排組織自己做游戲的順序。
作為參賽者,小偉很想贏得冠軍,當(dāng)然更想贏取最多的錢(qián)!
注意:比賽絕對(duì)不會(huì)讓參賽者賠錢(qián)!
【輸入】
輸入文件 riddle.in,共 4 行。
第一行為 m,表示一開(kāi)始獎(jiǎng)勵(lì)給每位參賽者的錢(qián);
第二行為 n,表示有 n 個(gè)小游戲;
第三行有 n 個(gè)數(shù),分別表示游戲 1~n 的規(guī)定完成期限;
第四行有 n 個(gè)數(shù),分別表示游戲 1~n 不能在規(guī)定期限前完成的扣
數(shù)。
【輸出】
輸出文件 riddle.out,僅 1 行。表示小偉能贏取最多的錢(qián)。
【樣例輸入】
10000
7
4 2 4 3 1 4 6
70 60 50 40 30 20 10
【樣例輸出】
9950

題解:
損失的最少,等價(jià)于先都減去再加回來(lái),再跑一遍01背包。

1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 #include<vector> 6 #include<map> 7 #include<set> 8 #include<cmath> 9 #include<ctime> 10 #define inf 2147483647 11 #define p(a) putchar(a) 12 #define g() getchar() 13 #define For(i,a,b) for(register int i=a;i<=b;i++) 14 //by war 15 //2017.10.24 16 using namespace std; 17 int m; 18 int n; 19 //int t[510]; 20 //int v[510]; 21 int f[510]; 22 int Max; 23 struct jl 24 { 25 int t; 26 int v; 27 bool operator<(const jl&aa)const 28 { 29 return t<aa.t; 30 } 31 }a[510]; 32 33 void in(int &x) 34 { 35 int y=1; 36 char c=g();x=0; 37 while(c<'0'||c>'9') 38 { 39 if(c=='-') 40 y=-1; 41 c=g(); 42 } 43 while(c>='0'&&c<='9')x=x*10+c-'0',c=g(); 44 x*=y; 45 } 46 void o(int x) 47 { 48 if(x<0) 49 { 50 p('-'); 51 x=-x; 52 } 53 if(x>9)o(x/10); 54 p(x%10+'0'); 55 } 56 int main() 57 { 58 freopen("riddle.in","r",stdin); 59 freopen("riddle.out","w",stdout); 60 in(m),in(n); 61 For(i,1,n) 62 in(a[i].t); 63 For(i,1,n) 64 in(a[i].v),m-=a[i].v; 65 sort(a+1,a+n+1); 66 For(i,1,n) 67 for(register int j=a[i].t;j>=1;j--) 68 f[j]=max(f[j],f[j-1]+a[i].v); 69 Max=-inf; 70 For(i,1,n) 71 Max=max(Max,f[i]); 72 o(Max+m); 73 return 0; 74 }

?

轉(zhuǎn)載于:https://www.cnblogs.com/war1111/p/7722789.html

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的【智力大冲浪】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。