cf744
Codeforces Round #385 (Div. 1)
<br >
A.Hongcow Builds A Nation
贪心。
显然就是凑成一个最大的块即可
那么首先并查集处理已经确定的点
然后把剩下不确定的放到点数最多的一个块中
最后统计边数即可
B.Hongcow's Game
交互题
交互的方法比较特殊。
每次二分一部分区域,然后将可以补充的填上
也就是把矩阵不断的切成四块,然后依次补上
可以把一些子询问合并
因为可能有一半已经有结果了,不会有所影响
举个例子(官方题解):
First level:
[1,2,3,4]
[5,6,7,8]
Second level
[1,2],[5,6] (i.e. ask 1,2,5,6 all together, but this is actually two different subproblems, one for the top left, and one for the bottom right).
[3,4],[7,8]
Third level
[1],[3],[5],[7]
[2],[4],[6],[8]
C.Hongcow Buys a Deck of Cards
n那么小,一看就是状压dp
但是似乎不能直接转移,因为每单位时间获取的金币的话,获取的是1个red和1个blue
那么,我们考虑,再记录下,到当前状态所节省的red
用f[i][j]表示状态为i, 到当前状态所节省了red,最多能节省blue的值
暴力转移即可
最后的答案显然就是 \(max(sr-i,sb-f[(1<<n)-1][i])\) 中的最小值
其中sr、sb为red和blue的和
cf744的更多相关文章
随机推荐
- python GIL锁、进程池与线程池、同步异步
一.GIL全局解释器锁 全局解释器锁 在CPython中,全局解释器锁(GIL)是一个互斥锁,它可以防止多个本机线程同时执行Python代码.之所以需要这个锁,主要是因为CPython的内存管理不是线 ...
- 如何把list当成栈或者队列来用
在python里,list和在C.java里的数组差不多,但是python里的list是可变长的,而且python语言也支持倒叙读取,如list[-1]可以读取最后一个元素.但这还不是最厉害的,lis ...
- 在linux下安装并运行scrapyd
系统:centos7.4 安装scrapyd:pip isntall scrapyd 因为我腾讯云上是python2与python3并存的 所以我执行的命令是:pip3 isntall scrapyd ...
- Java-basic-3-运算符-修饰符-循环
运算符: 与C++类似,特殊的有: 1)按位右移补零操作符: 2)instanceof运算符:判断一个实例是否是某类/接口类型 如果是/类型兼容,则返回true // superclass class ...
- Developing for nRF52810(转载)
Table of Contents Introduction Hardware emulation of nRF52810 Limitations Software emulation of nRF5 ...
- C++中重载、覆盖和隐藏的区别,以及适用场景
一.重载.覆盖和隐藏的区别 二.适用场景 1.重载: 适用于不同的数据类型都需要使用到的功能函数.以数据相加的函数为例,可以在同一个文件内提供以下的重载函数以支持同样的功能: int add(int, ...
- hdu 6318
Long long ago, there was an integer sequence a.Tonyfang think this sequence is messy, so he will cou ...
- LA 7049 Galaxy 枚举
题意: \(x\)轴上有\(n\)个质量为\(1\)的点,他们的坐标分别为\(x_i\). 质心的坐标为\(\frac{\sum{x_i}} {n}\) 转动惯量为\(\sum{d_i^2}\),其中 ...
- UVa 11695 树的直径 Flight Planning
题意: 给出一棵树,删除一条边再添加一条边,求新树的最短的直径. 分析: 因为n比较小(n ≤ 2500),所以可以枚举删除的边,分裂成两棵树,然后有这么一个结论: 合并两棵树后得到的新树的最短直径为 ...
- day19-IO多路复用
1.I/O多路复用指:通过一种机制,可监听多个描述符(soket对象)(文件句柄),一旦某个描述符发送编号(一般指读就绪或写就绪),能够通知程序进行相应的读写操作. 2.I/O多路复用方式:selec ...