有n个瓶子,每个瓶子有a[i]的水,每个瓶子容量为b[i],每移动一个单位水小号1秒,问在使用最少个瓶子的前提下,移动水至少需要多少秒

省赛选拔前没做背包专题,后来做了背包专题,现在看这题还是毫无头绪。。。

状态实在太难想了,还是只会参考别人的

参考博客:背包dp

#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>using namespace std;
const int mx = 105;
const int inf = 0x3f3f3f3f;
int dp[mx][mx*mx];struct node {int a, b;bool operator < (const node q) {return b > q.b;}
}bt[mx];int main() {int n, tot = 0, remaining = 0;scanf("%d",&n);for (int i = 1; i <= n; i++) {scanf("%d",&bt[i].a);remaining += bt[i].a;}for (int i = 1; i <= n; i++) {scanf("%d",&bt[i].b);tot += bt[i].b;}sort(bt+1, bt+1+n);int tmp = 0, cnt = 0;for (int i = 1; i <= n; i++) {tmp += bt[i].b;if (tmp >= remaining) {cnt = i;break;}}memset(dp, -1, sizeof(dp));dp[0][0] = 0;for (int i = 1; i <= n; i++) {for (int j = tot; j >= bt[i].b; j--) {for (int k = i; k > 0; k--) {if (dp[k-1][j-bt[i].b] != -1) {dp[k][j] = max(dp[k][j], dp[k-1][j-bt[i].b] + bt[i].a);}}}}int ans = inf;for (int i = tot; i >= remaining; i--) {ans = min(ans, remaining - dp[cnt][i]);}printf("%d %d\n", cnt, ans);return 0;
}

CF730J(背包)- 省赛选拔相关推荐

  1. 2018.5.5—2018.5.7省赛选拔总结

      虽然教主让每个队伍交一篇,我们队的让祥哥写了,但还是很想写个什么流水账来记录一下非常有意义的这三天.   首先非常感谢我的两个队友,大二的两位学长wwx和wjf,非常感谢他们的支持和信任,他们真的 ...

  2. acm省赛选拔组队赛经验谈

    省赛组队赛已经进行5场了,过半了. 从曾经的不会组队到如今逐渐磨合,尽管每次都有遗憾,可是我认为我们一直在进步.有些失误是要记录下来下次不能再犯的! 经验: 1:上场開始一定要有人(英语能力和算法综合 ...

  3. 2021天梯赛选拔随缘补题.jpg

    和去年比起来稍微强了一点点,但还是很拉胯,还要继续努力呀 P1892 [BOI2003]团伙 https://www.luogu.com.cn/problem/P1892 思路:当时想着并查集加邻接表 ...

  4. NYNU_省赛选拔题(10)

    题目描述 Severe acute respiratory syndrome (SARS), an atypical pneumonia of unknown aetiology, was recog ...

  5. 程序设计天梯赛选拔 大炮打蚊子(刷水题就变傻,确实,感觉自己变傻了)

    题目 题意: 大炮打蚊子,模拟. 思路: 模拟 时间复杂度: O(n*m+k) 代码: #include<iostream> #include<cstdio> #include ...

  6. 省赛选拔-A 警察抓小偷

    警察抓了 A.B.C.D.E.F.G 七名罪犯,其中四名是小偷,审讯的时候: 因此有四人说谎,警察想要找出小偷是哪些. A说:"我不是小偷." x !=0 B说:"E 是 ...

  7. 2019-8-18 省赛选拔

    A:训仓达人 先状态压缩把每个区间特别的仓鼠表示出来,然后进行一次区间DP,在区间DP的顺带判断一下是否会不用花费就可以了. AC_Code #include <iostream> #in ...

  8. Contest1019 - 2019年天梯赛省赛选拔

    文章目录 A 上课点名 B 消灭复读机 C 拾取金币 D 同学聚会 E 木工的烦恼 F 数字游戏 G 子序列问题 H 下大雪了 I 丢失的数字 J 最大岛屿 K 山区修路 学如逆水行舟,不进则退. A ...

  9. QUST第七届省赛选拔-盗墓空间

    题目描述 青岛科技大学ACM集训队的XY同学实在太累了,不但要在实验室工作,还要上课.做作业等等,所以每次睡着的时候都会出现盗梦空间那样的递归梦境(递归梦境,他是真累了--). 这次又进入递归梦境了( ...

最新文章

  1. WSAStartup函数
  2. Python-Django-Ajax进阶
  3. 爬虫普及,Web安全更需注意
  4. BZOJ2490 Zombie’s Treasure Chest
  5. wpf 如何设置弹出窗口必须关闭才能打开其他软件_Mac忘记登录密码?以防万一,必须收藏。...
  6. 产品小姐姐收到这个黑科技后,开心了一整天...
  7. 边信息(即对应的两个数组值)_Python 数据分析 NumPy 模块迭代数组nditer方法详解...
  8. Solidworks如何绘制标准螺纹线
  9. IT人都是技术宅?NO,他们完全刷新了我们的认知
  10. 计算机二级c语言编译题评分,计算机二级C语言题型和评分标准
  11. [Mac A]为什么国外程序员爱用 Mac?
  12. 《精通javascript》-----------------------读书笔记
  13. c语言:简单的客户管理系统
  14. 计算机动画设计论文,计算机动画设计论文.docx
  15. 兼职招募!贪心科技招聘AI课程讲师,薪资超行业标准
  16. 工业界中NLP(自然语言处理)算法工程师的核心竞争力是什么?
  17. 青灯教育python百度云_《青》字意思读音、组词解释及笔画数 - 新华字典 - 911查询...
  18. Debian参考手册(3-4)
  19. 焊接好的CH340G芯片不工作
  20. 微信升级后不再使用x5内核,debugx5.qq.com打不开,如何开启微信调试?

热门文章

  1. canvas实现H5接物类小游戏
  2. python实现的人脸识别,中文显示名称
  3. 刘华强买瓜是怎么火起来的?我用Python爬取了3000条B站视频才知道的!
  4. TUV - TUV NORD - 南德 - 之间关系
  5. 【Unity3D游戏开发】App游戏名字本地化 (二七)
  6. 【python】设计一个游戏角色类 属性:角色名、血量、魔法、状态 方法:释放技能 被伤害 要求:设计要合理
  7. 最适合小白的matlab教程系列_进阶系列二之微积分
  8. vb小游戏——井字棋
  9. Unity3D笔记 英保通二
  10. 营销圈告诉你怎样借助万圣节成功吸粉?