VK Cup 2018 - Round 2 C - Riverside Curio 贪心
2018-03-28 14:26
459 查看
我们需要知道每天标记数目的最小值,必须要满足后一天比前一天多1 或者等于前一天的数目;
从后往前扫一遍,以保证相邻前后两天的关系;再从前往后扫一遍就能得到答案;
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
typedef long long ll;
const int maxn = 1e5 + 7;
int a[maxn], t[maxn];
int n;
ll ans = 0;
int main() {
scanf("%d", &n);
for(int i = 0; i < n; ++i) {
scanf("%d", &a[i]);
}
int cur = 0;
for(int i = n-1; i >= 0; --i) {
cur--;
cur = max(cur, a[i]+1);
t[i] = cur;
}
cur = 0;
for(int i = 0; i < n; ++i) {
//cout << cur << " * " << t[i] << endl;
cur = max(cur, t[i]);
ans += (cur - a[i] - 1);
}
printf("%lld\n", ans);
return 0;
}
从后往前扫一遍,以保证相邻前后两天的关系;再从前往后扫一遍就能得到答案;
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
typedef long long ll;
const int maxn = 1e5 + 7;
int a[maxn], t[maxn];
int n;
ll ans = 0;
int main() {
scanf("%d", &n);
for(int i = 0; i < n; ++i) {
scanf("%d", &a[i]);
}
int cur = 0;
for(int i = n-1; i >= 0; --i) {
cur--;
cur = max(cur, a[i]+1);
t[i] = cur;
}
cur = 0;
for(int i = 0; i < n; ++i) {
//cout << cur << " * " << t[i] << endl;
cur = max(cur, t[i]);
ans += (cur - a[i] - 1);
}
printf("%lld\n", ans);
return 0;
}
相关文章推荐
- VK Cup 2018 - Round 2 C. Riverside Curio
- 【VK Cup 2016 - Round 1 (Div 2 Edition)D】【二进制思想 扫描贪心】Bear and Polynomials 2的幂次多项式改变一位使得和为0
- VK Cup 2018 Round 1: D. Picking Strings
- VK Cup 2018 Round 2: B. Three-level Laser 二分+贪心
- VK Cup 2018 Round 1: C. Perfect Security(01字典树)
- VK Cup 2018 Round 2: A. Mystical Mosaic(思维)
- VK Cup 2018 Round 1: B. Producing Snow
- VK Cup 2018 Round 2: B. Three-level Laser(二分)
- codeforce Mystical Mosaic(VK Cup 2018 - Round 2)
- VK Cup 2018 - Round 1 A. Primal Sport
- Codeforces Round #470 (VK Cup 2018 Round 1)
- VK Cup 2018 Round 2: C. Riverside Curio(思维)
- VK Cup 2018 Round 2 div2 C, D 题解 【思维题】
- VK Cup 2018 Round 1: A. Primal Sport
- VK Cup 2018 Round 1 and CF Round #470 div2 C
- VK Cup 2012 Round 1161B Discounts(贪心)
- VK Cup 2018 Round 2: D. Contact ATC(思维+树状数组)
- VK Cup 2012 Round 1161B Discounts(贪心)
- 【树形dp统计距离为k的点对】VK Cup 2012 Round 1 D. Distance in Tree
- Educational Codeforces Round 7 E. Ants in Leaves 贪心