传送门

题意: 给一个数组,让你找到a[i]<min(a[i+1],a[i−1])a[i]<min(a[i+1],a[i-1])a[i]<min(a[i+1],a[i−1])位置iii,每次询问iii可以得到a[i]a[i]a[i],最多询问100次,且a[0]=a[n+1]=+∞a[0]=a[n+1]=+∞a[0]=a[n+1]=+∞。

我们考虑假设我们知道了a[i]a[i]a[i]和a[i+1]a[i+1]a[i+1],如果a[i]<a[i+1]a[i]<a[i+1]a[i]<a[i+1],那么左边一定存在答案,否则右边一定存在答案,按照这个性质二分就好啦。
可以看下面的图理解一下,画出来了a[i]<a[i+1]a[i]<a[i+1]a[i]<a[i+1]的情况,可以发现两个点连起来延伸的话,因为左边有个边界挡着,所以一定会出现一个vvv字型的图案,vvv字型图案的拐角处就是答案啦。

//#pragma GCC optimize(2)
#include<cstdio>
#include<iostream>
#include<string>
#include<cstring>
#include<map>
#include<cmath>
#include<cctype>
#include<vector>
#include<set>
#include<queue>
#include<algorithm>
#include<sstream>
#include<ctime>
#include<cstdlib>
#define X first
#define Y second
#define L (u<<1)
#define R (u<<1|1)
#define pb push_back
#define mk make_pair
#define Mid (tr[u].l+tr[u].r>>1)
#define Len(u) (tr[u].r-tr[u].l+1)
#define random(a,b) ((a)+rand()%((b)-(a)+1))
#define db puts("---")
using namespace std;//void rd_cre() { freopen("d://dp//data.txt","w",stdout); srand(time(NULL)); }
//void rd_ac() { freopen("d://dp//data.txt","r",stdin); freopen("d://dp//AC.txt","w",stdout); }
//void rd_wa() { freopen("d://dp//data.txt","r",stdin); freopen("d://dp//WA.txt","w",stdout); }typedef long long LL;
typedef unsigned long long ULL;
typedef pair<int,int> PII;const int N=1000010,mod=1e9+7,INF=0x3f3f3f3f;
const double eps=1e-6;int n;
int ans;int query(int x)
{printf("? %d\n",x); fflush(stdout);int val; scanf("%d",&val);return val;
}int main()
{//  ios::sync_with_stdio(false);
//  cin.tie(0);scanf("%d",&n);int l=1,r=n;while(l<r){int mid=l+r>>1;int a=query(mid),b=query(mid+1);if(a<b) r=mid;else l=mid+1;}printf("! %d\n",l);return 0;
}
/**/

Codeforces Round #700 (Div. 2) C. Searching Local Minimum 交互二分相关推荐

  1. Codeforces Round #700 (Div. 2) C. Searching Local Minimum(交互)

    链接: C. Searching Local Minimum 题意: 给你一个大小为 n 排列 , 一次询问可以得到位置 i 的数,要求在不超过 100 次询问的条件下找到该排列的一个波谷,即找到位置 ...

  2. CodeForces - 1480C Searching Local Minimum(交互+二分)

    题目链接:点击查看 题目大意:给出一个长度为 nnn 的排列,需要找出一个"局部最小值",所谓"局部最小值"就是对于某个 iii 来说,满足 ai<ai− ...

  3. 1479A - Searching Local Minimum 交互,二分,2019 ccpc 哈尔滨 E 拓扑排序

    1479A - Searching Local Minimum 交互,二分 找一个区间[l,r]始终满足a[l+1]>a[l]&&a[r]<a[r+1],然后不断缩小区间当 ...

  4. Codeforces Round #700 (Div. 1Div. 2)

    Codeforces Round #700 (Div. 1&&Div. 2) 题号 题目 知识点 A Yet Another String Game 签到 B The Great He ...

  5. Codeforces Round #700 (Div. 2)A~D2解题报告

    Codeforces Round #700 (Div. 2)A~D2解题报告 A Yet Another String Game 原题链接 http://codeforces.com/contest/ ...

  6. Codeforces Round #700 (Div. 2) D2 Painting the Array II(最通俗易懂的贪心策略讲解)看不懂来打我 ~

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 整场比赛的A ~ E 6题全,全部题目超高质量题解链接: Codeforces Round #700 ...

  7. 构造图 Codeforces Round #236 (Div. 2) C. Searching for Graph

    题目地址 1 /* 2 题意:要你构造一个有2n+p条边的图,使得,每一个含k个结点子图中,最多有2*k+p条边 3 水得可以啊,每个点向另外的点连通,只要不和自己连,不重边就可以,正好2*n+p就结 ...

  8. Codeforces Round 700 (Div. 2) B题 英雄杀怪兽

    Codeforces Round 700 (Div. 2) B题 链接: https://codeforces.com/contest/1480/problem/B 大致意思: n组数据,每组数据的第 ...

  9. Codeforces Round #700 (Div. 2) A ~ E ,6题全,超高质量良心题解【每日亿题】2021/2/8

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 A - Yet Another String Game B - The Great Hero C ...

最新文章

  1. php5.*.* iis 安装
  2. 【题解】SDOI2008莎拉公主的困惑
  3. leetcode 395. Longest Substring with At Least K Repeating Characters| 395. 至少有 K 个重复字符的最长子串(分治法)
  4. 单元格自适应宽度_Excel如何对表格进行自适应设置,方法很简单
  5. junit mockito_从工作中清除代码–使用JUnit 5,Mockito和AssertJ编写可执行规范
  6. roadhog不是内部或外部命令_git:git 不是内部或外部命令,也不是可运行的程序
  7. ARTS打卡计划第6周-REVIEW-超越编码的避免项目失败的软技能
  8. HTTP1.1/2.0与QUIC协议
  9. python- 属性 静态方法,类方法
  10. Day9--Python--函数入门
  11. AudKit AAX Converter for Mac 有声读物转换器
  12. 电影下载地址大集合,只要是电影就能找到
  13. Error running ...: No jdk for module
  14. 如何用WGDI进行共线性分析(中)
  15. 头歌java 实训 答案 代码 java入门
  16. 从实体密保卡到动态口令令牌
  17. matlab元胞带索引的数组,Matlab-元胞数组的索引
  18. 微信证据以及数据恢复删除记录恢复交易恢复
  19. unity语言如何切换成中文
  20. 用基础jQuery制作个性化留言板

热门文章

  1. mini2440:最简单的嵌入式linux驱动程序模块,mini2440:最简单的嵌入式Linux驱动程序模块 解决找不到mini2440……sample...
  2. 22岁少年破解史上最严重网络攻击,拯救全球互联网,三个月后却被FBI逮捕
  3. 为什么男性比女性死得更早,心疼一秒钟!
  4. 爱泼斯坦事件发酵,MIT师生发起抗议逼迫校长Rafael Reif辞职
  5. 荐书 | 攻克世纪难题,拒绝领取菲尔兹奖的孤独数学天才的一生
  6. clover 主题_Clover主题更换
  7. 小手拍拍机器人_幼儿园互动儿歌游戏,小朋友瞬间变听话!
  8. php 筛选数组,2020-07-24 php 通过数组键值对筛选数组
  9. 平流式初沉池贮砂斗计算_城市污水处理厂产泥量的计算
  10. java 根据客户端重定向_JavaWeb【1.4HttpServletResponse类、重定向】