题意

脸哥最近来到了一个神奇的王国,王国里的公民每个公民有两个下属或者没有下属,这种关系刚好组成一个 nnn 层的完全二叉树。公民 iii 的下属是 2i2i2i 和 2i+12i +12i+1。最下层的公民即叶子节点的公民是平民,平民没有下属,最上层的是国王,中间是各级贵族。

现在这个王国爆发了战争,国王需要决定每一个平民是去种地以供应粮食还是参加战争,每一个贵族(包括国王自己)是去管理后勤还是领兵打仗。一个平民会对他的所有直系上司有贡献度,若一个平民 iii 参加战争,他的某个直系上司 jjj 领兵打仗,那么这个平民对上司的作战贡献度为 wijw_{ij}wij​。若一个平民 iii 种地,他的某个直系上司 jjj 管理后勤,那么这个平民对上司的后勤贡献度为 fijf_{ij}fij​,若 iii 和 jjj 所参加的事务不同,则没有贡献度。为了战争需要保障后勤,国王还要求不多于 mmm 个平民参加战争。

国王想要使整个王国所有贵族得到的贡献度最大,并把这件事交给了脸哥。但不幸的是,脸哥还有很多 deadline 没有完成,他只能把这件事又转交给你。你能帮他安排吗?

对于 100%100 \%100% 的数据,2≤n≤10,m≤2n−1,0≤wij,fij≤20002 \leq n \leq 10, \ m \leq 2^{n-1}, \ 0 \leq w_{ij}, f_{ij} \leq 20002≤n≤10, m≤2n−1, 0≤wij​,fij​≤2000
数据点1-2,n≤4,m≤2n \le 4 , m \le 2n≤4,m≤2
数据点3-5,n≤8n \le 8n≤8
数据点6-10, n≤10n \le 10n≤10

题解

直观的思路是确定叶子,其它的点贪心取,但这样需要知道每个叶子的状态,而叶子节点数很大,是不可行的。
于是考虑从根往下枚举每个点的状态,因为层数不多,故考虑枚举到一个点时,只确定它到根的路径上的点的状态。考虑对于u,如何用它的左右儿子来转移。因为还有m的限制,故记一个DP[i][j]DP[i][j]DP[i][j]表示i的子树内选j个叶子作战的最大价值,对于u,枚举它领兵打仗或管理后勤,然后往下求出:在这样的情况下,左右子树的DP值,然后合并。由于每往下一层,效率要*4,DP的j维只要枚举到叶子节点个数,即每层的复杂度都是O(4n)O(4^{n})O(4n),故总复杂度是O(n∗4n)O(n*4^{n})O(n∗4n)的。

#2297. 战争调度(war)相关推荐

  1. 「JLOI2015」战争调度 解题报告

    「JLOI2015」战争调度 感觉一到晚上大脑就宕机了... 题目本身不难,就算没接触过想想也是可以想到的 这个满二叉树的深度很浅啊,每个点只会和它的\(n-1\)个祖先匹配啊 于是可以暴力枚举祖先链 ...

  2. robots机器人疾风 war_不正经评测之:《战争机器人War Robots》

    War Robots 是一款充满动作场面的多人游戏,在其中,6 名玩家将组队与另外 6 玩家的战队实时对战!加入金属勇士的行列!战争时间到了,战士们!准备好应付突袭.复杂战术以及对手为你准备的许多狡猾 ...

  3. JLOI2015 战争调度

    题目描述脸哥最近来到了一个神奇的王国,王国里的公民每个公民有两个下属或者没有下属,这种关系刚好组成一个 n 层的完全二叉树.公民 i 的下属是 2 i 和 2 i +1.最下层的公民即叶子节点的公民是 ...

  4. [JLOI2015]战争调度

    文章目录 题目 题解 代码实现 题目 脸哥最近来到了一个神奇的王国,王国里的公民每个公民有两个下属或者没有下属,这种关系刚好组成一个 n 层的完全二叉树. 公民 i 的下属是 2 * i 和 2 * ...

  5. 【bzoj4007】[JLOI2015]战争调度 暴力+树形背包dp

    题目描述 给你一棵 $n$ 层的完全二叉树,每个节点可以染黑白两种颜色.对于每个叶子节点及其某个祖先节点,如果它们均为黑色则有一个贡献值,如果均为白色则有另一个贡献值.要求黑色的叶子节点数目不超过 $ ...

  6. [洛谷P3262]战争调度

    题目 传送门 to luogu 思路 编程要从娃娃抓起,dp\tt{dp}dp 要从叶节点搞起. 毕竟 每个叶节点之间是相互独立的,并且贡献只与其祖先("祖先"不包括自己,下同)有 ...

  7. bzoj4007[JLOI2015]战争调度

    http://www.lydsy.com/JudgeOnline/problem.php?id=4007 搜索. 暴力出奇迹. 题解请戳 发现我一遇到难题手就不由自主地点开了题解~~~~~~~~~~O ...

  8. robots机器人疾风 war_《战争机器人(War Robots)》上线Steam 免费多人在线机器人射击游戏...

    近日,一款免费的多人在线机器人射击游戏<战争机器人(War Robots)>正式上线Steam平台,该游戏将于2018年4月2日发售,有兴趣的朋友不妨关注下. 关于<战争机器人> ...

  9. 战争雷霆怎么设置中文?war thunder简体中文

    战争雷霆Mac版是Mac平台上一款非常受欢迎的军事类游戏,战争雷霆War Thunder for Mac以二战历史为背景,提供陆战.空战两种游戏模式,玩家可以驾驶自己的飞机或者装甲车跟其他玩家战斗,场 ...

  10. War Thunder for Mac(战争雷霆)中文版

    战争雷霆Mac版是Mac平台上一款非常受欢迎的军事类游戏,战争雷霆War Thunder for Mac以二战历史为背景,提供陆战.空战两种游戏模式,玩家可以驾驶自己的飞机或者装甲车跟其他玩家战斗,场 ...

最新文章

  1. xpdf将pdf转换为html,(WordExcelPDF文件转换成HTML整理.docx
  2. 性能调优之工具---perf
  3. Android开源库loopj的android-async-http的 JsonHttpResponseHandler 存在死循环GC_CONCURRENT
  4. 语义分割双料冠军!微软 OCRNet化解语义分割上下文信息缺失难题|ECCV 2020
  5. java 信号量Semaphore
  6. python绘制折线图先对数据进行处理_python气象数据分析并绘制折线图-女性时尚流行美容健康娱乐mv-ida网...
  7. ubuntu 16.04安装mysql_Ubuntu 16.04 安装mysql 5.7.16
  8. elasticsearch版本_折腾下Windows下的Elasticsearch安装与使用
  9. Unity3D 下载与安装
  10. 债券收益率预测模型_股债收益率模型看A股估值 股债收益率模型(EYBY)是一个经典的股市估值模型,其基本思想是将“股票收益率”(EY)与“债券收益率”(BY)进行对比... - 雪球...
  11. liu系统的混沌特性及其matlab仿真,Liu系统的混沌特性及其Matlab仿真
  12. 【改进灰狼优化算法】贪婪的非分层灰狼优化算法(Matlab代码实现)
  13. 电驴emule使用教程
  14. 关于win10中将中文用户名更改为英文名的解决方法
  15. amigo幸运字符什么意思_python3基础01数值和字符串(一)
  16. 太棒了!快来领养一位你的虚拟女友冰冰吧
  17. 计算机校本培训心得,校本培训心得体会(通用3篇)
  18. 64位 regsrv win10_64位WINDOWS 10系统下安装Eplan 2.8及注册过程
  19. layUI基本使用2(js)
  20. 2021-3-30 hackbar

热门文章

  1. 数学管理联考-无限循环小数如何转化为分数
  2. gunicorn简介、架构、安装与配置
  3. 本科计算机考研考英语,2016考研必需知道的10件事
  4. mysql 1236错误_MySQL 1236错误解决方法_MySQL
  5. ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务
  6. Reno与RACK对丢失/重传报文的标记
  7. 计算机中丢失glut.dll,OpenGl的源程序,运行就提示,计算机丢失 glut32.dll文件
  8. python读取文件夹中的所有图片并将图片名逐行写入txt中
  9. golang 开源项目
  10. 焦点关注|创造中国奇迹:北京大兴国际机场的助力者