题目

传送门

算法

以下描述都举这个例子:\(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都要说yesno。那么设集合\(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的更多相关文章

  1. 清华集训2014 day1 task3 奇数国

    题目 题目看起来好像很难的样子!其实不然,这是最简单的一道题. 算法 首先要注意的是: \(number \cdot x + product \cdot y = 1\) ,那么我们称\(number\ ...

  2. NOIp2016 Day1&Day2 解题报告

    Day1 T1 toy 本题考查你会不会编程. //toy //by Cydiater //2016.11.19 #include <iostream> #include <cstd ...

  3. day1

    day1.py ][][: ][: ): : ]['lock'] = 0 json.dump(userlist_message, open(userlist, 'w')) break #输错次数到3次 ...

  4. an interview question(1)

    声明:本文为博主原创文章,未经博主允许不得转载. 以下是英文翻译: warnning: Copyright!you can't reprint this blog when you not get b ...

  5. day1作业--登录入口

    作业概述: 编写一个登录入口,实现如下功能: (1)输入用户名和密码 (2)认证成功后显示欢迎信息 (3)输错三次后锁定 流程图: readme: 1.程序配置文件: 黑名单文件blacklist.t ...

  6. 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 ...

  7. Stack Overflow is a question and answer site

    http://stackoverflow.com/ _ Stack Overflow is a question and answer site for professional and enthus ...

  8. luogu1003铺地毯[noip2011 提高组 Day1 T1]

    题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯.一共有 n 张地毯,编号从 1 到n .现在将这些地毯按照编号从小到大的顺序平行于 ...

  9. 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中问题的困难程度,提出从两 ...

随机推荐

  1. swift + xcode 新手上路

    有用的参考博文: 视频教程: 如何创建第一个iPhone App - HelloWorldHelloWorld 熟悉xcode: http://www.cocoachina.com/swift/201 ...

  2. 枚举子集的3种方式 -- C++描述

    要求: 给定一个集合,枚举所有可能的子集.此处的集合是不包含重复元素的. Method0: 增量构造法 思路:每次选取一个元素至集合中,为了避免枚举重复的集合,此处要采用定序技巧 -- 除了第一个元素 ...

  3. UITableView 协议中常用的方法

    UITableViewDataSource 协议中常用方法 1.设置右边 索引值 - ( NSArray *)sectionIndexTitlesForTableView:( UITableView ...

  4. android Graphics(四):canvas变换与操作

    前言:前几篇讲解了有关canvas绘图的一些操作,今天更深入一些,讲讲对画布的操作,这篇文章不像前几篇那么容易理解,如果以前没有接触过画布的童鞋可能比较难以理解,为什么会这样.我尽量多画图,让大家更清 ...

  5. DescribingDesign Patterns 描述设计模式

    DescribingDesign Patterns 描述设计模式 How do we describe design patterns?Graphical notations, while impor ...

  6. haml、sass简单的解释

    1. Haml 全名为 HTML Abstract Markup Language,主要就是让开发者能够使用缩排的方式撰写 HTML,做到永不忘记关 Tag 的效果. 例如:%h1= "He ...

  7. 增进离岸Java开发效率的10个提示

    本文来源于我在InfoQ中文站原创的文章,原文地址是:http://www.infoq.com/cn/news/2013/12/10-tips-offshore-java-effective Cygn ...

  8. iOS 常用开源代码整理

    本文章不定期整理. 1.AFNetworking AFNetworking 采用 NSURLConnection + NSOperation, 主要方便与服务端 API 进行数据交换, 操作简单, 功 ...

  9. 转:CSS选择器笔记

    作者: 阮一峰 日期: 2009年3月12日 去年我学jQuery的时候,曾经做过一点选择器(selector)的笔记. 这几天拿出来看了一下,发现很多都忘记了.所以,我决定把它们贴在这里,方便以后查 ...

  10. oschina开源硬件其它开源,开源硬件

    硬件驱动/工具 25Linux内核 101桌面环境 40开源字体 58嵌入式操作系统 33输入法 110开源硬件 57开源图书 5开源家居 17物联网 87开源货币/比特币 32NASA 开源项目 1 ...