JZOJ 4693 疯狂的火神【NOIP2016提高A组模拟8.14】
来源:互联网 发布:idc数据引用授权书 编辑:程序博客网 时间:2024/04/30 19:52
疯狂的火神
题目描述
火神要挑战
有
每个人的价值由一个三元组(
问最多能获得多少经验值?
数据范围
对于100%的数据1≤
保证每个人贡献的经验值到训练结束都不会变成负数。
题解
假设先打第
Ai−Bi∗(K+Ci)+Aj−Bj∗(K+Ci+Cj) >Aj−Bj∗(K+Cj)+Ai−Bi∗(K+Cj+Ci)
(
化简,得
BiCi >BjCj
我们就按照
剩下的,只需按照优先顺序选择某些人来单挑就可以了。这相当于一个背包问题,使用动态规划来解决。
状态转移方程为
答案为
Code(Pascal)
var sh:array[0..2000] of extended; jy:array[0..2000,1..3] of longint; f:array[-5000..5000]of int64; t,n,y,i,o,l,time:longint; ans:int64;procedure qsort(l,r:longint); var i,j:longint; m:extended; begin i:=l; j:=r; m:=sh[(l+r) div 2]; repeat while sh[i]>m do inc(i); while sh[j]<m do dec(j); if i<=j then begin sh[0]:=sh[i]; sh[i]:=sh[j]; sh[j]:=sh[0]; jy[0]:=jy[i]; jy[i]:=jy[j]; jy[j]:=jy[0]; inc(i); dec(j); end; until i>j; if l<j then qsort(l,j); if i<r then qsort(i,r); end;function max(a,b:int64):int64; begin if a>b then exit(a) else exit(b); end;begin readln(t); for y:=1 to t do begin readln(n,time); for i:=1 to n do begin readln(jy[i,1],jy[i,2],jy[i,3]); sh[i]:=jy[i,2]/jy[i,3]; end; qsort(1,n); for l:=-time to time do f[l]:=-maxlongint; f[0]:=0; for i:=1 to n do for l:=time downto 1 do f[l]:=max(f[l],f[l-jy[i,3]]+jy[i,1]-jy[i,2]*l); ans:=0; for i:=1 to time do ans:=max(ans,f[i]); writeln(ans); end;end.
4 0
- JZOJ.4693【NOIP2016提高A组模拟8.14】疯狂的火神
- JZOJ 4693 疯狂的火神【NOIP2016提高A组模拟8.14】
- JZOJ4693. 【NOIP2016提高A组模拟8.14】疯狂的火神
- 【NOIP2016提高A组模拟8.14】疯狂的火神
- 【NOIP2016提高A组模拟8.14】疯狂的火神
- 疯狂的火神【NOIP2016提高A组模拟8.14】
- JZOJ.4694【NOIP2016提高A组模拟8.14】火神的鱼
- 【NOIP2016提高A组模拟8.14】火神的鱼
- 【JZOJ 4693】疯狂的火神
- JZOJ.4692【NOIP2016提高A组模拟8.14】传送带
- JZOJ 4628 立方体【NOIP2016提高A组模拟7.15】
- JZOJ 4629 修路【NOIP2016提高A组模拟7.15】
- JZOJ 4630 计数【NOIP2016提高A组模拟7.15】
- JZOJ 4603 颜料大乱斗【NOIP2016提高A组模拟7.15】
- JZOJ 4647 寻找 【NOIP2016提高A组模拟7.17】
- JZOJ.4699【NOIP2016提高A组模拟8.15】Password
- JZOJ 4699 Password【NOIP2016提高A组模拟8.15】
- JZOJ.4701【NOIP2016提高A组模拟8.15】Throw
- ffmpeg常用命令汇总
- Git使用手册:HTTPS和SSH方式的区别和使用
- 高精度除法
- C++类继承构造函数的语法 & initialization list初始化
- Glide 加载不出图片
- JZOJ 4693 疯狂的火神【NOIP2016提高A组模拟8.14】
- OpenWrt 广告植入原型搭建
- 【Java基础】异常
- Nginx配置upstream实现负载均衡
- 最小二乘法
- oracle/dm数据库更新整列,update select列!
- pat 1103. Integer Factorization (30)
- 设计模式之模板模式
- html5-个人信息采集表