前话:这是一篇迟来了5天的题解[狗头保命]
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
A&B:
若只题 不讲。
C:
个人难度:橙上 ∼\SIM∼ 黄下
暴力算法:
模拟全过程,时间复杂度 O(NQ)O(NQ)O(NQ),显然超时。
正解算法:
注意到本题最大的版本仅为 NNN,我们考虑从这里入手。
由于题目只让我们求升级的台数,我们可以定义数组 ppp,其中 p(i)p(i)p(i) 表示操作系统版本为 iii 的数量。
再定义变量 curcurcur 表示当前最小版本,对于每次询问,需要更新的数量就是 ∑i=curxp(i)\sum_{i=cur}^x p(i)∑i=curx p(i)。随后将 p(y)p(y)p(y) 加上前式,并且更新 cur=x+1cur=x+1cur=x+1。
最后输出答案即可。
ACCODE:\tt{ACCODE:}ACCODE:
时间复杂度:O(N+Q)O(N+Q)O(N+Q)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
后话:
后面的还没写,所以目前来说这是一篇ABC426C题解。