ABC257

下分!

写了,没保存,毁了两次/fn


  • A

k/n+(k%n>0)+A1k/n+(k\%n>0)+'A'-1


  • B
if(a[l+1]!=a[l]+1&&a[l]!=n)a[l]++;

不做解释


  • C

思路就是前缀和来维护 [1,i][1,i] 区间的 0,10, 1 个数。

那答案就是 s[i][0]+s[n][1]s[i][1]s[i][0] + s[n][1] - s[i][1]

哈哈哈我赛事脑子进水狂想三分法 然而 ABC 不是某 sp,数据不是用【数据删除】造的/fn


  • D

图论

对于一条边 uvu\rightarrow v,边权为 xuxv+yuyvpu\dfrac{|x_u-x_v|+|y_u-y_v|}{p_u}

注意,不是无向边,方向不同,边权也不同

然后跑最小生成树,记录最大边权即可


  • E

小清新贪心题

首先,保证数字长度最大,其次,对于每一位,保证数字大的在前

定义 m=mini=19Ci,l=nmm=\min\limits_{i=1}^9C_i,l=\left\lfloor\dfrac nm\right\rfloor

然后 nmln-ml 就是可以支配的“零花钱”

对于左侧的数,尽量“大方”,比如对 11111111111111111111 进行改造,改成 9111111111911111111155111111115511111111


  • F

首先考虑暴力,每次重新建图,重新跑最短路

这显然会 T 飞

但是要么 1n1\rightarrow n 经过 ii,要么不经过

如果不经过就不用管那些与 ii 相连的边,如果经过就以 ii 为分界,ii 以前的跑一遍最短路,以后的跑一遍最短路,相加即可


  • G

不太会,哈哈