题目:D. Fixed Point Guessing

考点:思维,二分答案

题意:本题是一个交互题,求在不超过 151515 次讯问中得出未被交换的值。现有 [1...n][1\ ...n][1 ...n] 的 nnn 个值,有 n−12\frac{n-1}{2}2n−1​ 对被交换的值,nnn 为奇数且不超过 10410^4104。

思路:可以很清楚的从151515 次询问这一关键点出发,会发现 ⌈log2104⌉=14\lceil log_{2}^{10^4}\rceil=14⌈log2104​⌉=14,所以一定会是二分答案求解问题。给定一个子数组 [al,...,ar][al,...,ar][al,...,ar],计算一下有多少个 aia_iai​ 使 l≤ai≤rl≤ai≤rl≤ai≤r。如果这个数是奇数,那么这个子数组就包含未被交换的点,否则就不包含。

证明:每交换一对值,则对子数组的影响是 000 或者 222,假设 axa_xax​ 在 [l,r][l,r][l,r] 的范围内,aya_yay​ 不在 [l,r][l,r][l,r] 的范围内,交换 axa_xax​ 和 aya_yay​ 对 [l,r][l,r][l,r] 子数组的记数影响为 000。假设 axa_xax​ 在 [l,r][l,r][l,r] 的范围内,aya_yay​ 也在 [l,r][l,r][l,r] 的范围内,交换 axa_xax​ 和 aya_yay​ 对 [l,r][l,r][l,r] 子数组的记数影响为 222。

#include<stdio.h>int main(){int t;scanf("%d",&t);while(t --) {int n;scanf("%d",&n);int l = 1,r = n;while(l < r) {int mid = (l + r) >> 1;printf("? %d %d\n",l,mid);fflush(stdout);int L = 0;for(int i=l;i<=mid;i++) {int a;scanf("%d",&a);if(a >= l && a <= mid) L ++;}if(L % 2) r = mid;else l = mid + 1;}printf("! %d\n",l);fflush(stdout);} return 0;
}

D. Fixed Point Guessing相关推荐

  1. 使用属性position:fixed的时候如何才能让div居中

    css: .aa { position: fixed; top: 200px; left: 0px; right: 0px; width: 200px; height: 200px; margin-l ...

  2. php 上下位置居中,CSS_css中position:fixed实现div在窗口上下左右居中,上下左右 居中 代码如下 复制 - phpStudy...

    css中position:fixed实现div在窗口上下左右居中 上下左右 居中 代码如下 复制代码代码如下: div{ position:fixed; margin:auto; left:0; ri ...

  3. ADPRL - 近似动态规划和强化学习 - Note 5 - Banach Fixed Point Theorem in Dynamic Programming

    动态规划中的巴拿赫不动点定理 5. Banach Fixed Point Theorem in Dynamic Programming 5.1 巴拿赫不动点定理定理 (Banach fixed poi ...

  4. CSS中position属性( absolute | relative | static | fixed )详解

    我们先来看看CSS3 Api中对position属性的相关定义: static:无特殊定位,对象遵循正常文档流.top,right,bottom,left等属性不会被应用. relative:对象遵循 ...

  5. html百度转到顶部 fixed,科技常识:完美解决安卓端百度浏览器屏蔽fixed悬浮元素的问题...

    今天小编跟大家讲解下有关完美解决安卓端百度浏览器屏蔽fixed悬浮元素的问题 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关完美解决安卓端百度浏览器屏蔽fixed悬浮元素的问题 的相关资料 ...

  6. setprecision、fixed、showpoint的用法总结(经典!!超经典!!)【转】

    本文转载自:http://blog.csdn.net/u011321546/article/details/9293547 首先要加头文件:iomanip 一:setprecision 作用:控制输出 ...

  7. SAP WM初阶事务代码LX29 - List of Fixed Storage Bins

    SAP WM初阶事务代码LX29 - List of Fixed Storage Bins SAP WM模块里有一个事务代码叫做LX29,用于查询fixed storage bin的清单.如下图示: ...

  8. SAP MM PR中的Fixed ID字段与MD04里PR单据号后的星号

    SAP MM PR中的Fixed ID字段与MD04里PR单据号后的星号 如下图是我手工使用ME51N 创建的一个采购申请单据, MD04去看这个PR, 这个PR号码后面有一个*号,代表它是一个被fi ...

  9. css 兼容ie6,ie7,ff的fixed,元素上下端固定定位方法

    2019独角兽企业重金招聘Python工程师标准>>> <style type="text/css"> body{ background-image: ...

最新文章

  1. numpy.random.seed()
  2. 《用Python进行自然语言处理》第3章 加工原料文本
  3. DL-5 深度学习框架的对比
  4. arp 不同网段 相同vlan_ARP工作原理,相同网段和不同网段通信过程,代理ARP和ARP的区别,MAC地址为什么不能用来寻址...
  5. COJ1005(Binary Search Tree analog)
  6. 2018年高教社杯全国大学生数学建模竞赛题目问题B 智能RGV的动态调度策略
  7. Mocha BSM产品亮点——事件管理
  8. python实现组合问题_python3 最基本且简单的实现组合设计模式
  9. string.split方法 保留分隔符_Python pandas库159个常用方法使用说明
  10. Java基础学习教程,eclipse简单使用教程(Java集成开发工具)
  11. C语言中的除法运算符
  12. arcgis软件界面字体太小
  13. matlab中dstep与step,DINT和DWORD的区别
  14. 1049: 平方和与立方和 Python
  15. ccf试题1:分蛋糕
  16. 【FPGA】DS18B20数字温度传感器实验
  17. 计算机网络——tcpdump/Wireshark抓包实战
  18. linux批量追加内容,利用sed的追加功能批量在文件中追加内容
  19. echart饼图标签重叠_解决echarts中饼图标签重叠的问题
  20. 小武学fpgastep6

热门文章

  1. 接口自动化之操作mysql数据库
  2. 娶老婆的15条金科玉律
  3. Mac下安装SecureCRT并激活 阿星小栈
  4. 谷歌八年算法工程师分享几点算法学习小技巧
  5. Strange Fractions(奇怪的分数)-数论
  6. 在线考勤签到打卡二维码,如何制作?
  7. e3d教程做logo教程_AE-炫酷LED灯动画 LOGO片头制作(E3D插件)
  8. 如何在云服务器上跑深度学习的代码?(ResNet50为例)
  9. Android拍照识别身份证SDK
  10. 数据采集与数据分析的二八定律