关注
楼上大佬单调栈解法太强了
能不能帮忙看看我的代码是否可行,应该是O(nlogn)的复杂度。
dp[i]表示 以i为结尾的子序列的最大值的和
const int maxn = 1e5+7;
typedef long long ll;
int pos[maxn];
int val[maxn*10];
ll dp[maxn*10];
int max_pos(int s, int e)
{
if(s > e) return -1;
if(s == e) return pos[s];
int mid = s + (e-s)/2;
int l = max_pos(s,mid);
int r = max_pos(mid+1,e);
return l > r ? l : r;
}
int main()
{
int n;
while(~scanf("%d",&n)) {
int mx = -1;
for(int i = 0;i < n;i ++) {
scanf("%d",val+i);
mx = max(mx,val[i]);
}
double sum = 0;
memset(pos,-1,sizeof(pos));
for(int i = 0;i < n;i ++) {
int p = max_pos(val[i]+1,mx);
pos[val[i]] = i;
if(p == -1) dp[i] = val[i] * 1LL * (i-p);
else dp[i] = dp[p] + val[i] * 1LL * (i-p);
sum += dp[i];
}
sum = 2*sum / ((n+1) * n);
printf("%.6lf\n",sum);
}
return 0;
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
Kensley:交大的学弟,整体挺好的
稍微有点乱可以考虑做减法了
并发和java可以合一起,知识上补充一下Redis集群技术的死角,主从,Sentinel,Cluster。
大计基改成课程就行:《计算机网络》《操作系统原理》《数据结构》《算法》。
最重要的,项目还要再挖掘,要用【问题/场景】驱动开发,效果放在最后一句就行,“基于XXX/集成XXX实现XXX功能,【解决XXX问题】,效果XXX”,比如基于Redis实现商品信息的读缓存,解决了浏览高峰时因高频访问MySQL偶发卡顿的问题,体感性能上升30%
排版相关的:1. 大段文本要做提炼,比如“XXX等有基本的了解”改为“了解XXX”,文本相关都可以喂给GPT看看精简效果;2.黑体粗有点多,长文本和奖项的加粗去掉,奖项的时间不用列;3. 项目和实习的时间挪到后面,保持一致
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 职场高情商速成班 #
3862次浏览 66人参与
# 我的求职思考 #
4711207次浏览 62061人参与
# 被同事甩锅了怎么办 #
14604次浏览 88人参与
# 过年期间可能会经历的尴尬瞬间 #
8833次浏览 111人参与
# 实习,投递多份简历没人回复怎么办 #
2677324次浏览 36467人参与
# 大家实习每天都在干啥 #
48655次浏览 329人参与
# 牛友春招想让哪家公司来捞你? #
7846次浏览 61人参与
# 哪个瞬间让你对大厂祛魅了? #
192130次浏览 1169人参与
# 25届秋招总结 #
866499次浏览 8728人参与
# 通信/硬件公司求职体验 #
85553次浏览 689人参与
# 小红书求职进展汇总 #
37338次浏览 321人参与
# 找工作,你会甘心进小厂还是猛冲大厂 #
190490次浏览 2131人参与
# 来聊聊你目前的求职进展 #
544196次浏览 6345人参与
# 摸鱼打卡站 #
31340次浏览 648人参与
# 简历被挂麻了,求建议 #
2815460次浏览 35458人参与
# 数据人的面试交流地 #
491091次浏览 8258人参与
# 你是如何准备春招的? #
8335次浏览 74人参与
# 签约/解约注意事项 #
529698次浏览 3627人参与
# 查收我的offer竞争力报告 #
113751次浏览 769人参与
# 秋招的第一个offer,大家都拿到了吗 #
961601次浏览 7476人参与