注意到sum_t比较小,所以设f[i][j]为选前i头牛,当前sum_t为j的最小sum_w值,转移是f[i][j]=min(f[i-1][j],f[i-1][j-t[i]]+w[i]),然后i维用滚动数组优化即可
注意j<t[i]的部分也要赋值成f[i-1][j]……

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int N=255;
int n,m,f[2][250005],w[N],t[N],sm;
long long ans=-1e18;
int read()
{int r=0,f=1;char p=getchar();while(p>'9'||p<'0'){if(p=='-')f=-1;p=getchar();}while(p>='0'&&p<='9'){r=r*10+p-48;p=getchar();}return r*f;
}
int main()
{n=read(),m=read();for(int i=1;i<=n;i++)w[i]=read(),t[i]=read(),sm+=t[i];memset(f,0x3f,sizeof(f));f[0][0]=0;for(int i=1;i<=n;i++){for(int j=0;j<t[i];j++)f[i&1][j]=f[~i&1][j];for(int j=t[i];j<=sm;j++)f[i&1][j]=min(f[~i&1][j],f[~i&1][j-t[i]]+w[i]);//,cerr<<i-1<<" "<<j<<" "<<i<<" "<<j<<" "<<f[i&1][j]<<endl;}for(int i=1;i<=sm;i++)if(f[n&1][i]>=m)ans=max(ans,(long long)((double)(1ll*i*1000)/(double)f[n&1][i]));printf("%lld\n",ans);return 0;
}

转载于:https://www.cnblogs.com/lokiii/p/9660487.html

bzoj 5281: [Usaco2018 Open]Talent Show【dp】相关推荐

  1. BZOJ 2431: [HAOI2009]逆序对数列【DP】

    2431: [HAOI2009]逆序对数列 Time Limit: 5 Sec Memory Limit: 128 MB Description 对于一个数列aiai,如果有i<ji<j且 ...

  2. bzoj 1801: [Ahoi2009]chess 中国象棋【dp】

    注意到一行只能放012个炮,我们只需要知道列的状态,不用状压行 所以设f[i][j][k]表示前i行有j列有1个炮,有k列有2个炮的方案数 然后分情况讨论转移就行了 #include<cstdi ...

  3. 【DP】【期望】$P1850$换教室

    [DP][期望]\(P1850\)换教室 链接 题目描述 有 \(2n\) 节课程安排在$ n$ 个时间段上.在第 \(i\)(\(1 \leq i \leq n\))个时间段上,两节内容相同的课程同 ...

  4. Bailian2760 数字三角形【DP】

    2760:数字三角形 描述 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 (图1) 图1给出了一个数字三角形.从三角形的顶部到底部有很多条不同的路径.对于每条路径,把路径上面的数加起来可 ...

  5. NUC1131 Triangle【DP】

    Triangle 时间限制: 1000ms 内存限制: 65536KB 通过次数: 1总提交次数: 1 问题描述 图1表示一个数字三角形. 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 ...

  6. LeetCode:完全平方数【279】【DP】

    LeetCode:完全平方数[279][DP] 题目描述 给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n.你需要让组成和的完全平方数的个数最少. 示 ...

  7. 【DP】序列 题解

    [DP]序列 题解 序列 题目 一个长度为kkk的整数序列bbb 1,bbb 2,-,bkbkbk(1≤bbb 1≤bbb 2≤-≤bkbkbk≤NNN)称为"好序列"当且仅当后一 ...

  8. poj 2411 Mondriaan#39;s Dream 【dp】

    题目:poj 2411 Mondriaan's Dream 题意:给出一个n*m的矩阵,让你用1*2的矩阵铺满,然后问你最多由多少种不同的方案. 分析:这是一个比較经典的题目.网上各种牛B写法一大堆. ...

  9. BestCoder冠军赛 - 1005 Game 【DP】

    [题意] 给出一个set,set中有几个数. 现在给出n个人,环成一圈搞约瑟夫... 开始时从第1号报数,每次从set中随机选出一个数s,等报数到s后,报s的人出圈,其他人继续报数. 最后只剩1人时, ...

  10. 【9.22校内测试】【可持久化并查集(主席树实现)】【DP】【点双联通分量/割点】...

    1 build 1.1 Description 从前有一个王国,里面有n 座城市,一开始两两不连通.现在国王将进行m 次命令,命令可 能有两种,一种是在u 和v 之间修建道路,另一种是询问在第u 次命 ...

最新文章

  1. DevOps安装、部署持续集成
  2. Smalidea无源码调试 android 应用
  3. 如何用 Linq 进行多重 Orderby ?
  4. 16槽双电源机架式光纤收发器产品优势介绍
  5. 残疾科学家_数据科学与残疾:通过创新加强护理
  6. android缩放动画的两种实现方法
  7. 一个古老的漏洞username map script,翻出来说说
  8. 《鹰猎长空》讲述戏曲与电影的渊源
  9. myeclipse自定义背景颜色
  10. 裸金属服务器能虚拟化吗,裸金属服务器虚拟化概述
  11. CPU、处理器、内存、外存、寄存器、缓存的区别
  12. 有关H5的第三章表单介绍
  13. 机器学习必看书籍推荐
  14. RV1126 Linux 以太网MAC PHY 芯片8201f gmac dts配置
  15. ZYNQ之路--初级开发流程介绍
  16. 160809310袁韬淳
  17. jquery html 乱码问题,jquery中文乱码怎么解决
  18. 通过ArcCatalog进行矢量数据的入库
  19. linux zfs raid,ZFS创建raidz1(RAID5)
  20. 批量将目录下所有文件进行 dos/unix 格式转换

热门文章

  1. 机器学习实现计算不规则图形面积_【名师课堂】苏教数学五年级上2.11校园绿地面积...
  2. python中10none_Python中的None与Null(空字符)的区别
  3. 云服务器预装什么系统好,云服务器预装什么系统好
  4. java php mysql数据库_PHP脚本和JAVA连接mysql数据库
  5. 一元二次方程abc决定什么_情绪管理 - ABC理论
  6. C++ 运算符重载四(自定义数组类)
  7. Clojure 1.7引入Transducers,提高跨平台支持度
  8. maven 部署及使用
  9. css高度最小值,兼容IE6、7、8和FF
  10. 杨澜给80后女孩子的14个忠告