ZR#985
2024-08-22 03:55:19
ZR#985
解法:
可以先假设每个区间中所有颜色都出现,然后减掉多算的答案。对每种颜色记录它出现的位置,则相邻两个位置间的所有区间都要减去,时间复杂度 $ O(n) $ 。
其实可以理解为加法原理的逆过程,即减法原理。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
#define LL long long
#define N 100010
LL las[N],n,ans,x;
inline LL calc(LL n) {
return n * (n + 1) / 2;
}
int main() {
scanf("%lld",&n);
ans = calc(n) * n;
for(int i = 1 ; i <= n ; i++) {
scanf("%lld",&x);
ans -= calc(i - las[x] - 1);
las[x] = i;
}
for(int i = 1 ; i <= n ; i++)
ans -= calc(n - las[i]);
printf("%lld\n",ans);
return 0;
}
最新文章
- spring MVC 尝试传参json(应用部分)
- vs2015安装体验
- [html]head区域编写规范
- linux下oracle启动问题
- 那些可能被你忽略的MySQL优化技巧
- wenti
- iOS上架(转)
- 【译】 AWK教程指南 7AWK应用实例
- c#修改本地连接工具 ip地址,dns,网关,子网掩码
- 不直接访问远程的数据库,而是通过中间件(专业DBA的博客)
- NET 平台下的插件化开发内核
- 【转】【Egit】如何将eclipse中的项目上传至Git
- (转载)解析ISO8583报文实例
- Collection学习目录
- MySQL和SQLyog的配置-安装及遇到的问题
- 第三十三节,目标检测之选择性搜索-Selective Search
- 休眠与开机自动运行等VC代码
- day23 序列化模块
- 修改Unity中Lua文件的默认打开程序
- vue 加载更多
热门文章
- Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient报错,问题排查
- PHP导出XML格式的EXCEL
- Java中BIO和NIO
- chrome滚动条颜色尺寸设置
- viewer与 iview Carousel(走马灯) 结合使用,图片无法显示
- 学习python的日常2
- WampServer详解
- VLAN实验2:配置Trunk接口
- SpringCloud学习心得之Eureka注册中心的基本使用
- tensorflow与神经网络中遇到的问题与解决方法【持续更新】