比赛时间安排
7.30-7.40
三道题的暴力都可写,t2还能打表呢
7.40-8.00
t1的暴力很快写完了,tarjan缩点一下ok
8.00-8.40
推t2的样例理解题意就用了挺久的,才知道1也算一个城市,写代码挺快,就是调bug,刚开始用的bfs,但是发现没办法判环,所以就改用了dfs,样例过了,然后就开始打表,打到8太慢了,于是就去写别的了
8.40-9.00
t3的暴力写完了,感觉复杂度还是有那么一点点打,用了个差分,虽然还是只有20
发现正在打表的程序结束了,我以为是我不小心关了,自闭,于是又去开了一次,结果20分钟后又关了,我以为程序崩了,打不出来,就只写了50分
9.00-10.30 乱想
t1看到第二档分,我发现,每条边出现的时间都是一个连续的区间,于是就在想线段树分治,感觉真的非常像!!但是发现自己并不会维护一个环,连通块还好,环就不行了。
又在想会不会是莫队,但是依然要对环进行维护,没有想法
t2后面的完全没思路,放弃
t3感觉我只要再优化一下,用n^2的就行,于是就死磕t3了。
我顺着原来的思路,发现好像可以二次差分!因为我要找的R也是一段连续的(对于相同的l来说),所以我用vector存下对于每个l,合法的r的值,这样复杂度就对了,然而我根本调不出来!
赛后总结反思
- 打表要用文件输入输出啊!!!
- t3有这个想法是好的,应该在纸上自己写一个有代表性的例子,然后再开始写代码