题意:有一排nnn棵树,每棵树木上有ci" role="presentation">cicic_i只鸟,每次从一棵树上召唤一只鸟要消耗costicosticost_i魔力,同时,每召唤一只鸟,召唤鸟的魔力消耗都会增加BBB.一个人初始有W" role="presentation">WWW魔力,每到一颗新的树下,会获得XXX魔力,同时这个人只能从左往右走。问最多召唤鸟的数目

思路:动态规划,设定状态dp[i][j]" role="presentation">dp[i][j]dp[i][j]dp[i][j]表示在第iii棵树下,已经召唤j" role="presentation">jjj只鸟所需要消耗最少的魔力。状态转移即可


#include<bits/stdc++.h>using namespace std;
typedef long long ll;
const ll MOD = 1e9 + 7;
const ll MAXN = 1e5;ll dp[2][MAXN];
ll cst[MAXN];
ll bird[MAXN];
int n;
ll w,b,x;
int up=0;int main()
{ios::sync_with_stdio(false);while(cin>>n>>w>>b>>x){up=0;for(int i=0;i<n;i++){cin>>bird[i];up+=bird[i];}for(int i=0;i<n;i++)cin>>cst[i];memset(dp,-1,sizeof dp);int p=0;dp[p][0]=w;for(int i=0;i<n;i++){//   cout<<bird[i]<<endl;//  cout<<up<<endl;for(int j=0;j<=up;j++){// cout<<"ff"<<endl;if(dp[p][j]==-1)continue;for(int k=0;k<=bird[i];k++){if(k*cst[i]>dp[p][j])break;if(dp[p^1][k+j]==-1)dp[p^1][k+j]=min(dp[p][j]-k*cst[i]+x,w+(k+j)*b);else dp[p^1][k+j]=max(dp[p^1][j+k],min(dp[p][j]-k*cst[i]+x,w+(k+j)*b));}}p^=1;// cout<<p<<endl;}int ans=0;for(int i=0;i<=up;i++)if(dp[p][i]!=-1)ans=i;cout<<ans<<endl;}
}

Codeforces 922E Birds相关推荐

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

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

  2. codeforces 922E

    题解: 能量值域很大,不好作为状态 因此我们可以将召唤的鸟的数目当作状态 这样我们可以轻松算出能量上限 W + j * B 然后我们现在是dp( i , j )表示到第 i 个树,召唤 j 个鸟的状态 ...

  3. Codeforces 题目合集+分类+代码 【Updating...】【361 in total】

    961A - Tetris                                                模拟                                      ...

  4. Codeforces Problem 717C Potions Homework(排序)

    此文章可以使用目录功能哟↑(点击上方[+]) 比赛链接→Bubble Cup 9 - Finals [Online Mirror]  Codeforces Problem 717C Potions H ...

  5. CodeForces 375D Tree and Queries

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

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

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

  7. 【codeforces 812C】Sagheer and Nubian Market

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

  8. CodeForces 获得数据

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

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

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

最新文章

  1. 【OpenCV 4开发详解】边缘检测原理
  2. bat自动输入密码登录_如何制作自动设置计算机管理员密码的脚本
  3. HttpServletrequest 与HttpServletResponse总结
  4. 华为云春节前夕遭连续偷袭!密谋3个月,专挑凌晨断网
  5. 使用memcache的session入库
  6. 微软开源 rDSN 分布式系统开发框架
  7. 在Google Cloud platform上创建Kubernetes cluster并使用
  8. Linux中使用crontab命令启用自定义定时任务
  9. 浅析 .Net Core中Json配置的自动更新
  10. mySQL数据库中的备份代码_MySQL中的备份数据库
  11. xadmin在Django 1.11中的使用及中英文切换
  12. Python 3.8与普通程序员有关的几个新特性
  13. 摩斯密码php,摩斯密码是什么?
  14. 搜狐狐友通过增加知名度增加用户量
  15. 服务器光盘装centos7系统,光盘安装CentOS 7.4步骤
  16. 郭博分析modbus主机模式
  17. ExtJs 第二章,Ext.form.Basic表单操作
  18. 【基于uml高校新闻发布管理系统】
  19. // 和 \\ 都表示什么意思
  20. 华为ICT云赛道真题

热门文章

  1. 循环神经网络——RNN的训练算法:BPTT
  2. Stm32F103R6之SPI
  3. 什么是12% Mn Steel?
  4. 注意力机制:SENet、ECANet
  5. 第8章 注意力机制与外部记忆
  6. 复杂户型图处理(外轮廓颜色) — 20180718-20180721
  7. CentOS 5.4 发布地址
  8. c语言函数返回值类型必须,C++中函数类型与定义的函数返回值类型必须相同么?...
  9. 15读《算法基础》有感——决策树
  10. 委内瑞拉政府推出加密货币汇款服务