Codeforces Round #406 (Div. 1)

A.Berzerk

考虑先手必胜态,一定是先手移动到某一个位置以后,这个位置是后手的必败态

考虑先手必败态,一定是无论先手如何移动,先手所能一道的任何位置都是后手的必胜态

基于此,我们可以直接记忆化搜索

可能题目比较煞笔我的搜索姿势不好,由于loop的关系,我需要正着和倒着各搜一遍才行


B.Legacy

很显然这是最短路

但是有到区间的边

考虑用线段树辅助建图

一颗线段是表示由区间出发的点,即2类型的边,默认所有点对应的叶节点指向所有点,显然,线段树中父节点应该可以花费0通往儿子节点,然后2类型的边,从线段树连向对应的点即可

需要另外一颗线段树,来建出3类型的边,与2相似,显然,线段树中儿子节点应该可以花费0通往父节点,所有的点指向其对应的叶子结点,3类型的边有对应的边指向第二课线段树中的点即可

这是一张稠密图,所以直接跑dij即可


C.Till I Collapse

显然,贪心策略是正确的,考虑优化

数组f[i][j]表示范围[i,j)之内,如果不存在和a[j]相等的数,那么f[i][j]=1,反之f[i][j]=0

对于每一个f[i]我们可以构建一个线段树来快速的求解,考虑的内存,我们用主席树

那么对于每一个k,我们只需要二分即可

复杂度∑ans(k)<=nlogn,那么,直接二分的话,会使复杂度带3个log,会TLE

考虑直接在主席树上二分,可以化掉一个log


D.Rap God

开起来是一道树分治,不过很繁琐啊

弃疗咯...............


E.ALT

只会简单的建图啊

用二分图来建图

把每一个公民看作是第一部分的一个点,第二部分的每一个点对应树上的一条路径

当且仅当,公民x,从xi-->xj经过了节点j,那么从第一部分的点x向第二部分的点y连边

这样以后,我们所需要解决的问题就成了二分图点的最小覆盖

二分图点的最小覆盖是说要把每一条边,至少一个顶点包含在所求集合内,对于这道题目,这样,来建图显然是正确的

然后一个性质就是说二分图的|最小点集|=|最大匹配|

那么直接跑二分图匹配时间复杂度显然是过不去的

然后就gg了........

CF768的更多相关文章

随机推荐

  1. drf 解析器,响应器,路由控制

    解析器 作用: 根据请求头 content-type 选择对应的解析器对请求体内容进行处理. 有application/json,x-www-form-urlencoded,form-data等格式 ...

  2. C#语言入门

    1.基础知识 2.数据类型 3.控制语句 4.

  3. POJ:1330-Nearest Common Ancestors(LCA在线、离线、优化算法)

    传送门:http://poj.org/problem?id=1330 Nearest Common Ancestors Time Limit: 1000MS Memory Limit: 10000K ...

  4. <node>……express的中间件……//

    Express是一个基于Node.js平台的web应用开发框架,在Node.js基础之上扩展了web应用开发所需要的基础功能,从而使得我们开发Web应用更加方便.更加快捷. 中间件是什么? 中间件函数 ...

  5. 远程连接MYSQL8.0服务器问题

    title: 远程连接MYSQL8.0服务器问题 date: 2018-07-07 11:02:26 updated: tags: [MYSQL,坑] description: keywords: c ...

  6. 全链路spring cloud sleuth+zipkin

    http://blog.csdn.net/qq_15138455/article/details/72956232 版权声明:@入江之鲸 一.About ZipKin please google 二. ...

  7. 2.新手必须掌握的Linux命令

    第2章 新手必须掌握的Linux命令 章节简述: 本章首先介绍系统内核和Shell终端的关系与作用,然后介绍Bash解释器的4大优势并学习Linux命令的执行方法.经验丰富的运维人员可以通过合理地组合 ...

  8. python 时间、日期、时间戳的转换

    在实际开发中经常遇到时间格式的转换,例如: 前端传递的时间格式是字符串格式,我们需要将其转换为时间戳,或者前台传递的时间格式和我们数据库中的格式不对应,我们需要对其进行转换才能与数据库的时间进行匹配等 ...

  9. R语言采坑系列——Warning message: In validDetails.polygon(x) : 强制改变过程中产生了NA

    用ggplot2的geom_density_2d时,总是不能填充图案,并报错: Warning message: In validDetails.polygon(x) : 强制改变过程中产生了NA 解 ...

  10. 编译安装solr

    1, 获取安装包 wget http://download.oracle.com/otn-pub/java/jdk/8u112-b15/jdk-8u112-linux-x64.rpm wget htt ...