博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
843B - Interactive LowerBound
阅读量:4598 次
发布时间:2019-06-09

本文共 1287 字,大约阅读时间需要 4 分钟。

 

 

有点懵比~~

没看懂题解说的随机数概率什么的=_=

 

先贴上dalao代码

 

1 #include 
2 3 using namespace std; 4 5 inline pair
ask(int id) { 6 printf("? %d\n", id); 7 fflush(stdout); 8 pair
p; 9 scanf("%d %d", &p.first, &p.second);10 return p;11 }12 13 inline void finish(int value) {14 printf("! %d\n", value);15 fflush(stdout);16 exit(0);17 }18 19 inline int RAND(int n) {20 return abs((rand() << 15) + rand()) % n;21 }22 23 const int MAGIC = 1000;24 25 int main() {26 int n, start, x;27 scanf("%d %d %d", &n, &start, &x);28 srand(time(0));29 set
all;30 all.insert(start);31 while ((int) all.size() < min(n, MAGIC)) {32 all.insert(RAND(n) + 1);33 }34 vector < pair
> v;35 for (int i : all) {36 pair
z = ask(i);37 v.emplace_back(z.first, i);38 }39 sort(v.begin(), v.end());40 int ptr = start;41 for (int i = 0; i < (int) v.size(); i++) {42 if (v[i].first < x) {43 ptr = v[i].second;44 }45 }46 while (ptr != -1) {47 pair
z = ask(ptr);48 if (z.first >= x) {49 finish(z.first);50 return 0;51 }52 ptr = z.second;53 }54 finish(-1);55 return 0;56 }
tourist

 

转载于:https://www.cnblogs.com/yijiull/p/7426894.html

你可能感兴趣的文章
JNI实现JAVA和C++互相调用
查看>>
在MySQL的InnoDB存储引擎中count(*)函数的优化
查看>>
C#中利用正则表达式实现字符串搜索
查看>>
JavaEE基础(九)
查看>>
pycharm 设置文件编码的位置:Editor-->File Encodings
查看>>
【黑马程序员】————枚举
查看>>
20172319 实验五 《网络编程与安全》实验报告
查看>>
Mac下多个jdk自由切换
查看>>
Android中onInterceptTouchEvent、dispatchTouchEvent及onTouchEvent的调用顺序及内部原理
查看>>
extension(类扩展)和 category(类别)
查看>>
Swift - 跑酷游戏开发(SpriteKit游戏开发)
查看>>
iOS 8 Metal Swift教程(一) :开始学习
查看>>
List接口源码解读
查看>>
GNU Radio入门之旅
查看>>
将数据库所有表和字段首字母变成大写
查看>>
如何在vue项目中使用md5.js及base64.js
查看>>
最长公共子序列 Lcs
查看>>
关于虚拟空间上传没有权限问题 只要更改一下system.web 就可以
查看>>
C#知识点总结【1】
查看>>
BZOJ 1257: [CQOI2007]余数之和
查看>>