Code: #include "kth.h" #include<iostream> int minn(int x,int y){return x<y?x:y;}; int query_kth(int n_a, int n_b, int n_c, int k) { int pa=0,pb=0,pc=0,tmin; while(k) { int l=(k-2)/3; int t1=get_a(pa+l); int t2=get_b(pb+l); int t3=get_c(…
参考:https://blog.csdn.net/clover_hxy/article/details/70767653 人生第一次交互题...不是很难但是思维和传统题差别挺大的(以及并不会本地测试= =),详见参考blog和代码吧 #include"gap.h" #include<iostream> #include<cstdio> using namespace std; const long long inf=1e18; long long findGap…
记录一下第一次写交互题 题目大意:一共有1<<n个人参加一场竞标赛,需要你通过比较两人的胜场来判断谁晋级,最终获得第一名 最多1/3*2^(n+1)次询问,每次询问query(a,b),如果a胜场多返回1,如果b胜场多返回2,相同胜场返回0 找到冠军后输出"! i"(i为冠军的编号) 思路: 每次取四个人一组,因为如果这一组人进行了t轮比赛后,最终有一人胜出,那么他们的胜场将为 [ t , t , t+1 , t+2 ],而且 t 和 t 不能出现在同一组,那么他们的胜场排…