过程:
开场看到L签到,秒了(RE了一发蠢的不行)
然后noname开始写A
我和lyc讨论了下J题,然后看到K题感觉两题都很可做
noname的A题炸了
然后我开始肝K
快写完的时候noname说C是个签到然后花了几分钟秒掉了
题目写的4s,本地跑了一下感觉3s左右挺好的
然后TLE1????
然后看了一眼Summary,时限其实只有2s
好坑啊!
然后就开始无尽卡时....这时候noname把G好像过掉了
A还在WA
然后noname又找到了G和B,都过掉了
而我在K无尽卡时..从TLE5到TLE12...
正当我打算放弃string准备hash的时候...过了
9发罚时真的很伤
noname在我测K的时候开始肝J,那时候我K还没过,后来加了个0.05s的优化?才过的
事实证明noname和我一样,J也爆了9发罚时.....
然后....看了下A
noname:等下我是不是没删前导0
AC
lyc想了一个I题做法,然后我带他找了个bug
然后开始看奇怪的题......E题noname用连分数做掉
然后D题被我瞎搞过去了...
然后....就不会做了
F和H好像都不太可做
F题尝试了一发各种乱爆,各种随机之类的
然后过了....最多17个点
据说有100+点....所以凉了
=========
ABC 不是我做的
A似乎是找规律...
D题直接考虑两个不是X的
表示两个之间的时间差
然后取所有的时间差的gcd
例如我们发现1和2时间差可以是15和192,那么T就是192-15=177
是0输出-1不然输出gcd
证明?不存在的.....
E题连分数做
大概就是用连分数来逼近
不是我写的我不是很了解
FH没做出来
G不是我做的
I题
随便找一个x,跟别的询问
如果询问出来是0就放过,1就成为新的x
继续询问,直到和第一个x变成1(这时候就是形成圈了)或者没有一个点没有询问过
那么这个点就是最后的点了,如果满足半平面性质那么这个点就是一个端点
如果不是半平面,那么这个点,第一个点和另外一个点肯定能形成一个圆形
如果不能,直接快排那样排序就行了...
J题
a,b排序一下
二分数值,那么我们可以得到一个区间范围,答案落在这个区间范围
然后处理下左右边界各多少个(不然可能左右边界出现次数过多而T)
然后把除了左右边界以外的所有数字暴力找出来,这可以是O(n)的....
K题
直接把字典排序一下然后传统dp...
虽然理论上可以hash...但是我直接map<string>过去了
当然加了一堆常数优化
L题
好像...是签到题
全Xor一下,如果是0输出0
不是0输出2^n-2