时间
8:30~8:50 看题,看完觉得要凉,因为第一感觉啥都没有。
8:50~10:30 T1,又一次陷了进去,一部分是因为正解就在眼前,另一部分是自己思维的固化,与正解是那么的进,但却又抓不住。暴力很好想,而且分还挺高的,想正解,就是一个点左右的累加和乘上上下的累加和,然后就停留在了怎么去维护,首先是累加和的维护,线段树??然后想到了移动点时累加和的变化的性质,于是这个也过掉了,最后一个就是如何储存,2e4的横纵坐标的范围,根本存不下,又开始想什么STL可以拯救自己,想不到,唉。。。。真的不敢再看下去了,只好写一个暴力跑路。
10:30~11:30 T2,30分直接写暴力,dfs序跑,写之前想到了按什么顺序去优先进入兄弟节点,觉得题目会不会是按照输入顺序呢,直接暴力,发现样例有的不过,答案不仅和根的选举有关,还和路径的优先选择有关。但是没啥思路啊。
11:30~12:00 T3,k=0,和为森林的两种,40分直接暴力,k=0,直接看原图中有多少连通块,至于为森林的,一定是看有多少棵树,然后k为多少,必然k为多少就多出多少连通块。
12:00~13:00 T4,先去找最小生成树,然后建树,接着找lca,如果不是最小生成树的边去更新环上的最小值,同时更新自己的答案。然后写了140行的代码,写到最后,忽然间大脑一片混乱了,考场没写过这么长的代码,写完后根本不想去调,完全乱掉了。
题目
T1
正解确实是和自己的思路一致,只是不用维护最后的f[x][y],而是动态的计算答案和修改值,又是一种新的思路,在动态中而代替了结果,恰恰是过程和结果的相互转化啊。或者说是一种正难则反的思想,当维护过程做不下去的时候,就想想过程,而当过程维护不了的时候,就想想结果,终究会有一种思路更加的完美。
T2
T3
暴力wa了,为森林的时候,答案为n-m+k,我看完题解,就疑惑了,我也是这样写的啊,为毛wa,点开自己的代码,赫然写着:m-n+k。。。。。。二十分啊。。。。。