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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Codeforces Hello 2018!C

發(fā)布時間:2025/5/22 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Codeforces Hello 2018!C 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

emmmmm怎么說呢,,,半年了,,,幾乎也沒有什么長進,,,cf? div.2依舊只能做AB,,,懷疑人生

然而,人還是要有夢想呀(最近掉坑三月的獅子無法自拔,大冬天的,暖哭QAQ)

總之,新的一年加油(? ?_?)?,學的慢沒關系,努力努力再努力,思維不好也沒關系,思維也可以練呀(雖然內心是崩潰的)

最可怕的是望著差距止步不前。

C.Party Lemonade

emmmmmm沒做出來,一眼看上去像完全背包,然而……并沒有那么復雜……好好看題啊orz,題目條件不會亂給的orz

第i+1個瓶子的容量為2^i,然后……emmmm二進制有木有(i∈[0,n))

設dp[i]為買2^i的最小花費

買2^i可以買兩瓶2^i-1也可以買一瓶2^i+1,那么對于2^i-1的花費最小為dp[i]=min(dp[i],dp[i-1]*2),然后逆序再掃一遍dp[i]=min(dp[i+1],dp[i])

經過兩次循環(huán),dp可以更新為最小花費。

然后來考慮一下目標量L的最小花費,L同樣可以表示為二進制,二進制位為1則取dp[i],為0則取min(當前花費,dp[i])

#include<bits/stdc++.h> using namespace std; typedef long long ll; const int MAX=1e3+5; ll dp[35]; ll sum=0,n,l; int main() {cin>>n>>l;memset(dp,0x3f3f3f,sizeof(dp));for(int i=0;i<n;i++)cin>>dp[i];for(int i=1;i<n;i++)dp[i]=min(dp[i],dp[i-1]*2);for(int i=n-2;i>0;i--)dp[i]=min(dp[i+1],dp[i]);for(int i=n;i<31;i++)dp[i]=dp[i-1]<<1;for(int i=0;i<31;i++){if(l&(1<<i)) sum+=dp[i];else if(sum>dp[i]) sum=dp[i];}return 0; }

?

轉載于:https://www.cnblogs.com/Egoist-/p/8278066.html

總結

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

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