Open Train 10352

开场开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)的时候的有限取值范围,直接暴力即可

原文地址:https://www.cnblogs.com/absi2011/p/9231770.html