2540. 【NOIP动态规划专题】采药2 (Standard IO)
来源:互联网 发布:淘宝中国质造入口 编辑:程序博客网 时间:2024/06/05 14:55
2540. 【NOIP动态规划专题】采药2 (StandardIO)
Description
辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。” 如果你是辰辰,你能完成这个任务吗?
Input
输入文件的第一行包含两个正整数N,M。M表示总共能够用来采药的时间,N代表山洞里的草药的数目。接下来的N行每行包括两个的整数,分别表示采摘某株草药的时间Ti和这株草药的价值Vi。
Output
输出文件仅包含一个整数表示规定时间内可以采到的草药的最大总价值。
Sample Input
3 9
10 10
8 1
1 2
Sample Output
3
Data Constraint
50%的数据中 N,M ≤ 1000; 100%的数据中 N,M ≤ 100000,Ti,Vi ≤10。
本人思路
本体直接01背包就好了,保证你只有五十分。。
我就比较机智,看到Ti,Vi ≤10。就把他直接转化为有121个物品的完全背包恩恩,然后用了AJ给我们讲的二进制法转化为01背包,然后就过了。
程序:
<pre name="code" class="html">var w:array[0..100,0..100]of longint; x,y:array[1..100100] of longint; f:array[0..100010]of longint; i,j,k,l:longint; n,m:longint; nm:longint; function max(x,y:longint):longint;begin ifx>y then exit(x) else exit(y);end; begin readln(n,m); fori:=1 to n do begin readln(j,k); inc(w[j,k]); end; fori:=0 to 10 do forj:=0 to 10 do begin k:=w[i,j]; l:=1; while (k-l*2>0) do begin nm:=nm+1; x[nm]:=l*i; y[nm]:=l*j; l:=l*2; end; if k<>0 then begin nm:=nm+1; x[nm]:=(k-l+1)*i; y[nm]:=(k-l+1)*j; end; end; fori:=1 to nm do begin for j:=m downto x[i] do f[j]:=max(f[j],f[j-x[i]]+y[i]); end; write(f[m]);end.
1 0
- 2540. 【NOIP动态规划专题】采药2 (Standard IO)
- 【NOIP动态规划专题】采药2 (Standard IO)
- JZOJ8.11(C组)【NOIP动态规划专题】采药2 (Standard IO)
- 【NOIP动态规划专题】采药2
- 采药2 (Standard IO)
- jzoj P1029【NOIP动态规划专题】电子眼
- 【NOIP动态规划专题】最大利润
- JZOJ 3418. 【NOIP动态规划专题】选课
- JZOJsenior1168.【NOIP动态规划专题】合唱队形
- NOIP专题复习——专题二:动态规划基础
- JZOJ3418. 【NOIP动态规划专题】选课(2017.8DP&贪心专题)
- 采药--动态规划
- 采药 动态规划
- 动态规划-采药
- 动态规划:采药
- 动态规划 采药
- 动态规划―采药
- 高中OJ1771. 【NOIP动态规划专题】烽火传递
- 网络流入门 洛谷P1231
- Tomcat中JNDI数据源去掉java:/comp/env/
- 理解Load Average做好压力测试
- 8.bash1
- Android MediaProvider数据库模式
- 2540. 【NOIP动态规划专题】采药2 (Standard IO)
- 安装db2客户机 data_server_client 和 data_server_runtime_client
- 架构设计:系统间通信(45)——阶段性问题记录
- [HihoCoder]#1356 : 分隔相同整数
- Object类公用方法
- JSP笔记From imooc(1)
- poj 1260 Pearls
- C#中string[]数组和list<string>泛型的相互转换 【转】
- UI学习 -绘制文字功能练习