gukiz专题

codeforces 551E GukiZ and GukiZiana 分块

题意: 给你一个数列,有两种操作,第一种操作将l~r区间加上val,第二种操作是询问整个序列,是否存在val,若存在,则找出相差最远的两个val下标的差值。 没有则输出-1。 思路: 分块。 人生的第一道分块题,其实分块的概念顶容易理解的。 就是把序列分为多个长度为sqrt(n)的块。每次更新的区间更新的时候,如果是完整覆盖某个块,则直接对记录数组进行更新。对于两端的不完全覆盖的

Codeforces Round #307 (Div. 2)C. GukiZ hates Boxes(二分+贪心)

题目链接:https://codeforces.com/contest/551/problem/C   题目大意:有n堆箱子,每堆箱子有a[i]个箱子,一共n个人,每个人每秒可以选择向右走一步或者拿一个箱子,问最少花多少时间拿掉所有箱子。   题目思路:二分时间,假设每个人都拥有x的时间,那么就一个个的去,每个人都尽全力去拿箱子,当sum+i>=x的时候就说明超出了一个人的能力范围,那就需

Codeforces Round #307 (Div. 2)-C. GukiZ hates Boxes

C. GukiZ hates Boxes 题目链接:http://codeforces.com/problemset/problem/551/C Description Professor GukiZ is concerned about making his way t