前言
看了看 i x 35 \rm i\color{red}x35 ix35 的全题解,这不%不行啊:
—— i x 35 \rm i\color{red}x35 ix35
One Day Before
试机。
看名单发现NK居然有一个和我重名的??!!不深入了不然就透露姓名了。
还好机子是64位的,而且(在我校的要求下)给出了g++9.3.0。
Windows 7的机子差评。
编译路径手抖打成了“CD:\”,好久都没发现。
打了高斯消元的代码练手,结果出了Bug,没调出来。
感觉运气不太好啊。
Day 1
考前15分钟才放进来,别人都看题了,我还在设路径+写模板。
大概看了一下四道题:
T1没想法,
T2没想法,
T3就是个贪心嘛,
T4没想法。
然后我还是从T1开始认真看起
T1.airport
画了几张丑图,发现如果设机场有无限个机位,只有前面几个是廊桥的话,由于廊桥是相同的,所以飞机的决策可以等效地看作取最靠前的一个空的机位。
这样一来每个飞机停靠第几个机位是固定的,直接端点排序+set处理出来,这题就基本解决了。
我的天,居然总共用了20多分钟才码完。已经要到3点了。
T2.bracket
由于这个**的限制很奇怪,我不能用常规从左往右的 n 2 n^2 n2 DP来解决。
然后怎么办呢?条件复杂,我做了做转化,如果把*
两边相连的括号连边、相邻的)(
之间连边、匹配的括号之间连边,那么限制刚好是不能出现大于1的环。
但是这有什么用啊,感觉这个转化只是让思路清晰了点。顺着这个思路,我突然想到,匹配的括号及其中间可以看作一个整体,这不就是裸的区间DP吗?
不管了,快,赶快码。码错了几次,换了几种状态后终于调过了。
这题直接用去了近一个小时,已经3点45了。
T3.palin
终于来到T3了,我直接就开始打了。
做法应该比较显然吧,把字符串拆成两部分,然后直接贪心地把两端排上相同的字符即可。如果取前面和取后面都合法的话,考虑到取前面不会对后续任何操作产生障碍,那么贪心是成立的,直接取前面即可。
打完没过大样例,发现某些地方的 2 n 2n 2n 打成 n n n 了。良心大样例。
还好打得比较快,现在是4点过,还有两个多小时。
T4.traffic
网格图,不太妙啊,感觉是个复杂图论题。
选边求贡献最小值,这让我想到了早上刚刚看到的一道网络流最小割的题:狼和羊的故事。(又是一道大家都做过我又没做过的题) 同样是网格图,这题不会是网络流吧?“颜色不同的边之间有贡献”,[桶脏]
!!这不就是最小割嘛!
不想了,时间充裕,先上 D i n i c \rm Dinic Dinic 吧。搞了一个点边同级但是常数比较劣的建图方式,发现最大样例要跑6秒。
说明正解不是网络流。至少不是很板的网络流。
我发现我一直没用上一个条件:网格图。我是直接把它当一般图来跑网络流的,而这题不同的地方就在网格图上,那么正解的切入点一定在这。
可是我不会啊。(事实上,由于我没做过狼抓兔子,不知道网格/平面图最小割,导致拿了网络流的分过后都没想到怎么拿 k = 2 k=2 k=2 的部分分,而正解就是从这里入手的)
所以干脆知足了吧,还有一个多小时,好好检查前三题,顺便想想 D i n i c \rm Dinic Dinic 怎么卡常。
胃不太舒服,躺姿休息了一会。CCF又资金短缺了吗?去年还提供水和面包,今年啥也不提供,考到6点半让我吃纸?
After
如果不出意外的话应该是 100 + 100 + 100 + 60 = 360 100+100+100+60=360 100+100+100+60=360。(我这种菜鸡考出这个分就像氪了命一样,接下来几天一直是感冒咳嗽+胃炎发作)
考完发现好多巨佬估分都是 380 ∼ 400 380\sim 400 380∼400,看来还是有差距啊。
这次考试属于是运气比较好,没有走神,没有出心态问题,而且题目基本是经常遇到的类型。
考试的时候一直咳嗽,为了不影响发挥没戴口罩,真的很有负罪感。考到一半的时候胃不舒服了,估计中午吃的大餐吃太多了。
最近的考试还算比较稳,但其实心里慌得很。就怕这种慌蔓延到考场上来。
彩蛋