2016年提高组模拟题(20161114) 物品选取
来源:互联网 发布:github 网络中立 编辑:程序博客网 时间:2024/06/06 08:54
分析:
对于每种情况,都跑一次背包就好了。
代码:
const maxn=201; maxm=3001;var f:array [0..maxm] of longint; v,w,c,a,b,q:array [0..maxn] of longint; n,m,i,j,k,x,s,ans:longint;function max(x,y:longint):longint; begin if x>y then exit(x) else exit(y); end;begin readln(n,m); for i:=1 to n do begin read(q[i]); case q[i] of 2:readln(v[i],w[i],c[i]); 3:readln(v[i],w[i]); 1:readln(a[i],b[i]); end; end; for i:=1 to n do begin if q[i]=3 then begin for j:=0 to m do if j-w[i]>=0 then f[j]:=max(f[j],f[j-w[i]]+v[i]); end; if q[i]=1 then begin for j:=m downto 0 do for k:=0 to j do f[j]:=max(f[j],f[j-k]+a[i]*k*k-b[i]*k); end; if q[i]=2 then begin for j:=m downto 0 do for k:=0 to c[i] do if j-k*w[i]>=0 then f[j]:=max(f[j],f[j-k*w[i]]+v[i]*k); end; end; writeln(f[m]);end.
0 0
- 2016年提高组模拟题(20161114) 物品选取
- 2016年提高组模拟题(20161114) 物品选取 ssl 2572 dp_背包
- 【复赛模拟试题】 物品选取
- 复赛模拟试题 Vijos P1873 物品选取 dp(waterfall)
- 2016年提高组模拟题(20161114) 锦标赛
- 2016年提高组模拟题(20161114) 文件列表
- 2016年提高组模拟题(20161114) 文件列表 ssl 2572 模拟
- 【SSOJ】物品选取 (pack)
- 物品选取(DP)
- 【codevs5226】物品选取
- 物品选取_ssl2572_背包
- 2016年提高组模拟题(20161114) 锦标赛 ssl 2571 差分约束系统
- 【普及组模拟赛】取物品
- noipday3提高组模拟题
- 提高组 模拟题训练
- 复赛模拟试题 物品选取(重庆一中高2018级信息学竞赛测验7) 解题报告
- 2016年提高组模拟试题(20161105)Mahjong
- 2016年提高组模拟试题(20161105) 方程式
- Android UI PopupWindow 简单使用
- 【NOIP2016提高A组模拟9.14】数列编辑器
- hduoj 1034
- 魔术师纸牌,有空再研究
- win10 + VS2013下载directshow相关示例代码及directshow库文件调用
- 2016年提高组模拟题(20161114) 物品选取
- 每日一题(4),poj1789, Truck History
- 洛谷 P1595 信封问题
- mysql之删除用户,和修改权限
- 进程/线程同步——Critical Section,Mutex,Semaphore,Event区别
- AVAudioPlayer播放本地音乐
- 冒号排序(php和python)
- 总结
- WSO2——(8)ESB功能:消息路由