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:
没打

矩乘快速幂

总结:比赛要算完时间复杂度,不然超了都不知道

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值