亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

Round D APAC Test 2017 Problem D. Stretch Rope (C++)

2019-11-08 02:19:57
字體:
來源:轉載
供稿:網友

PRoblem

Mary likes playing with rubber bands. It’s her birthday today, and you have gone to the rubber band shop to buy her a gift.

There are N rubber bands available in the shop. The i-th of these bands can be stretched to have any length in the range [Ai, Bi], inclusive. Two rubber bands of range [a, b] and [c, d] can be connected to form one rubber band that can have any length in the range [a+c, b+d]. These new rubber bands can themselves be connected to other rubber bands, and so on.

You want to give Mary a rubber band that can be stretched to a length of exactly L. This can be either a single rubber band or a combination of rubber bands. You have M dollars available. What is the smallest amount you can spend? If it is impossible to accomplish your goal, output IMPOSSIBLE instead.

Limits

1 ≤ T ≤ 100. 1 ≤ Pi ≤ M. 1 ≤ L ≤ 10000. 1 ≤ Ai ≤ Bi ≤ 10000. Small dataset

1 ≤ N ≤ 10. 1 ≤ M ≤ 100. Large dataset

1 ≤ N ≤ 1000. 1 ≤ M ≤ 1000000000.

分析:

小數據應該可以通過暴力解決,對所有的N個rubber bands,枚舉出所有2^N種子集,并判斷每種組合是否滿足長度要求,并選取其中最小花費即可。但對于大數據來說 2^N太大了。選用動態規劃來解決, 這邊也參考了scoreboard上前幾位作者的代碼。

動態規劃:

設數組dp[L+1],其中dp[i]表示要達到長度為i的rubber band所需最少花費。對每個rubber band按順序考慮到數組dp中去,即首先考慮只有前1個band時dp的狀態,再考慮只有前2個band時dp的狀態,……,最后考慮前N個band時的dp狀態,考察dp[L]是否小于預算M即可。初始時將所以dp元素設為MAX, dp[0]=0當考慮第i個rubber band進入dp數組時,因為其拉伸長度可以達到[Ai,Bi], 所以對dp[j]來說,只需取dp數組中下標為j-Bi到j-Ai這一段中最小值+Pi 來決定是否更新當前dp[j]。(注意j-Bi到j-Ai不要越界)當第i個rubber band進入考慮范圍時,按上述更新一遍dp數組即可。

但是, 對每個j查找“dp數組中下標為j-Bi到j-Ai這一段中最小值”很耗時,考慮到其實是一個滑動窗口中的最小值,可借鑒leetcode239減少復雜度。 但一開始用deque實現比較耗時,后來直接用數組實現就變快了。

代碼:Github

#include <iostream>#include <math.h>#include <vector>#include <algorithm>#include <deque>using namespace std;typedef long long ll;int T;int main() { FILE *fin, *fout; fin=fopen("D-large-practice.in", "r"); fout = fopen("output", "w"); fscanf(fin, "%d", &T); for (int kk = 1; kk <= T; kk++) { int num, money, length; fscanf(fin, "%d %d %d", &num, &money, &length); vector<ll> dp(length + 1, INT_MAX); dp[0] = 0; for (ll i = 0; i < num; i++) { int a, b; int p; fscanf(fin, "%d %d %d", &a, &b, &p); //尋找長度為b-a+1的sliding window中最小值的下標 記錄到que中 vector<int> que(length + 1, 0); int start = 0; int end = 0; for (int k = a; k < b&&length - k >= 0; k++) { while (end > start && dp[que[end - 1]] >= dp[length - k]) end--; que[end++] = length - k; } for (ll j = length; j >= 0; j--) { if (j - b >= 0) { while (end > start && dp[que[end - 1]] >= dp[j - b]) end--; que[end++] = j - b; } if (start < end) dp[j] = min(dp[j], dp[que[start]] + p); if (dp[start] >= j - a) start++; } } if (dp[length] <= money) fprintf(fout, "Case #%d: %d/n", kk, dp[length]); else fprintf(fout, "Case #%d: IMPOSSIBLE/n", kk); } }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久91精品| 亚洲国产成人在线视频| 国产免费一区二区三区在线能观看| 欧美在线影院在线视频| 国产噜噜噜噜久久久久久久久| 国产精品v片在线观看不卡| 成人网在线观看| 欧美极品xxxx| 日韩在线观看视频免费| 51精品国产黑色丝袜高跟鞋| 国内精品小视频在线观看| 亚洲女人天堂色在线7777| 97在线视频观看| 欧美激情精品在线| 国产精品网站视频| 亚洲精品suv精品一区二区| 亚洲深夜福利网站| 国产91精品黑色丝袜高跟鞋| 成人黄色片在线| 国产福利成人在线| 91色琪琪电影亚洲精品久久| 91av视频导航| 亚洲综合成人婷婷小说| 2019精品视频| 欧美激情乱人伦一区| 久久91亚洲精品中文字幕奶水| 97免费视频在线播放| 国产91ⅴ在线精品免费观看| www.亚洲一二| 北条麻妃一区二区三区中文字幕| 日韩一区在线视频| 久久久精品免费| 久久国产色av| 欧美性黄网官网| 国产精品久久久久久久久粉嫩av| 国产美女被下药99| 日韩欧美中文第一页| 久久免费国产精品1| 日韩欧美国产一区二区| 精品久久久中文| 午夜美女久久久久爽久久| 成人乱人伦精品视频在线观看| 国产一区二区三区网站| 欧美激情国内偷拍| 日韩经典中文字幕在线观看| 一区二区福利视频| 97精品国产aⅴ7777| 日韩精品视频在线免费观看| 992tv成人免费视频| 久久99久国产精品黄毛片入口| 亚洲视频一区二区| 久久免费视频网站| 亚洲图片欧美午夜| 成人福利视频在线观看| 久久精品国产综合| 欧美与黑人午夜性猛交久久久| 26uuu另类亚洲欧美日本一| 久热国产精品视频| 成人激情春色网| 97视频免费看| 九九热精品视频| 亚洲精品国产精品国产自| 欧美成人自拍视频| 国产精品96久久久久久又黄又硬| 欧美极品在线视频| 亚洲欧洲高清在线| 久久久国产精品一区| 国a精品视频大全| 亚洲日本aⅴ片在线观看香蕉| 欧日韩在线观看| 国产一区二区在线播放| 欧美xxxx做受欧美| 日韩毛片中文字幕| 日韩最新在线视频| 精品亚洲精品福利线在观看| 欧美激情亚洲一区| 亚洲男人的天堂在线播放| 日本免费一区二区三区视频观看| 国产精品免费久久久| 亚洲精品国产成人| 成人精品一区二区三区电影免费| 欧美国产日韩中文字幕在线| 欧美专区国产专区| 色www亚洲国产张柏芝| 欧洲亚洲女同hd| 欧美成人一二三| 中文字幕国产亚洲| 欧美成人一区二区三区电影| 欧美激情亚洲国产| 综合久久五月天| 亚洲国模精品私拍| 国产精品入口免费视频一| 国产精品海角社区在线观看| 亚洲成人999| 午夜美女久久久久爽久久| 国产精品一区二区三区在线播放| 亚洲综合社区网| 国产精品99久久久久久www| 国产精品吹潮在线观看| 久久伊人精品视频| 中国china体内裑精亚洲片| 国产成人一区二区三区| 久久影院模特热| 日韩亚洲精品视频| 免费不卡在线观看av| 国产精品一区二区三区在线播放| 狠狠色香婷婷久久亚洲精品| 久久91亚洲人成电影网站| 爽爽爽爽爽爽爽成人免费观看| 亚洲va码欧洲m码| 日韩欧美a级成人黄色| 亚洲第一男人天堂| 欧美天天综合色影久久精品| 国产精品视频免费在线| 亚洲色图综合久久| 欧美精品性视频| 69av在线视频| 亚洲另类欧美自拍| 国产欧美精品日韩| 91精品视频免费观看| 亚洲人成网站免费播放| 欧美成人在线网站| 久久在线观看视频| 福利视频第一区| 国产一区玩具在线观看| 欧美性20hd另类| 亚洲精品日韩在线| 国产一区二区三区直播精品电影| 午夜精品蜜臀一区二区三区免费| 欧美日韩在线第一页| 91久久精品在线| 97视频色精品| 亚洲国产一区二区三区在线观看| 欧美日韩激情美女| 欧美精品久久久久久久免费观看| 国产精彩精品视频| 久久九九免费视频| 亚洲国产精品va| 精品久久久久久久久久久久久| 亚洲一区二区久久久久久| 欧美又大又硬又粗bbbbb| 精品久久久久久国产91| 久久精品亚洲94久久精品| 国产在线视频不卡| 粉嫩av一区二区三区免费野| 日韩精品视频观看| 久久久在线免费观看| 亚洲a级在线播放观看| 国模极品一区二区三区| 黄色91在线观看| 午夜精品一区二区三区在线播放| 久久久精品网站| 亚洲精品久久久久久久久久久久久| www亚洲精品| 亚洲美女av电影| 另类色图亚洲色图| 中文字幕日韩av综合精品| 久久精品这里热有精品| 亚洲久久久久久久久久久| 久久综合久久美利坚合众国| 亚洲最大的成人网| 一区二区三区 在线观看视| 欧美精品生活片| 精品一区二区电影|