一、题目

点此看题

二、解法

由于两队都要最有策略,所以只有最大的 m m m个是有用的,看到数据范围只有 20 20 20,可以状压。

那么进入了喜闻乐见的 b p bp bp环节,如果是 p p p操作的话自己选一定比随机选更优,不进行 b b b操作相当于禁用战斗力最小的一个,所以没影响。设 d p [ i ] dp[i] dp[i]为已选择的状压为 i i i的最大差值 / / /最小差值(要看轮到的是谁),然后枚举哪一个被操作即可。

#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;
const int M = 105;
const int inf = 0x3f3f3f3f;
int read()
{int x=0,f=1;char c;while((c=getchar())<'0' || c>'9') {if(c=='-') f=-1;}while(c>='0' && c<='9') {x=(x<<3)+(x<<1)+(c^48);c=getchar();}return x*f;
}
int n,m,a[M],b[M],c[M],d[1<<20],dp[1<<20];char s[5];
signed main()
{n=read();for(int i=1;i<=n;i++)a[i]=read();m=read();sort(a+1,a+1+n,greater<int>());for(int i=1;i<=m;i++){scanf("%s",s);c[i]=read();if(s[0]=='p') b[i]=1;else b[i]=2;}for(int i=1;i<(1<<m);i++){d[i]=d[i>>1]+(i&1);int j=m-d[i]+1;if(c[j]==1) dp[i]=-inf;else dp[i]=inf;for(int k=0;k<m;k++){if(!(i&(1<<k))) continue;int l=(b[j]==1?a[k+1]:0);if(c[j]==1) dp[i]=max(dp[i],dp[i^(1<<k)]+l);else dp[i]=min(dp[i],dp[i^(1<<k)]-l);}}printf("%d\n",dp[(1<<m)-1]);
}

CF377C Captains Mode相关推荐

  1. BZOJ 4155 Humble Captains

    目录 BZOJ 4155 Humble Captains 题意 题解 Code BZOJ 4155 Humble Captains 题目传送门1 题意 每天下午放学时都有n个zky冲出教室去搞基.搞基 ...

  2. BZOJ4155 : [Ipsc2015]Humble Captains

    第一问最小割,第二问: 设du[i]表示i点的度数,则要最小化$\frac{|1集合的du[i]之和-2集合的du[i]之和|}{2}$, 压位01背包即可. #include<cstdio&g ...

  3. python使用fpdf生成pdf文件章节(chapter),包含:页眉、页脚、章节主题、数据排版等;

    python使用fpdf生成pdf文件章节(chapter),包含:页眉.页脚.章节主题.数据排版等: #仿真数据 The year 1866 was marked by a bizarre deve ...

  4. MICROSOFT IGNITE 2018 大会成功举办,Docker 现场揭秘全新版本内容!

    出品丨Docker公司(ID:docker-cn) 编译丨小东 每周一.三.五晚6点10分 与您不见不散! 9月24日,在佛罗里达州奥兰多举行的 Microsoft Ignite 大会上 Docker ...

  5. 为什么对开发者很重要?

    很高兴内置支持Docker Swarm和Kubernetes的Mac版Docker[1]发布了,本文将会回顾一下此工具简史,然后看看新功能的第一印象. 为什么对开发者很重要? Docker CE(简称 ...

  6. rcp rapido_Rapido使用数据改善乘车调度

    rcp rapido Given our last blog post of the series, which can be found here : 鉴于我们在该系列中的最后一篇博客文章,可以在这 ...

  7. oracle宣传视频下载,1300首 Audiomachine 背景音乐电影宣传预告片配乐合辑(23集)...

    [音乐介绍] AUDIOMACHINE 中文为音频机器[trailermusic]厂牌的简称为AM,是属于华纳音乐旗下的LABEL.主要作曲家来自BMI大英作曲家协会的成员.当今世界上最顶级以及最赋盛 ...

  8. 【英语学习】【WOTD】shanghai 释义/词源/示例

    文章目录 Podcast shanghai *v.* [shang-HYE] Definition Did You Know? Examples Podcast shanghai podcast sh ...

  9. [渝粤教育] 西南科技大学 英语词汇学 在线考试复习资料

    英语词汇学--在线考试复习资料 一.单选题 1. _______ is concerned with the expression of feelings and attitudes of the s ...

最新文章

  1. 代码测试意味着完全消灭了Bug?
  2. Apache Ignite(五):Ignite的集群部署
  3. BZOJ 3224 普通平衡树 treap or vector
  4. BZOJ4589. Hard Nim
  5. 如何将FAT32分区直接转为NTFS分区
  6. 【MYSQL进阶挑战】筛选排序
  7. Tomcat - SSL操作大全
  8. 健易保获数千万元A轮融资,BV百度风投投资
  9. 子div在父div垂直居中的最好方法
  10. Python 实现电信天翼网关光猫自动重启
  11. Arcgis应用(十二)栅格数据翻转(Flip)、镜像(Mirror)、重缩放(Rescale)、旋转(Rotate)、移位(Shift)、弯曲(Warp)
  12. Excel中判断内容是否重复-条件格式或IF+COUNTIF函数
  13. 分布式 - 谈谈你对分布式的理解,为什么引入分布式?
  14. java计算机毕业设计商场VIP管理系统源码+系统+数据库+lw文档+mybatis+运行部署
  15. 加加米-又一网络营销中的异军突起!新生的尖锐之师
  16. 基于python的简单名片系统
  17. 为什么Q-learning不用重要性采样(importance sampling)?
  18. 这一篇TCP总结,请务必收下!
  19. Markdown 5分钟的语法课
  20. 人大金仓KingbaseES数据库管理入门

热门文章

  1. 解决ensp防火墙(USG6000V)web无法打开
  2. js怎么将字符串转为数组?字符串数组互转
  3. 浏览器工作原理/浏览器是如何渲染页面?
  4. CoinCola研究院 | 币圈已进入2019年下半场,上半场你错过了什么?
  5. HDU2060 Snooker斯诺克
  6. android期末考试选择题,轻松拿到了阿里Android高级开发工程师的offer
  7. php网站分工,如何网页设计分工
  8. 《你不知道的JavaScript(上卷)》阅读随笔
  9. 系统显示新装Ubuntu字体使用
  10. 一种度过艰难人生的方法 |《鞋狗》读后