[模拟] aw3771. 选取石子(脑筋急转弯+aw周赛008_2)
Posted Ypuyu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[模拟] aw3771. 选取石子(脑筋急转弯+aw周赛008_2)相关的知识,希望对你有一定的参考价值。
1. 题目来源
链接:3771. 选取石子
2. 题目解析
模拟题。
简单对公式做变换 x-ax=y-ay=z-az=...
所以当值减去下标后为相同的数会被分成同组,哈希表记录即可。
时间复杂度: O ( n ) O(n) O(n)
空间复杂度: O ( n ) O(n) O(n)
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
int n;
unordered_map<int, LL> h;
int main() {
cin >> n;
for (int i = 1; i <= n; i ++ ) {
int x;
cin >> x;
h[x - i] += x;
}
LL res = 0;
for (auto &[k, v] : h) res = max(res, v);
cout << res << endl;
return 0;
}
以上是关于[模拟] aw3771. 选取石子(脑筋急转弯+aw周赛008_2)的主要内容,如果未能解决你的问题,请参考以下文章
[思维] aw3577. 选择数字(思维+脑筋急转弯+aw周赛009_1)