2017.2.09【初中部 GDKOI】模拟赛B组

今天的比赛翻车了,主要是第二题对c++字符串判断大小不熟悉。还有就是一个寒假都没有碰过信息学,对于题目的敏感下降了。

T1:比赛时用了SPFA,错了。改成Floyed就对了。


T2:这题差一点就对了。就是把c++中的字符串判断大小搞错了。


T3:比赛时想到了把最长不下降子序列和最长不上升子序列结合起来,但是多了一个枚举起点,其实枚不枚举起点都是一样的。还有就是调程序的时候花了很多时间,因为没有注意到一个地方:第二个必须下降。


T4:这题就是区间dp。枚举每一个人,把环从这个数断开,成为一序列。但是这个数在序列头和序列尾都要有。那么如果这个人能赢,那么他必定能头尾相遇。

这是我们用f[i][j]=0/1来表示第i个和第j个人是否能相遇,那么我们要枚举一个i和j之间的人k,如果i、j能相遇,那么必定i、k能相遇且k、j能相遇且i、j之中至少有一个人可以打败j。最后判断序列头尾是否能相遇就行了。

你可能感兴趣的:(【初中部,NOIP提高组,】模拟赛B)