Open Train 10394

过程:

开场看到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

K题

猜你喜欢

转载自www.cnblogs.com/absi2011/p/9222425.html