其他分享
首页 > 其他分享> > Atcoder DDCC2020Qual_D题解

Atcoder DDCC2020Qual_D题解

作者:互联网

题面

题意:
给你一个数,他的前 \(d_1\) 位都是 \(c_1\) ,接下来 \(d_2\) 位是 \(c_2\) ,以此类推。每一次操作,你可以选两个相邻的数码,将它们相加以后放回去。问多少次操作以后这个数会变成 \(1\) 。 \(\Sigma d_i\leq10^{15}\) 。


举个例子。 \(2378\) 可以变成 \(2108\) 或 \(578\) 。可以发现,第一种变化方法,他的数字总和恰好减小了 \(9\) ,而第二种方法,他的数位个数减小了 \(1\) 。我们的目标是让他数字总和小于 \(9\) 且只剩一位数,那么我们操作的次数可以计算出是唯一的。算出数字和减到一位数的操作次数是 \((sum-1)\div 9\) ,数字位数剩最后一位的操作次数为 \(num-1\) ,两者相加就是你要的答案。

代码

标签:Atcoder,数字,题解,相加,次数,DDCC2020Qual,一位数,操作,总和
来源: https://www.cnblogs.com/1358id/p/16088602.html