
【前缀和】
WangMeow
这个作者很懒,什么都没留下…
展开
-
[51Nod](1065)最小正子段和 ---- 贪心 + 前缀和
N个整数组成的序列a[1],a[2],a[3],…,a[n],从中选出一个子序列(a[i],a[i+1],…a[j]),使这个子序列的和>0,并且这个和是所有和>0的子序列中最小的。 例如:4,-1,5,-2,-1,2,6,-2。-1,5,-2,-1,序列和为1,是最小的。Input第1行:整数序列的长度N(2 <= N <= 50000) 第2 - N+1...原创 2018-04-12 22:41:13 · 199 阅读 · 0 评论 -
[51Nod](1098)最小方差 ---- 前缀和+枚举
若x1,x2,x3……xn的平均数为k。 则方差s^2 = 1/n * [(x1-k)^2+(x2-k)^2+…….+(xn-k)^2] 。 方差即偏离平方的均值,称为标准差或均方差,方差描述波动程度。 给出M个数,从中找出N个数,使这N个数方差最小。Input第1行:2个数M,N,(M > N, M <= 10000) 第2 - M + 1行:M个数的具体值(0 ...原创 2018-04-13 21:32:31 · 494 阅读 · 0 评论 -
山东省第八届ACM大学生程序设计竞赛 --- company (贪心+前缀和)
Problem DescriptionThere are n kinds of goods in the company, with each of them has a inventory of and direct unit benefit . Now you find due to price changes, for any goods sold on day i, if its d...原创 2018-04-21 20:37:47 · 686 阅读 · 0 评论 -
Codeforces Round #481 (Div. 3) ---- C. Letters (前缀和)
题意: 给你n个宿舍,其中每个宿舍都有ai个房间(1<=i<=n) ,房间从第一个宿舍起,编号从1到a1+a2+……+an. 然后给你m封信,bj(1<=j<=m) 表示给编号bj的房间的信。现在让你输出每封信属于哪个宿舍,以及所在那个宿舍的房间编号。思路: 使每封信都有一个前缀编号,这个前缀编号是它前面的一个房间的编号,这样就方便O(1)就可以求每封信了。 复...原创 2018-05-13 21:12:02 · 287 阅读 · 0 评论 -
Codeforces Round #481 (Div. 3) ---- E. Bus Video System(思维)
题意: 有n个站点,汽车的容量是w 现在给你每个站点,上车前和上车后人数的变化ai(1<=i<=n) 让你求一开始车上有人的情况有多少种。如果没满足题意,输出0思路: 利用前缀和,求前缀和最大mx,前缀和最小mn, 前缀和最大就是说,只有<=w-mx的人数才可以 ,即上限 前缀和最小就是说,当变化ai为负时,说明人数已经要>=mn 即下限AC代码:...原创 2018-05-13 21:23:49 · 517 阅读 · 0 评论 -
[UVA](10200)Prime Time ---- 前缀和+素数
Euler is a well-known matematician, and, among many other things, he discovered that the formula n 2 + n + 41 produces a prime for 0 ≤ n < 40. For n = 40, the formula produces 1681, which is 41 ∗...原创 2018-06-07 19:51:59 · 226 阅读 · 0 评论 -
Codeforces Round #464 (Div. 2) C. Convenient For Everybody ----- 思维+前缀和
题目传送门题意: 注意题目中没有0:00时 以及 s,f 的区间指左闭右开区间[s,f] 即可做法:就是找一段长度为 f-s-1的连续区间,使得这段区间的和最大,由于具有时间特性,所以要注意时间成环状的问题,所以我们在处理的时候,加倍处理即可。 比如: 1 2 3 4 1 -----> 1 2 3 4 1 1 2 3 4 1 自己脑子zz,居然写成了二分,这样容易错失最小...原创 2018-09-23 15:38:01 · 219 阅读 · 0 评论 -
【ACM-ICPC 2018 青岛赛区网络预赛】H. Traveling on the Axis ---- 前缀和+规律
题目传送门做法:我们很容易推出,对于每一个位置到终点,先判断起始位置是1or0,是1初始化为1,是0初始化为0从当前位置往后相邻两项如果不一样,那么+1,如果一样+2举个例子:1 0 11位置: 1 1+1 1+1+12位置: 2 2+13位置: 1ans = 1+2+3+2+3+1 = 12然后多写几组数据,我们发现后一项是前一...原创 2018-10-19 21:22:13 · 216 阅读 · 0 评论