SRM13 T3 花六游鸟小(结论题)
哇这题是真的喵,HR智商太高辣
这题的难点就是看了题解之后怎么证明题解里的结论...
结论①:深度大于logm的点肯定能达到最大值
证明:显然一个西瓜的属性里0数量一半1数量一半我们取到的1数量最少,所以我们最多logm个点就可以把所有属性取到1
结论②:未达到最大值的点相邻两个肯定价值不同
证明:易证,取反即可
结论③:有n个西瓜,记s[i]为拥有的属性i的集合,当s取遍所有可能的2^n种集合的时候达不到最大值
证明:显然所有的集合里必有一个全0的集合,我们至少需要把这个集合里的一个0变成1。把第一列的取反,让全0集合出现第一个1,但是必定存在有一个集合只有第一列是1,其他列是0的情况,那么又出现了一个全0集合,那么又需要把第二列取反,以此类推我们将会把所有列取反一次,但是所有的集合里必定有一个全1的集合,我们每一列都取反了一次之后,全1集合变成全0集合了,所以肯定取不到最大值。
我们(其实是HR)可以发现!对列取反的操作实际上是交换集合位置的操作!(ORZ HR!
因为我们有2^n个集合,所以必定不可能把全0集合消去,所以必定取不到最大值!
结论④:有n个西瓜,记s[i]为拥有的属性i的集合,当s[i]没有取遍所有可能的2^n种集合的时候肯定可以达到最大值
证明:借用我们证明结论③时所发现的,我们少了某一个集合,那么只要把全0集合交换成那个缺少的集合即可
可能有点抽象,所以我们具体分析一下。如果缺少的是全0集合,那么直接就可以取到最大值了。如果缺少的不是全0集合,我们就把缺少的集合为1的那几列取反,相当于将全0集合与缺少的集合交换,缺少的集合必定有1,而且不存在除了缺少的集合之外存在一个只有取反的那几列是1其他是0的集合,于是就可以取到最大值。
本质:对列取反的操作实际上是交换集合位置的操作
想明白了这个之后,就可以非常轻松的证明并理解这些结论了
SRM13 T3 花六游鸟小(结论题)的更多相关文章
- 【STSRM13】花六游鸟小
[题意]给定n个节点的树,每个节点有一个m位二进制数,数字可以随时按位取反,每个数位有一个价值,定义每个点的最大价值是从根到这个点路上的数字(可以取反)或起来的数字中,1有价值0无价值,加起来得到的最 ...
- [BZOJ3609][Heoi2014]人人尽说江南好 结论题
Description 小 Z 是一个不折不扣的 ZRP(Zealot Round-game Player,回合制游戏狂热玩家), 最近他 想起了小时候在江南玩过的一个游戏. 在过去,人们是要 ...
- agc015F - Kenus the Ancient Greek(结论题)
题意 题目链接 $Q$组询问,每次给出$[x, y]$,定义$f(x, y)$为计算$(x, y)$的最大公约数需要的步数,设$i \leqslant x, j \leqslant y$,求$max( ...
- [codevs5578][咸鱼]tarjan/结论题
5578 咸鱼 时间限制: 1 s 空间限制: 128000 KB 题目描述 Description 在广袤的正方形土地上有n条水平的河流和m条垂直的河流,发达的咸鱼家族在m*n个河流交叉点都 ...
- BZOJ_1367_[Baltic2004]sequence_结论题+可并堆
BZOJ_1367_[Baltic2004]sequence_结论题+可并堆 Description Input Output 一个整数R Sample Input 7 9 4 8 20 14 15 ...
- 【uoj#282】长度测量鸡 结论题
题目描述 给出一个长度为 $\frac{n(n+1)}2$ 的直尺,要在 $0$ 和 $\frac{n(n+1)}2$ 之间选择 $n-1$ 个刻度,使得 $1\sim \frac{n(n+1)}2$ ...
- 【uoj#175】新年的网警 结论题+Hash
题目描述 给出一张 $n$ 个点 $m$ 条边的无向连通图,每条边的边权为1.对于每个点 $i$ ,问是否存在另一个点 $j$ ,使得对于任意一个不为 $i$ 或 $j$ 的点 $k$ ,$i$ 到 ...
- 【uoj#180】[UR #12]实验室外的攻防战 结论题+树状数组
题目描述 给出两个长度为 $n$ 的排列 $A$ 和 $B$ ,如果 $A_i>A_{i+1}$ 则可以交换 $A_i$ 和 $A_{i+1}$ .问是否能将 $A$ 交换成 $B$ . 输入 ...
- 【bzoj4401】块的计数 结论题
题目描述 给出一棵n个点的树,求有多少个si使得整棵树可以分为n/si个连通块. 输入 第一行一个正整数N,表示这棵树的结点总数,接下来N-1行,每行两个数字X,Y表示编号为X的结点与编号为Y的结点相 ...
随机推荐
- php单例模式和工厂模式
单例模式:防止重复实例化,避免大量的new操作,减少消耗系统和内存的资源,使得有且仅有一个实例对象 header("Content-type: text/html; charset=utf- ...
- 使用 Fiddler工具模拟post四种请求数据
post请求主体详解: 对于get请求来说没有请求主体entity-body.对于post请求而言,不会对发送请求的数据格式进行限制,理论上你可以发任意数据,但是服务器能不能处理就是另一回事了.服务器 ...
- Python|一文简单看懂 深度&广度 优先算法
一.前言 以后尽量每天更新一篇,也是自己的一个学习打卡!加油!今天给大家分享的是,Python里深度/广度优先算法介绍及实现. 二.深度.广度优先算法简介 1. 深度优先搜索(DepthFirstSe ...
- JavaScript 常用正则示例
1. trim功能(清除字符串两端空格) String.prototype.trim = function() { return this.replace(/(^\s+)|(\s+$)/g, '') ...
- 小程序页面的四种文件(JSON、WXML、WXSS、JS)加载顺序
一个小程序页面由四种文件组成: 1)json 页面配置文件 2)js 页面逻辑文件(必需) 3)wxml 页面结构文件(必需) 4)wxss 页面样式文件 这四个文件的加载顺序: 第一步: 加载页面j ...
- Python基础 之 文件操作
文件操作 一.路径 文件绝对路径:d:\python.txt 文件相对路径:在IDEA左边的文件夹中 二.编码方式 utf-8 gbk... 三.操作方式 1.只读 r 和 rb 绝对路径的打开操作 ...
- 软件管理——rpm&dpkg、yum&apt-get
一般来说著名的linux系统基本上分两大类: 1. RedHat系列:Redhat.Centos.Fedora等 2. Debian系列:Debian.Ubuntu等 一.RedHat 系列 ...
- windows编程了解
文章:浅谈Windows API编程 (这个经典)
- 项目UML设计--日不落战队
[团队信息] 团队项目: 小葵日记--主打记录与分享模式的日记app 队名:日不落战队 队员信息及贡献分比例: 短学号 名 本次作业博客链接 此次作业任务 贡献分配 备注 501 安琪 http:// ...
- android gradle打包常见问题及解决方案
背景: 问题: Q1: UNEXPECTED TOP-LEVEL ERROR: java.lang.OutOfMemoryError: Java heap space at com.android.d ...