CF 1400E(分治)
题意:
有n个栅栏,第i个栅栏的高度为ai。
现在有两个操作
1.把[l,r]区间内的栅栏高度全都减1。
2.把第i个栅栏减去任意一个值。
现在问你最少要做几次操作才能让所有栅栏的高度全为0。
思路:
我们可以发现如果要做操作1的话,肯定是从最低的栏杆开始减,所以可以想到分治,按照由低到高分治解决问题。
#include <bits/stdc++.h>
#define ll long long
using namespace std;
const ll maxn=6000;
ll n,a[max
原创
2020-08-26 19:11:14 ·
194 阅读 ·
1 评论