高一最后一场比赛,当然要好好玩耍啦
Day1:
T1. 我们证一证暴力的复杂度是对的(有点小卡常?)
T2. 算每个环对答案的贡献
到此为止,前两题水的有点过分了?
T3. 受前两题影响,以为这题也难不到哪里去,一开始理解错题意了,wa样例之后才发现qaq
计算几何常见套路:二分。
大概有一个二分图匹配的做法?
冷静分析一下,发现根据hall定理,在根据这个图特殊的性质:一个点匹配的是圆上一个区间。于是做完了。
11:30,写完T3的 n^3 log 做法。感觉很卡常啊(此处的n是原题的两倍)
开始用线段树优化,最后优化到 log * n^2logn的复杂度。
最后40分钟,拍了拍T1,感觉很稳。
下午:emm我T1怎么只拿了40...(不科学)
emmT3莫名丢了10分...
Day2:
看到题面中的“九条可怜”,突然兴奋
T1. 怎么一上来就计算几何啊,不按套路出牌。。
大概可以做到一个log
T2. 乍一看,没有太多思路?
于是开始写T1..
10:30,终于草率地写完了,感觉还少考虑了好多细节。
(样例没过qaq)
上个厕所冷静一下,我们是不是不应该纠结于计算几何,做代码难度大的题可是要承受一定风险的啊。
于是开始想T2
11:00,大致有了想法,可总想不清楚。时间不太够啊,点开T3
(“可怜”应该在题面里加一句:“题目难度与顺序无关”)
11:40,写完T3。虽然好久没写主席树了,但这个主席树真是太好写了!
12:00,大致整理完了T2的思路。我们大致要枚举走路的周期。
因为可能存在多个环,是否存在多个环的判定只需要知道周期中一共向下走了a步,向右走了b步。
我们可以从小到大枚举周期出现了k次,直到ak%n==0,bk%m==0,而此时(a+b)k==n*m是不存在多个环的充要条件。
剩下的只要dp就可以求出这种周期对答案的贡献了。
由于这个周期中可能会存在更小的周期,枚举更小的周期,减去这些情况即可。
12:30,写完T2,愉快地过了样例,没有过大样例?我是不是凉了啊qaq
12:55,打开代码再看了一眼,惊奇地发现,自己从小到大枚举周期出现了k次,我只枚举到了50。而大样例中出现了96次!
无脑地改成枚举到100。令人震惊地过了大样例。。
曾经的我估分200的。。
或许大家已经发现了错误,周期出现次数可能会超过100。。准确的说,不超过lcm(n,m)。而样例lcm(32,48)=96!
或许我改成枚举到2500就能A了呜呜呜
比赛结束后,听说好多人坚持着调试T1,几乎都gg了。计算几何题果然有着神秘的魅力。。
下午:高一最后一场比赛结束了,真是愉悦。我们将要踏上文化课的“不归路”O(∩_∩)O
明年ZJOI rp++