开场开9
然后发现是个交互题,自己想了想搞了个算法,发现假了,决定直接随机去做
由于随机所以没法本地测,wa1了4次,被坑了一发
过了,一血
noname被2卡了....
3是签到题,6也是签到题
我把3过了,noname过掉了6
然后noname的2读错题了,发现是个水题
A掉2
之后开始做10,noname想了个假的算法
lyc写了个三分,A掉10
同时lyc跟我说了下5,我用bitset水了过去
接下来noname开始写11,写wa了
然后这时候7的算法出来了,我就写了一发7
noname自己发现少了一种情况,然后改了改11,过了
在noname过掉11以后2分钟我也把7过了..
这时候还有1,4,8,12没做
8我写了个暴力dfs打表,然后dfs跑到7步只有16个没跑出来
期中一部分可以确定答案是8,另外2个不知道是8还是9
所以开始暴枚,猜是2个9,过了(实际上是2个8,但是数据没出到这两个?)
noname刚1没刚出来,最后发现是题目读错了...
比赛第四个小时...我们在想1想不出来..
最后决定微元爆12,但是很遗憾的没爆出来,wa到死
-----------------------------
题解:
2
n=1的时候显然是-1
n>1的时候,只要有边,可以建个反向边就行,答案是1
如果没有边显然是2
如果有环就是0
3
注意double精度问题
考虑到小数点后只有5位,可以化成整数做
5
首先hash,找到哪些hash值相同的
直接bitset....复杂度没问题
k<=5这个条件没啥用....
6不是我写的,好像是签到题我就没管
7
直接做网络流
源点向每个比赛连一个流量为3的边,每个比赛向每个队连流量为3的边(已经确定好的比赛忽略掉,并且把分数减掉),每个队向终点连它分数的边
然后跑网络流,由于保证有解,一定是满流,所以我们再看这个图跑过以后的样子
就是一个解
9
每次随机丢一个数字进去,它会返回一个值,我们本身有一个值
它们的差肯定是m的倍数
丢999次询问进去,取gcd就行
10
首先必须是x相同或者y相同,
而且相同的那一维是直接取所有那一纬的中位数
不相同的那一维直接三分求答案就行了
这一题的x和y可以分开考虑
11
这一题我们我们要求的值实际上就是
(这里的方括号表示上取整)
[B*log2(A)] * [M/B]
考虑B从1到sqrt(M),以及M/B在B>sqrt(M)的时候的有限取值范围,直接暴力即可