题目大意

给定n个数,将这n个数中的一些依次放进m个集合,每个集合中所有数的和不能超过T。集合包含的元素不能交叉,也就是说如果第1个数和第3个数放入了集合1,那么第2个数要么放入集合1,要么不放入任何一个集合。
求m个集合中最多能包含多少个数

1<=n,m,T<=1000

分析

来源于题解中小岛的想法

这题如果状态直接定义为f[i,j]=x表示前i个数放入j个集合最多能包含x个数
那么操作起来会比较困难,所有应换一种状态的定义。

记a[i]为第i个数,f[i,j]=(t,s)表示前i个数选了j个数需要t个集合,最后一个集合所有数之和为s,那么
f[i,j]=min{f[i-1,j],f[i-1,j-1]+a[i]}
f[0,0]=(1,0)
那么就是一个0-1背包问题啦
最后的答案是使得f[n,i]的t<=m的最大的i

代码

#include<cstdio>
const int maxn=1000;
int n,m,T,a[maxn+10];
struct node{int t,s;bool operator < (const node d) const{if (t<d.t)return 1;if (t>d.t)return 0;return s<d.s;}node operator + (const int d) const{if (s+d<=T)return (node){t,s+d};elsereturn (node){t+1,d};}
};
node f[maxn+10];
int main(){scanf("%d%d%d",&n,&m,&T);node te;for (int i=1;i<=n;i++)scanf("%d",&a[i]);f[0].t=1;for (int i=1;i<=n;i++){f[i]=f[i-1]+a[i];for (int j=i-1;j>=1;j--){te=f[j-1]+a[i];if (te<f[j])f[j]=te;}}for (int i=n;i>=0;i--)if (f[i].t<=m){printf("%d\n",i);return 0;}
}

VIJOS1392拼拼图的小杉相关推荐

  1. 8.17 拼拼图的小杉 1536

    题目 题解 代码 题目 背景 Background 小杉的幻想来到了经典日剧<死亡拼图>的场景里-- 被歹徒威胁,他正在寻找拼图 突然广播又响了起来,歹徒竟然又有了新的指示. 小杉身为新一 ...

  2. Vijos - 拼拼图的小杉(背包)

    题目链接:https://vijos.org/p/1392 题目背景 小杉的幻想来到了经典日剧<死亡拼图>的场景里-- 被歹徒威胁,他正在寻找拼图(-.-干嘛幻想这么郁闷的场景--). 突 ...

  3. 数字拼图java小程序_JS写的数字拼图小游戏代码[学习参考]

    昨天没事做,就用JS写了个数字拼图的小游戏,自娱自乐. 可惜关于逆序数的问题还没解决,现在有时是拼不成的,大家见谅了. 拼图 td.numTd{ width : 20px ; height : 20p ...

  4. 。rdquo;小杉很平静的飞鸽传书2009

    “你说那个人会是谁呢?”“不知道呀.”小杉很平静的飞鸽传书2009,但换来了&hllip;&hllip;“大姐,你放了我吧,真行,你自己都不知道喜欢谁,那还剩,还剩,等会我算算,哦89 ...

  5. 拼团商城小程序高保真原型模板、支付、优惠券、客服、物流、收藏、足迹、优惠券、订单管理、评价、设置、地址、售后、拼团、消息通知、商城小程序、电商小程序、拼团电商、移动端电商、高保真电商、电商app

    主要功能:首页:(轮播图.活动快速入口.商品推荐).搜索 分类: 商品分类(三级显示).商品详情.拼团or单独购买.订单结算.拼团状态  消息:(客服.通知.物流.活动)我的:收藏.足迹.优惠券.订单 ...

  6. 微信拼车小程序无服务器,滴滴顺风车下架 拼车微信小程序笑了

    ‍‍当前中国有13-14亿人,‍‍机动车的注册量已经有3亿!如此大的人口体量,以及如此少的机动车数量,‍‍所以有着诸多的出行压力,所以当前在交通机动车出行方面具有非常重大的潜力,‍‍百度,支付宝等也都 ...

  7. 写了一个svg七巧板拼图的小东西

    写了一个svg七巧板拼图的小东西,可以拖动移动,改变颜色边框,旋转角度,然后保存图片. 保存图片用到的html2canvas.js和canvg.js,canvg用来将svg转换成canvas,html ...

  8. 图片拼图微信小程序源码_支持多模板制作和流量主

    介绍: 该款小程序支持多种流量主: 另外支持多种图形模板制作切割: 另外也支持长图合成等功能: 安装简单,新手容易上手,具体就不多说了大家自行研究吧!!!! 图片拼图微信小程序源码_支持多模板制作和流 ...

  9. 图片拼图微信小程序源码下载支持多模板制作和流量主

    该款小程序支持多种流量主 另外支持多种图形模板制作切割 另外也支持长图合成等功能 安装简单,新手容易上手,具体就不多说了大家自行研究吧! 好了下面来看看小编的测试演示图! 小程序下载地址:(10条消息 ...

最新文章

  1. html怎么定位布局位置,CSS的position定位布局问题
  2. FPGA逻辑设计回顾(12)RAM以及ROM的RTL设计及其验证
  3. System类的常用方法及类字段
  4. Sockets programming in Python
  5. DOxygen for C++使用说明——Markdown支持
  6. 继北大“鸿hao之志”后,清华出现“热列欢迎”…
  7. activemq使用linux内核机制,activemq基础之:(四)CentOS7 Linux搭建activemq
  8. C 语言实例 - 二进制与十进制相互转换
  9. 鸿蒙os什么时候用到手机,鸿蒙OS何时用在手机上?余承东称明年会有
  10. 低压电力采集平台DW710C与PC沟通
  11. 手工制作机器人用彩泥_印度神奇芒果干制作过程,看一遍顶三遍,游客:不会再吃了...
  12. php ajax 懒加载demo,lazyload懒加载,怎么支持ajax获得的新内容?
  13. mysql 索引长度解释及不使用索引的一种特殊情况
  14. IDEA 创建类注释模板
  15. 使用instsrv和srvany注册windows系统服务
  16. python人工智能入门书籍推荐-有哪些关于人工智能的书籍可供推荐?
  17. 2014年6月份第4周51Aspx源码发布详情
  18. Sql有条件的插入语句
  19. CharacterController.Move called on inactive controller
  20. Android基础控件—SearchView

热门文章

  1. 【一、前端开发基础】HTML+CSS基础
  2. 计算机科学顶级会议排名,最新的计算机科学实力排名来了!
  3. centos监控服务器状态,Centos下PING监控服务器提醒脚本
  4. 数字图像处理学习笔记(十)——空间滤波
  5. 便签存储在哪个文件夹,Windows 7便笺保存位置
  6. Packet Chasing:通过缓存侧信道监视网络数据包
  7. 不允许有匹配 “[xX][mM][lL]“ 的处理指令目标
  8. 如何将IIS6服务器的网站批量迁移到IIS7中
  9. js实现多个小球碰撞
  10. 程序员趣味儿逻辑题!5分钟出正确答案算你达标!