因为今天要打区域赛的缘故,昨晚CF没有做,现在放出ABC的思路,后两题表示不怎么会,一题图论,一题数论,平时都是队友搞定的。。。
A Next Test
这题很简单,写的暴力点也无妨,n<=50的,开个3200大小的数组,然后记录use[i]表示i这个序号是否被用过,然后从头到尾循环一遍即可,时间复杂度是O(n)的。
我的代码:
B Tournament
这题要求找到剩下的那场比赛的结果,这题可以转化一下模型,告诉你一个有向无环图,缺了一条边,并且要保证全部点连通(弱连通),可以先用一个数组标记有向边,n很小,直接建个邻接矩阵,然后剩下两个没有连边的随便加一条,跑bfs看是否有回路,如果没有,那么说明这条边是正确的,否则就将这条边反向一下。最后输出这条边的两个端点就可以了。
我的代码:
C Unordered Subsequence
这题直接模拟,如果原来的序列是有序的,那么就输出0,否则答案一定是3,剩下的三个数。可以取第一个,转折点,还有就是转折点之后的第一个点。
之前要先把相等的数字去掉,然后找到第一个不同的数字当做第一个和第二个答案。
时间复杂度是O(n)的。
我的代码: