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. 基于IAR6或者IAR7建立STM32开发工程(通过实际测试,使用IAR6.30.4)

    IAR和keil两个开发平台都是arm开发当中比较流行的平台,keil4的版本之间,可以兼容,但是版本4和版本5还是不兼容的,但是IAR的兼容性更加差,好像6.30.x之间是能够兼容的吧,没有实测过, ...

  2. PAT Basic 1078

    1078 字符串压缩与解压 文本压缩有很多种方法,这里我们只考虑最简单的一种:把由相同字符组成的一个连续的片段用这个字符和片段中含有这个字符的个数来表示.例如 ccccc 就用 5c 来表示.如果字符 ...

  3. bash的位置变量和特殊变量

    bash编程的知识点:位置变量和特殊变量 位置参数变量:         scirpt1.sh arg1 arg2 ...         $0         $1   $2   ...  ${10 ...

  4. Hadoop4.2HDFS测试报告之四

    第二组:文件存储读过程记录 测试系统组成 存储类型 测试程序或命令 测试文件大小(Mb) 文件个数(个) 客户端并发数(个) 读速率 (M/s) NameNode:1 DataNode:1 本地存储 ...

  5. Android开发——AsyncTask的使用以及源码解析

    .AsyncTask使用介绍  转载请标明出处:http://blog.csdn.net/seu_calvin/article/details/52172248 AsyncTask封装了Thread和 ...

  6. adb -a server nodaemon,设备一直显示 offline,而 adb devices 一直显示 device【已解决】

    1. adb -a server nodaemon 一直显示 offline 2. adb devices 一直显示 device 谷歌 和 度娘了一圈,未寻得解决办法 # 解决方法 问题已解决,使用 ...

  7. 微信小程序开发 -- 获取当前页面路径

    Page.prototype就是this: 你在任何一个Page里面都可以使用route字段和setData()函数: 示例代码: /** * 生命周期函数--监听页面加载 */ onLoad: fu ...

  8. [uiautomator篇][1] 官网译文

    http://www.jianshu.com/p/7718860ec657 2016.07.25 20:59 字数 3675 Android UIAutomator浅谈 --------------- ...

  9. [错误处理]: How to deal with chrome failing to launch GPU process

    https://github.com/jupyter/notebook/issues/2836 "export BROWSER=google-chrome" command wor ...

  10. 【Luogu】P2150寿司晚宴(状压DP)

    题目链接 反正……我是没什么想法了,全程看题解 (或者说自己想了半天错解) 因为大于根n的质数最多只会在一个数里出现一种,所以可以把数拆成两部分:小数的二进制集合和大数. 然后把大数一样的放到一起DP ...