关注
//Dalao厉害,第四题完全没想到用二分; //我考试时写的第三题O(n),想法可能简单点 #include <iostream> #include <vector> #include <algorithm> #include <utility> using namespace std; int main() { int n; cin >> n; for (int i = 0; i < n; ++i) { int people; cin >> people; vector<int> point(people, 0); vector<long long> pres(people, 1); vector<pair<int, int> > mark(people, make_pair(0, 0)); for (int j = 0; j < people; ++j) cin >> point[j]; if (people == 0) { cout << 0 << endl; continue; } if (people == 1) { cout << 1 << endl; continue; } if (people == 2) { if (point[0] == point[1]) cout << 2 << endl; else cout << 3 << endl; continue; } for (int j = 0; j < people; ++j) { int left = j - 1 < 0 ? people - 1 : j - 1; int right = (j + 1) % people; if (point[j] > point[left]) mark[j].first = 1; if (point[j] > point[right]) mark[j].second = 1; } for (int j = 0; j < people; ++j) { if (mark[j].first == 0 && mark[j].second == 0) { int left = j - 1 < 0 ? people - 1 : j - 1; while (mark[left].second == 1) { pres[left] = max(pres[left], pres[(left+1)%people] + 1); left = left - 1 < 0 ? people - 1 : left - 1; } int right= (j + 1) % people; while (mark[right].first == 1) { pres[right] = max(pres[right], pres[right-1<0?people-1:right-1] + 1); right = (right + 1) % people; } } } long long result = 0; for (int j = 0; j < people; ++j) result += pres[j]; cout << result << endl; } return 0; }
查看原帖
点赞 1
相关推荐
2025-12-19 18:16
郑州轻工业大学 算法工程师 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 26年哪些行业会变好/更差 #
13540次浏览 179人参与
# 卷__卷不过你们,只能卷__了 #
6796次浏览 159人参与
# MiniMax求职进展汇总 #
220次浏览 4人参与
# 去年的flag与今年的小目标 #
6514次浏览 155人参与
# 哪些公司在招寒假实习? #
7048次浏览 84人参与
# 有深度的简历长什么样? #
12426次浏览 262人参与
# 机械人的秋招小目标 #
25792次浏览 226人参与
# 现在前端的就业环境真的很差吗 #
488020次浏览 5882人参与
# 写论文的崩溃时刻 #
3403次浏览 100人参与
# 入职第一天 #
7612次浏览 149人参与
# 你不能接受的企业文化有哪些 #
7265次浏览 122人参与
# 央国企投递记录 #
170083次浏览 1633人参与
# 腾讯音乐求职进展汇总 #
146986次浏览 1042人参与
# 你都用AI做什么 #
4759次浏览 112人参与
# 实习教会我的事 #
48553次浏览 359人参与
# 一人分享一道面试手撕题 #
16400次浏览 671人参与
# 秋招白月光 #
645624次浏览 5009人参与
# 一人一道大厂面试题 #
112043次浏览 1253人参与
# 应届生应该先就业还是先择业 #
163331次浏览 828人参与
# 实习,不懂就问 #
148567次浏览 1337人参与
# 新凯来求职进展汇总 #
67103次浏览 174人参与