摘要:
今天的D题题解,预处理每个余数i的数量b[i],因为对ai的操作只能+1,所以第一遍从0到m-1枚举余数,若b[i]>n/m,只能把b[i]-n/m个数转移到下一个位置上,(最后b[m-1]转移到b[0])这样枚举两边就是最终结果。但是如果每次只转移到相邻的下一个位置,2e5个数最多能转移2e5*2 阅读全文
摘要:
C.根据题意可以知道从1开始的连续套娃不用拆开,剩下的必须拆开才能组装,所以计算从1开始的连续个数,然后拆开次数加上除连续个数剩下的套娃个数,就是最终答案。 https://paste.ubuntu.com/p/nBXKvb3yW6/ B.记录每个数字变成对应序数需要++/--的次数(序数为奇数变化 阅读全文
摘要:
今天的D题题解:并查集+floyd最短路径输入时预处理每个点属于哪一组,用边权为0的边跑一边并查集,然后遍历一遍点,看同组的是否都在相同集合内,若不同输出no,否则就是yes然后把边的两个端点换成对应的组,遍历边,对已有的多个i组到j组的边distance[i][j]取min,跑一遍floyd出结果 阅读全文
摘要:
李旭晨的ABC题 阅读全文