2019.02.23【NOIP提高组】模拟 A 组总结
作者:互联网
因为做过B组所以来A组水
60+100+0=160
oj太神奇所以第一题交了四次,最后一次才成功
T1pascal会被卡快排(好像有人不会被卡),不然应该是90(有个地方觉得不用就没判边界,结果数组越界了)
T2过了
T3不会,不屑于打暴力
思想225
系统随机选择30%的幸运程序评测
如果没这我觉得225拿不了第四
如果没有
T1:
先快排
可以看出删剩的必然是一段连续的数
一眼线段树
个p嘞
单调队列维护最小值
最大值就是尾减头
o(n)扫一遍就好
时间复杂度主要是快排。。。
被卡快排了,60
后来有人提醒我这种情况下桶排更快
没想到居然切了(还有个边界忘判没了十分)
T2:
kmm的时间复杂度
居然过了
设f[i]为到达第i个子图的最小时间
答案为n所在的所有子图的答案最小值+1
主要是子图与子图互相连边时间复杂度太大。
稍微解释一下我的做法
每读入一个子图,就将这个子图里所有点所在的子图与当前子图的关系改一下
bz[i,j]为true表示第i个子图与第j个子图直接连通(之所以这样是因为有重边)
然后把为true点的连边
f[i]表示到达第i个子图用得时间,1所在的所有子图的f[i]初始值为1
之后spfa一遍,答案即为n所在的子图中答案最小的那个的答案+1
但由于读入复杂度大所以是k*m^2的
而且空间被卡,所以我用子图的连边前向星,覆盖了点所在子图的前向星
然后把n所在的子图特别存下了。。。
是否跟YYT的一样我不知道。。。
T3:
没打
矩乘快速幂
总结:比赛要算完时间复杂度,不然超了都不知道
标签:连边,NOIP,23,个子,复杂度,2019.02,子图,答案,所在 来源: https://blog.csdn.net/JZHu_Ming_Han/article/details/87992542