CF768
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的更多相关文章
随机推荐
- emacs写cnblog博客
emacs的版本 org-mode版本 参考链接: 用Emacs管理博客园博客 用emacs org-mode写cnblogs博客 用emacs org-mode写博客 & 发布到博客 ...
- C#中的扩展方法详解
“扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型.”这是msdn上说的,也就是你可以对String,Int,DataRow,DataTable等这些类 ...
- Java集合数据类型
Java集合如Map.Set.List等所有集合只能存放引用类型数据,它们都是存放引用类型数据的容器,不能存放如int.long.float.double等基础类型的数据. 1. 集合存储对象 Jav ...
- ssh免密码登录远程服务器(不采用securecrt登录)
http://blog.csdn.net/leexide/article/details/17252369 Linux/UNIX下使用ssh-keygen设置SSH无密码登录 标签: ...
- C语言总结(3)
1.字符输入函数getchar 输入一个字符 char ch; ch=getchai(); 字符输出函数putchar 输出一个字符 putchar(输出参数): 2.调用scanf和printf输入 ...
- [错误解决]刚拿到的服务器vim退格键(backspace)失灵
刚拿到的服务器vim退格键(backspace)失灵: 解决方案: 在主目录下建立.vimrc 覆盖/etc/vimrc的配置 .vimrc 与 /etc/vimrc的区别: 在启动的时候vim会读取 ...
- Jeddict:从服务器的验证过程,思考学习新事物的套路
结合一路研究Jeddict使用的过程经验来看,在这里说一下关于服务器配置的东西.在我们团队,最开始用这个插件的时候,因为公司用的应用服务器是Jboss EAP 7,所以,我们自然而然的,想当然的直接使 ...
- linux 命令 笔记
ftp添加用户步骤: 创建目录 sudo mkdir /home/www 为目录添加用户 sudo useradd -d /home/uftp -s /bin/bash uftp 添加用户权限 sud ...
- Android Webview 与JS交互
Android中 WebView控件支持JS与本地代码的交互. // 是否允许在webview中执行javascript webSettings.setJavaScriptEnabled(true); ...
- CS231n笔记 Lecture 5 Convolutional Neural Networks
一些ConvNets的应用 Face recognition 输入人脸,推测是谁 Video classfication Recognition 识别身体的部位, 医学图像, 星空, 标志牌, 鲸.. ...