题目链接:https://cn.vjudge.net/problem/CodeForces-722C

题意

给个数组,每次删除一个元素,删除的元素作为一个隔断,问每次删除后该元素左右两边最大连续和

思路

这个题的思路马上就想到的时候,别人直接抢答,还是比较厉害的人了

离线操作,删除变成添加,添加时注意左右两边元素的最大值即可

提交过程

WA 忘了为什么WA了
AC

代码

#include <cstdio>
#include <algorithm>
using namespace std;
const int maxn=1e5+20, INF=0x3f3f3f3f;
long long n, nums[maxn], oper[maxn], out[maxn];
bool vis[maxn], flg;
struct Node{
int pre; long long sum;
Node(int pre=0, long long sum=0):
pre(pre), sum(sum) {}
}nodes[maxn]; int find(int x){
if (x==nodes[x].pre) return x;
nodes[nodes[x].pre].sum+=nodes[x].sum;
nodes[x].sum=0;
return nodes[x].pre=find(nodes[x].pre);
} void join(int a, int b){
a=find(a); b=find(b);
if (a==b) return;
nodes[a].pre=b;
} int main(void){
scanf("%d", &n);
for (int i=1; i<=n; i++) nodes[i]=Node(i, 0);
for (int i=1; i<=n; i++) scanf("%lld", &nums[i]);
for (int i=1; i<=n; i++) scanf("%lld", &oper[i]);
for (int i=n; i>=1; i--){
int idx=oper[i];
nodes[idx]=Node(idx, nums[idx]);
vis[idx]=true; out[i-1]=max(nums[idx], out[i]);
if (idx-1>=1 && vis[idx-1]){
join(idx-1, idx); // find(idx-1);
out[i-1]=max(out[i-1], nodes[find(idx-1)].sum);
}if (idx+1<=n && vis[idx+1]){
join(idx, idx+1); find(idx);
out[i-1]=max(out[i-1], nodes[find(idx+1)].sum);
}
}
for (int i=1; i<=n; i++) printf("%lld\n", out[i]); return 0;
}
Time Memory Length Lang Submitted

最新文章

  1. 系统吞吐量、TPS(QPS)、用户并发量、性能测试概念和公式
  2. IoC模式
  3. 【初识——最大流】 hdu 1532 Drainage Ditches(最大流) USACO 93
  4. [ Web Service ] [ SOAP ] [ JSON ] [ XML ] 格式轉換
  5. Codeforces 466 E. Information Graph
  6. jQuery实现table隔行换色和鼠标经过变色
  7. IIS:错误: 无法提交配置更改,因为文件已在磁盘上更改
  8. (一)—Linux安装与硬盘分区
  9. scrum学习笔记
  10. OpenStack-Neutron-VPNaaS-测试和使用
  11. 【windows核心编程】双机调试操作
  12. 微信小程序制作家庭记账本之三
  13. live2d添加网页看板娘
  14. struct在C和C++中的使用总结
  15. 使用devenv/MSBuild在命令行编译sln或csproj
  16. js实现放大缩小页面
  17. MySQL数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化?
  18. 【BZOJ5248】【九省联考2018】一双木棋(搜索,哈希)
  19. 线上服务内存OOM问题定位
  20. *p++、*++p、(*p)++区别

热门文章

  1. HDU1166 敌兵布阵 线段树详解
  2. CentOS 7最小安装配置网络
  3. [Codeforces 626F]Group Projects
  4. BZOJ 3126 [USACO2013 Open]Photo (单调队列优化DP)
  5. php 与 nginx 的两种处理方式
  6. h5性能优化,细节决定结果。
  7. js获得 json对象的个数(长度)
  8. Mybatis解决了JDBC编程哪些问题
  9. (转)Epoll模型详解
  10. SharePoint 2010 安装教程