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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

采药2_纪中2540_dp

發布時間:2024/10/12 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 采药2_纪中2540_dp 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Description

  辰辰是個天資聰穎的孩子,他的夢想是成為世界上最偉大的醫師。為此,他想拜附近最有威望的醫師為師。醫師為了判斷他的資質,給他出了一個難題。醫師把他帶到一個到處都是草藥的山洞里對他說:“孩子,這個山洞里有一些不同的草藥,采每一株都需要一些時間,每一株也有它自身的價值。我會給你一段時間,在這段時間里,你可以采到一些草藥。如果你是一個聰明的孩子,你應該可以讓采到的草藥的總價值最大。”   如果你是辰辰,你能完成這個任務嗎?

Input

  輸入文件的第一行包含兩個正整數N,M。M表示總共能夠用來采藥的時間,N代表山洞里的草藥的數目。接下來的N行每行包括兩個的整數,分別表示采摘某株草藥的時間Ti和這株草藥的價值Vi。

Output

  輸出文件僅包含一個整數表示規定時間內可以采到的草藥的最大總價值。
  

Data Constraint

50%的數據中 N,M ≤ 1000; 100%的數據中 N,M ≤ 100000,Ti,Vi ≤10

Analysis

一眼看去是01背包,然而n太大會爆
再看發現Ti和Vi不超過10,按費用分成10類做排序,就變成有10種物品的背包
用數組記錄狀態,順推一下就好了
f[i+j]=f[i]+v[j](0jmin(i,10))
就這樣

當然還有方法二
10*10種可能,也就是100種不同費用、不同價值的物品,有多個可以選擇
變成了多重背包
再把多重背包轉化成01背包(汗),速度確實可以上來

code

#include <stdio.h> #include <algorithm> #include <cstring> using namespace std; int t[11][101001]; int b[100101][11]; int f[100101]; bool cmp(int x,int y){return x>y;} int min(int x,int y){return x<y?x:y;} int main() {int n,m;scanf("%d%d",&n,&m);for (int i=1;i<=n;i++){int a,ob;scanf("%d%d",&a,&ob);t[a][++t[a][0]]=ob;}for (int i=1;i<=10;i++)sort(t[i]+1,t[i]+t[i][0]+1,cmp);for (int i=0;i<=m;i++){int v=0,num=0,p=min(i,10);for (int j=1;j<=10;j++)if (b[i][j]<t[j][0]){int k=b[i][j]+1;if (f[i+j]<t[j][k]+f[i]){f[i+j]=t[j][k]+f[i];for (int g=1;g<=10;g++)b[i+j][g]=b[i][g];b[i+j][j]=b[i][j]+1;}}}printf("%d\n",f[m]);return 0; } #include <stdio.h>using namespace std;int map[11][11]; int w[100001],v[100001],f[100001];int max(int x,int y) {return x>y?x:y; }int main() {int n,m,count=0;scanf("%d%d",&n,&m);for (int i=1;i<=n;i++){int x,y;scanf("%d%d",&x,&y);map[x][y]++;}for (int i=1;i<=10;i++)for (int j=1;j<=10;j++){int tmp=0,o=0,k=1;while (k*2<map[i][j]){w[++count]=i*k;v[count]=j*k;o+=k;k*=2;}if (o!=map[i][j]){w[++count]=(map[i][j]-o)*i;v[count]=(map[i][j]-o)*j;}}for (int i=1;i<=count;i++)for (int j=m;j>=w[i];j--)f[j]=max(f[j],f[j-w[i]]+v[i]);printf("%d\n",f[m]);return 0; }

轉載于:https://www.cnblogs.com/olahiuj/p/5781217.html

總結

以上是生活随笔為你收集整理的采药2_纪中2540_dp的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 美日韩丰满少妇在线观看 | 黄色av一区二区三区 | 韩毛片 | 欧美xxxxbbb| 99re只有精品 | a∨鲁丝一区鲁丝二区鲁丝三区 | 国产a免费视频 | 黄色资源在线播放 | 99精品久久久久久中文字幕 | 凹凸日日摸日日碰夜夜 | 免费毛片大全 | 极品色av影院 | 插插久久 | www.色网 | 国产毛片av| 内射后入在线观看一区 | 一区二区三区四区高清视频 | 亚洲国产第一页 | 欧美日韩一区二区三区在线 | 人妻精品一区一区三区蜜桃91 | 欧美色88 | 都市激情麻豆 | 精品在线视频一区 | 毛色毛片 | 天天草夜夜 | 插插插色综合 | 久久黄色网 | 色婷婷综合久久 | 久久精彩视频 | 欧美高清 | 香蕉午夜视频 | 亚洲一区免费在线 | 国产精品女人久久久 | 就要日就要操 | 欧美日韩亚洲国产另类 | 国产精品久久久久久久一区探花 | 黄网在线观看视频 | 波多野结衣av在线播放 | 伊人网在线播放 | 99插插 | 又粗又大又硬毛片免费看 | av手机在线| 国产精品久久久毛片 | 精品国产一区二区三区久久 | 欧美日韩亚洲精品内裤 | 亚洲国产一区二区a毛片 | 亚洲国产成人无码av在线 | 动漫av一区二区 | 国产网站精品 | 日韩毛片在线播放 | 蜜臀视频网站 | 国产伦精品一区二区三区视频1 | 成人免费在线播放视频 | 搡国产老太xxx网站 高h喷汁呻吟3p | 少妇太爽了在线观看 | 美女xx00| 天天摸天天看 | 一区二区三区精品在线 | 日日摸天天添天天添破 | 波多野结衣在线播放视频 | 青青久操| 欧美精品免费一区二区 | 草莓视频一区二区三区 | 中文字幕第8页 | 痴汉电车在线播放 | 成人不卡av | 免费无码不卡视频在线观看 | 国产精品中文无码 | 肉丝肉足丝袜一区二区三区 | 黄色片成人| 国产精品7777777 | 美女扒开粉嫩的尿囗给男生桶 | 在线免费看污片 | 美女黄站| 国产午夜精品一区二区理论影院 | 麻豆精品一区二区三区 | 国产一区二区免费在线 | 久久2018| 在线免费观看av网址 | 伊人青草 | 超碰在线看 | 国产麻豆剧传媒精品国产av | 欧美午夜精品一区 | 青娱乐伊人 | 一区二区三区xxx | 亚洲一区二区三区免费在线观看 | 一级做a爰片久久毛片 | 在线观看av的网站 | 久久精品男人的天堂 | gogo亚洲国模私拍人体 | 空姐毛片 | 熟女人妇 成熟妇女系列视频 | 国产又色又爽又高潮免费 | 国产不卡精品 | 99精品久久99久久久久 | 一级片av | 91精品人妻互换一区二区 | 天天爽夜夜爽夜夜爽精品视频 | 亚洲乱仑|