CEOI2014 day1 task3 Question
题目
传送门。
算法
以下描述都举这个例子:\(x\)是\(11\),\(y\)是\(5\)。
算法1
把\(x\)和\(y\)化成二进制,最多\(10\)位,那么\(x=1011_2\),\(y=0101_2\)。比较它们不同位,把不同位最低位(最大是\(9\))和\(x\)是多少告诉B,上面的例子要告诉B:第\(2\)位不同,\(x\)第二位为\(1\)。那么,\(H_{max}=9*2=18\)。
算法2
仍化成二进制,这次告诉B的是:不同位且\(x\)的那一位为\(0\)的最低位,如果没有,容易知道\(x\)的\(0\)的个数不等于\(y\)的\(0\)的个数,那么这里把\(x\)的\(0\)的个数和\(x\)的\(1\)的个数取最小值(最大是\(5\))告诉B。那么\(H_{max}=10 +5=15\)。
算法3
对于每对\((x,y)\),A都要说出一个\(H\),那么就可以把每对\((x,y)\)分为若干组,使得在同一组(看作集合\(S\))内这种情况不会发生:存在\(a,b,c\in S\),有\((a,b)\)和\((c,a)\)。
好吧,怎样分组我还真不知道。
算法4——解答
前面都是我乱想的,其实算法3是从A出发,解答是从B出发:对于每对\((q,H)\),B都要说yes或no。那么设集合\(S_q={H_1,H_2,...H_m}\),如果\(H\in S_q\)那么就回答yes,否则no。
对于A来说,如果有\(x,y\),那么他可以告诉B:\(\forall H \in S_x \setminus S_y\),这样子,我们就需要保证任意集合没有包含关系。最佳的选择是,从\(12\)个元素里任意选\(6\)个,每种选法作为一个集合,那么我们就可以生成\(C_{12}^6=926>920=N\)个集合了。
想法——结合算法3&算法4
其实算法3和算法4是等价的,只不过算法3应该如何分组我想不出来。
如果算法3的分组方案十分困难,那么就可以出一道很难的题了(2333):这需要考察选出问题转化的能力。
对于\(N=6\)的情况,依照算法4推出算法3的一种分组方案:
行是\(x\)的值,列是\(y\)的值,格子的值是\((x,y)\)属于哪一组。

希望有高人指点一二:按照算法3的思路应该如何分组?
CEOI2014 day1 task3 Question的更多相关文章
- 清华集训2014 day1 task3 奇数国
题目 题目看起来好像很难的样子!其实不然,这是最简单的一道题. 算法 首先要注意的是: \(number \cdot x + product \cdot y = 1\) ,那么我们称\(number\ ...
- NOIp2016 Day1&Day2 解题报告
Day1 T1 toy 本题考查你会不会编程. //toy //by Cydiater //2016.11.19 #include <iostream> #include <cstd ...
- day1
day1.py ][][: ][: ): : ]['lock'] = 0 json.dump(userlist_message, open(userlist, 'w')) break #输错次数到3次 ...
- an interview question(1)
声明:本文为博主原创文章,未经博主允许不得转载. 以下是英文翻译: warnning: Copyright!you can't reprint this blog when you not get b ...
- day1作业--登录入口
作业概述: 编写一个登录入口,实现如下功能: (1)输入用户名和密码 (2)认证成功后显示欢迎信息 (3)输错三次后锁定 流程图: readme: 1.程序配置文件: 黑名单文件blacklist.t ...
- nullcon HackIM 2016 -- Crypto Question 1
You are in this GAME. A critical mission, and you are surrounded by the beauties, ready to shed thei ...
- Stack Overflow is a question and answer site
http://stackoverflow.com/ _ Stack Overflow is a question and answer site for professional and enthus ...
- luogu1003铺地毯[noip2011 提高组 Day1 T1]
题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯.一共有 n 张地毯,编号从 1 到n .现在将这些地毯按照编号从小到大的顺序平行于 ...
- A Regularized Competition Model for Question Diffi culty Estimation in Community Question Answering Services-20160520
1.Information publication:EMNLP 2014 author:Jing Liu(在前一篇sigir基础上,拓展模型的论文) 2.What 衡量CQA中问题的困难程度,提出从两 ...
随机推荐
- runtime的概念,message send如果寻找不到相应的对象,如何进行后续处理
运行时刻是指一个程序在运行(或者在被执行)的状态.也就是说,当你打开一个程序使它在电脑上运行的时候,那个程序就是处于运行时刻.在一些编程语言中,把某些可以重用的程序或者实例打包或者重建成为“运行库”. ...
- F - 蜘蛛牌(深度搜索)
Problem Description 蜘蛛牌是windows xp操作系统自带的一款纸牌游戏,游戏规则是这样的:只能将牌拖到比她大一的牌上面(A最小,K最大),如果拖动的牌上有按顺序排好的牌时,那么 ...
- 五毛的cocos2d-x学习笔记03-控件
VS2013快捷键:注释,Ctrl+K+C:取消注释Ctrl+K+U.都是单行.要实现多行注释与取消注释,就选中多行.run方法调用了AppDelegate的applicationDidFinishL ...
- BZOJ 2190 仪仗队
这道题的关键就是找到所有的点中,x与y互质的点,第一反应必定是暴搜,稍想一下可以从中分开求一半,但范围仍然限定了这条路行不通,仔细画了几张图后发现下图中从第三行起第k行可连fai k个, ...
- java键盘录入
System.out:标准输出设备(默认是:控制台) System.in:标准输入设备(默认是:键盘) --------------------- InputStream in = System.in ...
- oracle 开发笔记“跨数据库查询复制”
1.方法一:创建DBL(data base link) CREATE PUBLIC DATABASE LINK 数据链名称 CONNECT TO 登陆用户名 IDENTIFIED BY 密码 USIN ...
- hibernate Criteria查询 2.3
Criteria对象提供了一种面向对象的方式查询数据库.Criteria对象需要使用Session对象来获得一个Criteria对象表示对一个持久化类的查询 查询所有 Session session ...
- perl post 带上请求头
my $url='https://www.zjcap.cn/business/dispatch_post.do?action=submitAdminLogin'; my $res = $ua-> ...
- 复习知识点:GCD多线程
GCD的基础 #pragma mark - 使用GCD 创建一个 串行 队列 // 第一种:系统提供的创建串行队列的方法 // 在真正的开发中如果需要创建串行队列,比较习惯用这种 // dispatc ...
- 一个IP每天只弹一次广告窗口
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...