Fair Distribution(整除分块)
Fair Distribution
有n个机器人,m个能量条,能够进行两种操作,n–或m++,每次操作花费1美元,求使得m%n=0的最小花费
设n减少了x,则花费为∑n−(n−x)+(m−1n−x+1)∗(n−x)−m=∑n−m+(m−1n−x)∗(n−x),∑(m−1n−x)可以用整除分块O(n)来求得。对于[ni]设n减少了x,则花费为\sum n-(n-x)+( \frac{m-1}{n-x}+1)*(n-x)-m=\sum n-m+(\frac{m-1}{n-x})*(n-x),\sum(\frac
原创
2021-07-27 20:32:52 ·
946 阅读 ·
0 评论