题解:

能量值域很大,不好作为状态

因此我们可以将召唤的鸟的数目当作状态

这样我们可以轻松算出能量上限 W + j * B

然后我们现在是dp( i , j )表示到第 i 个树,召唤 j 个鸟的状态下拥有的最大能量值

然后随便转移下就好了

 1 #include<bits/stdc++.h>
 2 #define ll long long
 3 #define maxn 1005
 4 #define maxc 10005
 5 using namespace std;
 6 int n,W,B,X;
 7 int c[maxn],w[maxn];
 8 bool vis[maxn][maxc];
 9 ll dp[maxn][maxc];
10 int main()
11 {
12     scanf("%d%d%d%d",&n,&W,&B,&X);
13     for(int i=1;i<=n;++i)scanf("%d",&c[i]);
14     for(int i=1;i<=n;++i)scanf("%d",&w[i]);
15     dp[0][0]=W;vis[0][0]=1;
16     int ans=0;
17     for(int i=0;i<n;++i)
18     {
19         for(int j=0;j<=10000;++j)if(vis[i][j])
20         {
21             for(int k=0;k<=c[i+1];++k)
22             {
23                 ll res=min(dp[i][j]+X,1ll*W+1ll*j*B)-1ll*k*w[i+1];
24                 if(res>=0)
25                 {
26                     dp[i+1][j+k]=max(dp[i+1][j+k],res);
27                     vis[i+1][j+k]=1;
28                     ans=max(ans,j+k);
29                 }
30             }
31         }
32     }
33     printf("%d\n",ans);
34     return 0;
35 }

View Code

转载于:https://www.cnblogs.com/uuzlove/p/10553732.html

codeforces 922E相关推荐

  1. Codeforces 922E Birds

    题意:有一排nnn棵树,每棵树木上有ci" role="presentation">cicic_i只鸟,每次从一棵树上召唤一只鸟要消耗costicosticost_ ...

  2. 2018.12.14 codeforces 922E. Birds(分组背包)

    传送门 蒟蒻净做些水题还请大佬见谅 没错这又是个一眼的分组背包. 题意简述:有n棵树,每只树上有aia_iai​只鸟,第iii棵树买一只鸟要花cic_ici​的钱,每买一只鸟可以奖励bbb块钱,从一棵 ...

  3. CodeForces 375D Tree and Queries

    传送门:https://codeforces.com/problemset/problem/375/D 题意: 给你一颗有根树,树上每个节点都有其对应的颜色,有m次询问,每次问你以点v为父节点的子树内 ...

  4. 「日常训练」Bad Luck Island(Codeforces Round 301 Div.2 D)

    题意与分析(CodeForces 540D) 是一道概率dp题. 不过我没把它当dp做... 我就是凭着概率的直觉写的,还好这题不算难. 这题的重点在于考虑概率:他们喜相逢的概率是多少?考虑超几何分布 ...

  5. 【codeforces 812C】Sagheer and Nubian Market

    [题目链接]:http://codeforces.com/contest/812/problem/C [题意] 给你n个物品; 你可以选购k个物品;则 每个物品有一个基础价值; 然后还有一个附加价值; ...

  6. CodeForces 获得数据

    针对程序的输出可以看见 CodeForces :当输入.输出超过一定字符,会隐藏内容 所以:分若干个程序进行输入数据的获取 1. 1 for (i=1;i<=q;i++) 2 { 3 scanf ...

  7. codeforces水题100道 第二十七题 Codeforces Round #172 (Div. 2) A. Word Capitalization (strings)...

    题目链接:http://www.codeforces.com/problemset/problem/281/A 题意:将一个英文字母的首字母变成大写,然后输出. C++代码: #include < ...

  8. CodeForces 595A

    题目链接: http://codeforces.com/problemset/problem/595/A 题意: 一栋楼,有n层,每层有m户,每户有2个窗户,问这栋楼还有多少户没有睡觉(只要一个窗户灯 ...

  9. codeforces A. Jeff and Digits 解题报告

    题目链接:http://codeforces.com/problemset/problem/352/A 题目意思:给定一个只有0或5组成的序列,你要重新编排这个序列(当然你可以不取尽这些数字),使得这 ...

最新文章

  1. cimiss数据_CIMISS,你太优秀了!
  2. 最全面的Python重点知识汇总,建议收藏!
  3. ifcfg系列命令配置网络属性
  4. 5G、物联网、人工智能和机器学习将成为2021年最重要的技术
  5. 基于深度学习的脑电图识别 综述篇(三)模型分析
  6. python语句x 3 3执行_Python语言中,x=2,y=3,执行x,y=y,x之后,x和y的值分别是什么?...
  7. HTML基础(part8)--HTML5
  8. C++学习之路 | PTA乙级—— 1022 D进制的A+B (20分)(精简)
  9. Spring 事务传播原理及数据库事务操作原理
  10. logout退出功能是怎么实现的?login登陆功能室怎么实现的
  11. cocos2dx-3.0(8)------Label、LabelTTF、LabelAtlas、LabelBMFont使用之法
  12. 深入理解JVM虚拟机
  13. 教您在MathType输入三角形符号
  14. A+B的各种写法(不是couta+b;)
  15. 基于web服务的文件共享平台pydio搭建教程
  16. Android 12 首个开发者预览版到来
  17. c语言宏定义(c语言宏定义是什么意思)
  18. OpenCV 实时对象跟踪(质心跟踪)
  19. 大数据之统计股票开盘和收盘平均价
  20. Neutron DHCP-Agent问题分析定位(1)

热门文章

  1. 利用javascript实现简体与繁体的转换
  2. 电子词典系统vc++_电子词典系统
  3. Hibernate的@Temporal注解处理时间日期类型的映射关系
  4. go uint64 转 字符_Go的基本数据类型入门看这一篇就差不多了
  5. tomcat 配置异常/404页面
  6. 【spring-session】store-type
  7. 【SpringBoot】【Thyemeleaf 】【Spring EL表达式】 SPEL调用静态类、静态方法
  8. javascript 查看变量类型
  9. java加按钮_如何从零开始对接第三方登录(Java版):QQ登录和微博登录
  10. discuz misc.php慢,discuz提示misc.php?mod=patchaction=导致网站访问慢问题解决办法