关注
//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
相关推荐
10-21 19:49
门头沟学院 自动化测试 点赞 评论 收藏
分享
查看16道真题和解析 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 那些年,我收到的‘奇葩’回复 #
23238次浏览 159人参与
# 实习需要主动找活干吗? #
55019次浏览 295人参与
# 小红书开奖了 #
32207次浏览 156人参与
# OC/开奖 #
190987次浏览 1324人参与
# 你后悔选择现在的专业吗 #
101761次浏览 697人参与
# 职场中那些令人叹为观止的八卦 #
30386次浏览 243人参与
# 百度秋招 #
50468次浏览 384人参与
# 实习教会我的事 #
41910次浏览 342人参与
# 蚂蚁求职进展汇总 #
131464次浏览 1204人参与
# 秋招你经历过哪些无语的事 #
22196次浏览 239人参与
# 2022毕业即失业取暖地 #
120232次浏览 709人参与
# 校招薪资来揭秘 #
83574次浏览 523人参与
# 听到哪句话代表面试稳了OR挂了? #
105749次浏览 457人参与
# 秋招吐槽大会 #
92034次浏览 795人参与
# 材料人,你最希望上岸的是? #
11445次浏览 56人参与
# 你今年的保底offer是哪家 #
143691次浏览 620人参与
# 牛客十周岁生日快乐 #
184693次浏览 1825人参与
# 扒一扒那些奇葩实习经历 #
131935次浏览 1125人参与
# AI时代,哪些岗位最容易被淘汰 #
11991次浏览 99人参与
# 你找工作想离家近 or 离家远? #
16809次浏览 245人参与
# 你秋招最后悔的选择 #
18318次浏览 135人参与
# 我的职场社死时刻 #
22701次浏览 171人参与
