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

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

生活随笔

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

编程问答

宅男计划

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

題解

$dp$不行考慮三分

發(fā)現(xiàn)單峰

1.理性打表,得到單峰

2.感性思考,你會(huì)發(fā)現(xiàn)你買食物次數(shù)越多,你錢數(shù)越少,你買的好食品更多,你買食物次數(shù)越少,你錢數(shù)越多,然而你必須買一些價(jià)格貴保質(zhì)期長(zhǎng)彌補(bǔ)次數(shù)少.

單峰,我們?nèi)志屯炅?其實(shí)也可以模擬退火,然而我參數(shù)爆炸了一直60分)

那么$check$怎么寫?

貪心,

考慮排序

考慮先以保質(zhì)期排序,然后再以價(jià)格排序去掉垃圾(在保質(zhì)期相同不需要買更貴的,那么它就是垃圾完全沒(méi)必要買它)

考慮以價(jià)格排序,在保質(zhì)期相同時(shí)買保質(zhì)期長(zhǎng)的

用保質(zhì)期排序那么先買保質(zhì)期長(zhǎng)的,還是保質(zhì)期短的難以確定,所以嘗試以價(jià)格為基礎(chǔ)排序

我的貪心先貪每一次送外賣都買的,再貪不能全買的,兩個(gè)相加

ll check(ll x){ll left=m-x*f;//計(jì)算還剩多少錢ll w=left/x;//計(jì)算每一輪吃了多少ll left2=left-w*x;//計(jì)算當(dāng)無(wú)法再每一倫都吃情況下剩多少錢ll now=0,ans=0,j;//now每一輪活的天數(shù),ans計(jì)算剩余不能每一輪都吃能活多少天if(left<0) return 0;//若所有錢全用來(lái)買外賣了return 0 for(ll i=1;i<=n;i++){ll fen;if(a[i].t>=now&&(w-a[i].val>=0)){fen=min(a[i].t-now+1,w/a[i].val);//能買多少,注意和(a[i].t-now+1)w-=fen*a[i].val;//剩下錢數(shù)減少now+=fen;//每一輪活了now天}j=i;if(w-a[i].val<0) break;}left2+=w*x;//剩下錢累加在left2上ll p;
//和上文類似
for(ll i=j;i<=n;i++) {if((a[i].t>=now)&&(left2-a[i].val>=0)) {p=min(left2/a[i].val,x);ans+=p;left2-=p*a[i].t;}if(ans>0)break;}return ans+now*x; }

?總代碼我就不放了,我的AC代碼有些問(wèn)題,等改了再放

?

扯淡

一開(kāi)始以為是dp,然后愉快的推式子,一看范圍

好像$dp$不行,我推的dp以M為基礎(chǔ),總覺(jué)得$dp$很玄學(xué)

最裸的$dp$? :$f[i][j]$表示運(yùn)了$i$趟食物,剩余錢$j$

$f[i][j]=f[i-1][j-?]+?$總算寫出來(lái),然而樣例過(guò)不了.假設(shè)你每買一個(gè)你就多活一天

$f[i][j]$表示不了過(guò)期然后

$f[i][j][k]$表示$i趟j容積k保質(zhì)期$這樣可以推了

$f[i][j][k]=f[i][j-w][k-1]$?? $f[i+1][j][0]=f[i][j-w][last]$

本來(lái)就時(shí)空雙爆

考慮二分答案?,不是單調(diào)的,模擬退火?

于是我開(kāi)始愉快的退火了,

然而$check$又非常難寫,總算過(guò)了樣例然而交上去

?

?我以為我調(diào)參不行然而我改了也還是$10$分發(fā)現(xiàn)$check$寫錯(cuò)了,交一發(fā)$10$

改成三分$30$分

奇妙的是改了改三分變成了$50$,我認(rèn)為我三分板子錯(cuò)了,去看三分板子,然而并不是三分錯(cuò)了

覺(jué)得$check$太惡心了換了種寫法在洛谷上交突然$70$分,然后我忘了我改了哪里突然就又變成了$90$分,那時(shí)是$19:27$我覺(jué)得勝利在望

然后改了很多地方仍然$90$,覺(jué)得很玄學(xué),開(kāi)始覺(jué)得自己爆$long long$事實(shí)上它確實(shí)爆了$long long$,我$check$寫法太$丑$三個(gè)*連在一起爆炸了

然后又改回原來(lái)$check$一直$50$? $50$? $50$? $50$,最后還是寫法丑掛掉了

我的比較函數(shù)掛掉了

我不知道應(yīng)該買先過(guò)期,還是保質(zhì)期長(zhǎng)的,然而我又以時(shí)間排序,然后他就掛了

改成買便宜的,$AC$了

事實(shí)上以時(shí)間排序可以$AC$

去掉垃圾食品就完了,我又圖省事沒(méi)去掉垃圾,

你先以時(shí)間排序,再以價(jià)值排序也可以然而我沒(méi)采取任何一種方案

然后我就一直掛一直掛

轉(zhuǎn)載于:https://www.cnblogs.com/znsbc-13/p/11379938.html

總結(jié)

以上是生活随笔為你收集整理的宅男计划的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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