摘要:
http://acm.whu.edu.cn/land/problem/detail?problem_id=1470大概是给你一个队列,每次移动队头的数到队尾并减1,如果本身这个数为1就删去.然后ans+=这个数*(队列长度-1),求最小的ans只要最小的元素最先删除就能保证结果最小解法:先对原数列排序然后模拟原操作...但是t[i]太大.显然不能一个个的模拟...其实稍微推一下就能得出每次到达能删除元素的时候整个队列循环了t[i]-1次...我们维护一下后缀和suffix...就能得到这个公式:前面等差数列,后面等差数列O(1)就能求出总共n个数,总共O(n)Notice:等差数列里面/2不能 阅读全文
posted @ 2013-08-24 19:40
Felix_F
阅读(224)
评论(0)
推荐(0)

浙公网安备 33010602011771号