第一次打网络赛,第一场,总体来说还可以吧,但是我们队三个人状态都并不太好,主要就是 WA 的比较多吧,开场看最后一题是我的习惯了,虽然貌似那题到打了一半可能才有队伍做出来了,我看了感觉像前几天训练赛的时候做的一道题。刻盘开场看 06 ,凯神开场 01。接着两分钟学长发现 07 水题我就跟着看了发题意,求区间最大值,静态、然后数据范围也很小,就直接开敲暴力,四分钟的时候过的,大概 20 名左右吧,那就是我们的最高名次了2333……接着我准备继续研究下 13 ,刻盘告诉我 06 是关于循环的子串的问题,可能是后缀数组,让我想想,凯神基本就在搞 01 ,我本来想先敲下后缀数组的东西,xiaoxin告诉我 05 是前几天我们训练的时候做的,我可以弄下,然后我就开始了我的悲惨之旅……当然,那段时间就是我们队伍状态差的最佳表现了,学长的队伍已经很快过掉三题了,而我们队WA的很严重,01 我确实不知道是什么题,凯神做的很揪心,WA和TLE都有,好多发,刻盘在开 10 ,貌似是一个数论,而我在纠结 05 。我当时改的真的是身心俱疲,WA了五发,这个时候大概刻盘 10 WA了 8 发,凯神 01 也七八发,一小时二十分钟,学长大概五题的样子。然后刻盘 8 发终于过了,再两分钟我又改了一会发现并查集初始化 0~n-1 了……然后改了 ≤ n 就过了……太惨不谈,大概一个半小时凯神也 A了 01,全队在 WA 罚时惨不忍睹导致之后我们基本都是过同样题数的最后一名。然后我们分别再开题,刻盘先开了当时过的人稍微少点的 08,把剩余过掉人最多的 02 留给比较弱的我开,凯神转身钻研比较像规律题的 03。然后我在题意不太清楚的情况下WA了3发 02,突出一个蠢,真心状态差,后来才知道单个点不算连通块,两个小时多终于过了,然后再过了一段时间刻盘也把 08 A掉了,这个时候 6 题,学长队伍也是 6 题,只不过我们的罚时明显比他们差。学长已经开始开 06 了,我也开始想这道题,刻盘准备做比较难的12。因为是字符串字典序最大的一个,我就想到后缀数组处理的 sa 。然后果断上了后缀数组模板,正反各搞了一轮后缀数组,然后基本理解做法,我准备找第一个出现的字典序最小的长n的串,跟学长说了之后,学长也认可我的想法,但是我的做法是准备 KMP 匹配,学长准备字符串 hash。然后我就揪心的不断尝试,接近四小时的时候终于在因为rank与C++ 内部重名 1 CE 之后 A 掉了,7题罚时最后,学长队在6题罚时第一,然后过了段时间他们也过了。大概最后一段时间,凯神还在寻求 03 的解决方法,刻盘继续开 12,我就准备做 09。之后凯神推出了公式但是具体的解法还是很纠结,和学长交流了一下之后没想到过了一段时间他们就成功 AC。至于我纠结了一下 09是背包还是流就结束了比赛。最后我们队 160+。
恩,第一次打这样特别重要的网络赛还是很揪心的,虽然顺利拿到现场赛名额,但是很明显的,在全场过题比较多的时候,我们很容易分头开题,特别是今天这样子,WA了之后会很纠结,乱了阵脚,可能正式比赛这种情况会好些。然后就是我个人状态很差,整个队伍状态也不好。今天我对细节的处理还是很不理想,细节出错导致WA了比较多,但是总体来说还是该过的都过了,大家都在AC,除了因为题目可做性比较强所以更多时候各A各的,网络赛也就相对较少合力A题,但是还是相互相信,刻盘也会经常留水题给我的昂。
我个人的话,更多的是在细节上的处理很有问题,可能小错误或者对题意的理解不太注意。今天主要就是一道签到水题 07,然后 02、05两道图论,06一道字符串,我差不多也是准备在区域赛之前就主攻图论和字符串问题了,对我来说做题的结构还是很明确在这两方面的。
1001 恩凯神出的我不知道是啥题
1002 无向图求点数为奇数个的环的总权值,用拓扑排序来确定圈,主要就是对于原来有向图的拓扑序,将度数 0 的点加入队列改为度数 1 的点加入队列,进过队列的都进行标记,拓扑序的队列完成后对每个没有访问过的节点 DFS 求出能够到达的点的个数以及权值,在同一连通块内则说明是原图的圈上的点,然后判断点数奇偶。只不过如果有自环的话,单独一个点也会被当成一个连通的圈,所以要DFS后判断点的个数是1则不加
1003 凯神做的结论题,具体情况不太了解
1004 防AK,没有队过的题
1005 对于一个无向图,在里面旅行,某两点间的花费值为这两点间的 所有路径上的权值最大值 的最小值,就是某条路径的值就是这条路径上所有边的最大权值,而两点间花费就是所有路径的值中的最小值。然后有多个询问问有多少点对满足花费小于等于某个值。其实就和最小生成树差不多,先对边和问题排序,每次取最小边,连通两个并查集,这两个并查集如果不是连通的,那么这两个并查集里的点相互到达的花费就是这条边的权值,因为边是从小到大出的,然后在更新并查集的过程中顺便对排了序的询问赋值,最后输出所有询问就行。不过我并查集的初始化写成 < n,WA了五法……
1006 给一个字符串,收尾相连,可以从任意一个字符开始顺时针或逆时针n个字符,就有 2n个串,问这些串中的字典序最大的一个,如果有多个相同,优先开始位置靠前的,初始位置相同,则有限顺时针。我的做法就是先复制一个两倍长的顺序字符串和一个两倍长的逆序字符串,分别做后缀数组求得 sa 数组(第几小的串开头位置在哪里)然后只取有效的前 n 个串,取一个字典序最大的串,在两倍长的串中取出这个字符串,然后分别对原串 kmp 找出这个字符串第一次出现的位置,然后再对于各项要求进行比较,最后得到结果。学长在后面的过程用的是字符串hash找出第一个出现的串的。据说别人是用最小表示法?还是什么神奇的东西做的,我还太low并不会,只会后缀数组+kmp了
1007 最水的题,1000个数,1000个询问,问区间最大值,RMQ都不用直接暴力找了……
1008 刻盘做的,据说是模拟二分查找树的插值删值什么的。不太清楚,刻盘说他是用 splay 的操作做的,刻盘是种树小能手,果然让他种树没有错!
1009 有n种甜甜圈,m种卡车,需要q能量,每种甜甜圈有提供的能量,占用的体积,可携带个数,每种卡车有提供的体积,需要的花费,可租借的个数,我一开始就想是两个多重背包dp,又觉得多重背包空间要爆,可能是流,然后最后做不出来,听说是做背包然后维护单调队列,暂时还没有补
1010 貌似是数论,关于 CRT 的,刻盘做的
1011 我完全没看的一题……
1012 刻盘看了我并没有看……
1013 一个人要在一个图中随机走,但是他有需要走的序列,然后问按序列走完需要步数的数学期望,一开始感觉很像之前开的训练赛的一道题,后来过的人很少我就没有研究了……