题目大意

交互题。
输出平面上的一个点的坐标,交互程序给这个点染色(白或黑)。
如此重复 $n$ 次($ 1\le n \le 30$)。
要求输出的 $n$ 个点各不相同,并且不论交互程序怎样给它们染色,都能找到一条直线将白点和黑点隔开(分隔线不能通过染色的点)。
输出分隔线上的两个点的坐标。

要求:输出的所有坐标都必须是 $0$ 到 $10^9$ 之间的整数。

解法

不难想到可以将 $n$ 个点都选在一条平行于 $x$ 轴的直线上。

每次都取中间两个相邻的黑白点的连线的中点。
(Put a new point in the middle of the gap between white points and black points. Depending on the color said by jury shrink the gap to the left or to the right. In the end, draw a diagonal line between white points and black points.)

由于纵坐标是一个常数,下面我们只考虑横坐标。

将第一个点的(横)坐标选为 $0$,不妨设第一个点被赋予白色,此时我们假想 $10^9+1$ 处是一个(虚拟的)黑点。
每次选取相临的两个黑白点连线的中点 $ l + (r - l) / 2$ 或者 $(l+r)/2$(注意:这种写法有溢出的风险)。

比赛时我的思路大体是对的,只是在最后输出分隔线时,我选择的是垂直于 $x$ 轴的直线,令其与 $x$ 轴交于 $(l + 1, 0)$,$l$ 是最右侧的白点的横坐标。

但是我没考虑到一种情况,那就是中间相邻的那两个黑白点的距离有可能是 $1$(这是由于 $2^{30} > 10^9+1$ 。实际上,若令 $x = 10^9 + 1$,将 $x\gets \lceil x /2 \rceil$ 反复执行 $29$ 次,必然有 $x = 1$;将 $x \gets \lfloor x/2 \rfloor$ 反复执行 $29$ 次也必然有 $x = 1$),此时分隔线恰经过最左侧的黑点。容易看出,分隔线若与 $x$ 轴垂直就在黑白点所在的水平线上占了一个位置(总共有 $10^9 + 1$ 个位置)。我们完全可以选择一条直线作为分隔线,由于最后必然有 $l < r$,我们可以令黑白点的纵坐标为 $1$,这样分隔线就可取为通过 $(l, 0)$ 和 $(r, 2)$ 两点的直线。

转载于:https://www.cnblogs.com/Patt/p/9788712.html

Codeforces #1063C Dwarves, Hats and Extrasensory Abilities相关推荐

  1. Codeforces ~ 1063C ~ Dwarves, Hats and Extrasensory Abilities (交互题,二分)

    题意 交互题.N次,让你每次输出一个点的坐标,然后他告诉你当前点的颜色(黑或白).使得可以找到一条直线把黑点和白点分隔开.最终输出这条直线过的两个点.输入输出均为正数,分为为0~1e9 思路 我们把所 ...

  2. 【codeforces】1063C Dwarves, Hats and Extrasensory Abilities【二分】

    1063C Dwarves, Hats and Extrasensory Abilities [题目描述] 传送门 [题解] 二分法放点就可以了,第一个点在(0,0),然后二分这个点(mid,mid) ...

  3. codeforces C - Dwarves, Hats and Extrasensory Abilities

    这个交互式的题目非常巧妙 你给出一个点,他给你一种颜色,无论他给你什么颜色,你都可以找出一条线,能够把不同颜色的点分开 思路 如果两个点 颜色一样,那么第三个点必然不在两个点的中间,如果两个点颜色不一 ...

  4. [Codeforces Round #516][Codeforces 1063C/1064E. Dwarves, Hats and Extrasensory Abilities]

    题目链接:1063C - Dwarves, Hats and Extrasensory Abilities/1064E - Dwarves, Hats and Extrasensory Abiliti ...

  5. 【交互题+二分】Codeforces Round #516 E. Dwarves, Hats and Extrasensory Abilities

    Codeforces Round #516 E. Dwarves, Hats and Extrasensory Abilities 题意: 输出一个点,输入是黑色或者白色,n次询问后,输出一条直线,是 ...

  6. CF1063C Dwarves, Hats and Extrasensory Abilities

    CF1063C Dwarves, Hats and Extrasensory Abilities 题意: 首先题目会给出 n ,表示要输入多少点. 然后你输出n 个点的坐标,每输出一个点会告诉你这个点 ...

  7. codeforces1064E Dwarves, Hats and Extrasensory Abilities

    目录 codeforces1064E Dwarves, Hats and Extrasensory Abilities 题意: 题解: Code: codeforces1064E Dwarves, H ...

  8. Codeforces Round #516 E. Dwarves, Hats and Extrasensory Abilities

    原题链接:https://codeforces.com/contest/1064/problem/E 题意: 交互题. 给你一个n,让你每次输出一个点,系统会告诉你这个点是黑还是白,让你观察完n个点之 ...

  9. codeforces 1064 E. Dwarves, Hats and Extrasensory Abilities (交互题,二分)

    题目:http://codeforces.com/contest/1064/problem/E 题意:给定n个点,要求每次自己给出一个点的坐标(整数点),这时系统会给出该点的颜色(黑或白),要求最后存 ...

最新文章

  1. 大叔手记(16):分析URL Routing和URL Rewriting两者之间的不同
  2. 数据结构(Java)——迭代器和列表的实例
  3. 电热水器工作过程 c语言,热水器工作流程图
  4. Electron是个啥?
  5. 动态链接MFC引发的血案
  6. Scapy 中文文档:一、介绍
  7. centos7部署posgresql和kong总结
  8. Java排序算法——冒泡排序(Bubble Sort)
  9. The More You Know: Using Knowledge Graphs for Image Classification 论文总结
  10. 计算机应用 网络管理开发,基于XML的iBAC网络管理系统的研究与开发-计算机应用技术专业论文.docx...
  11. 喜大普奔!Maya 2022来了?!
  12. (精品)基于Web的酒店客房管理系统的设计与实现毕业论文+开题报告+项目源码(SSM)及数据库+查重报告
  13. Linux中的Seq
  14. 关于“硬件工程师工资不高”的几个真相
  15. 高效学习与高度自律的可行性
  16. oracle nbu异机恢复,通过NBU进行Oracle异机恢复的实验操作步骤
  17. 【软件测试】测试工程师。你工作中最常用的几种质量管理模型
  18. coursera课程下载_如何在永远消失之前下载Coursera的课程
  19. 互联网(internet)又称因特网
  20. springboot基于vue.js的掌上博客系统的设计与实现毕业设计源码063131

热门文章

  1. K8S部署hazelcast
  2. jdk下载:各历史版本下载地址
  3. linux ps查看进程命令
  4. 详解各种锁:CAS、共享锁、排它锁、互斥锁、悲观锁、乐观锁、行级锁、表级锁、页级锁、死锁、JAVA对CAS的支持、ABA问题、AQS原理
  5. Scala集合实现WordCount代码实现
  6. Redis开发:发布/订阅消息示例
  7. 【软考-系统架构师】计算机操作系统相关考题答案详解
  8. Mybatis中的resultType与resultMap区别
  9. Qt 6的Qt 3D会是什么样?
  10. C++11 Lambda表达式(匿名函数)详解