https://codeforces.com/contest/1151/problem/E

题意

一条长n的链,每个点上有值\(a[i]\),定义\(f(l,r)\)为该区间的\(值\)所代表的点留下来后的联通块数量,求\(\sum^n_{l=1} \sum^n_{r=1} f(l,r)\)

题解

  • 计算贡献,计算每个点留下后作为联通块的第一个点的情况数就是这个点的贡献

代码

#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n,a[100005],ans,r;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
scanf("%lld",&a[i]);
if(a[i]>a[i-1]){
r=n;
ans+=(r-a[i]+1)*(a[i]-a[i-1]);
}else if(a[i]<a[i-1]){
r=a[i-1]-1;
ans+=(a[i])*(a[i-1]-a[i]);
}
//cout<<ans<<endl;
}
cout<<ans;
}

最新文章

  1. 在nginx中配置如何防止直接用ip访问服务器web server及server_name特性讲解
  2. CMake安装(linux)
  3. Android自定义相机拍照、图片裁剪的实现
  4. html5 大幅度地增加和改良input元素的种类
  5. 关于windows程序的学习及思考系列之一
  6. log4j详细配置说明
  7. 转:Android模拟器连接电脑网络
  8. jQuery UI 之 Bootstrap 快速入门
  9. centos下pg_dump的服务器版本不匹配问题
  10. DSO分类及应用
  11. Wpf中鼠标样式的修改,作用点修改
  12. java 解析xml文档---通过XmlPullParser解析方式
  13. MongoDB固定集合(Capped Collections)
  14. (转)关于docker的15个小tip
  15. Angular20 nginx安装,angular项目部署
  16. java使用POI将数据导出放入Excel
  17. 26.Odoo产品分析 (三) – 人力资源板块(6) – 工资表(2)
  18. vi怎么统计查找字符串的个数
  19. PPT文件流转为图片,并压缩成ZIP文件输出到指定目录
  20. cocos2d JS 自定义事件分发器(接收与传递数据) eventManager

热门文章

  1. bzoj5219 [Lydsy2017省队十连测] 最长路径
  2. npm 被墙怎么办
  3. java高并发系列 - 第10天:线程安全和synchronized关键字
  4. Shell(2)—数组
  5. go-gui-控件和信号
  6. Python中最常用的字符串方法!
  7. SpringBoot 教程之属性加载详解
  8. hibernateHQL
  9. 如何搭建属于自己的Web服务器
  10. 记一次asp.net core 在iis上运行抛出502.5错误