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的更多相关文章

随机推荐

  1. python GIL锁、进程池与线程池、同步异步

    一.GIL全局解释器锁 全局解释器锁 在CPython中,全局解释器锁(GIL)是一个互斥锁,它可以防止多个本机线程同时执行Python代码.之所以需要这个锁,主要是因为CPython的内存管理不是线 ...

  2. 如何把list当成栈或者队列来用

    在python里,list和在C.java里的数组差不多,但是python里的list是可变长的,而且python语言也支持倒叙读取,如list[-1]可以读取最后一个元素.但这还不是最厉害的,lis ...

  3. 在linux下安装并运行scrapyd

    系统:centos7.4 安装scrapyd:pip isntall scrapyd 因为我腾讯云上是python2与python3并存的 所以我执行的命令是:pip3 isntall scrapyd ...

  4. Java-basic-3-运算符-修饰符-循环

    运算符: 与C++类似,特殊的有: 1)按位右移补零操作符: 2)instanceof运算符:判断一个实例是否是某类/接口类型 如果是/类型兼容,则返回true // superclass class ...

  5. Developing for nRF52810(转载)

    Table of Contents Introduction Hardware emulation of nRF52810 Limitations Software emulation of nRF5 ...

  6. C++中重载、覆盖和隐藏的区别,以及适用场景

    一.重载.覆盖和隐藏的区别 二.适用场景 1.重载: 适用于不同的数据类型都需要使用到的功能函数.以数据相加的函数为例,可以在同一个文件内提供以下的重载函数以支持同样的功能: int add(int, ...

  7. hdu 6318

    Long long ago, there was an integer sequence a.Tonyfang think this sequence is messy, so he will cou ...

  8. LA 7049 Galaxy 枚举

    题意: \(x\)轴上有\(n\)个质量为\(1\)的点,他们的坐标分别为\(x_i\). 质心的坐标为\(\frac{\sum{x_i}} {n}\) 转动惯量为\(\sum{d_i^2}\),其中 ...

  9. UVa 11695 树的直径 Flight Planning

    题意: 给出一棵树,删除一条边再添加一条边,求新树的最短的直径. 分析: 因为n比较小(n ≤ 2500),所以可以枚举删除的边,分裂成两棵树,然后有这么一个结论: 合并两棵树后得到的新树的最短直径为 ...

  10. day19-IO多路复用

    1.I/O多路复用指:通过一种机制,可监听多个描述符(soket对象)(文件句柄),一旦某个描述符发送编号(一般指读就绪或写就绪),能够通知程序进行相应的读写操作. 2.I/O多路复用方式:selec ...