广州市网站建设甘肃网站建设

连云港市千栀味食品贸易有限公司 2026/09/09 18:39:12

题面

Starry Landscape Photo

问题描述

AtCoder行星上看到的夜空中,有N NN颗星星,这些星星从东到西排成一条直线。从东方数起的第i ii颗星(1 ≤ i ≤ N 1 le i le N1iN)是这些星星中第B i B _ iBi亮的。

Takahashi决定按照以下步骤拍摄夜空的照片:

1.选择一对整数(l , r l , rl,r),满足1 ≤ l ≤ r ≤ N 1 le l le r le N1lrN,并设置相机,使得从东数起的第l ll、第l + 1 l + 1l+1… dots、第r rr颗星都能进入画面,而其他星星不会进入画面。

2.选择一个整数b bb,满足1 ≤ b ≤ N 1 le b le N1bN,打开快门,使得所有亮度排名在第1 11到第b bb位之间(且位于画面中的)星星被捕捉,而其他星星不会被捕捉。

但是,他不能拍摄不包含任何星星的照片。

求出在这种方式下拍摄的照片中,可以捕捉到的不同星星集合的数量。

约束条件

1 ≤ N ≤ 5 × 1 0 5 1 le N le 5 imes 10 ^ 51N5×105

1 ≤ B i ≤ N 1 le B _ i le N1BiN1 ≤ i ≤ N 1 le i le N1iN

B i ≠ B j B _ i eq B _ jBi=Bj1 ≤ i < j ≤ N 1 le i < j le N1i<jN

所有输入值都是整数。

输入

输入通过标准输入给出,格式如下:

N NN
B 1 B 2 … B N B _ 1 B _ 2 dots B _ NB1B2BN

输出

输出答案。

思路

tag ext{tag}tag数学树状数组

根据题意,易知一张照片由左端点、右端点与感光度(照片中最暗亮度值)决定。令pos i ext{pos} _ iposi为亮度为i ii的星星的位置,则满足i ∈ [ 1 , N ] i in [1 , N]i[1,N]的三元数对( l , r , pos i ) (l , r , ext{pos} _ i)(l,r,posi),其l llr rr取值分别有L i L _ iLiR i R _ iRi种,其中L i L _ iLi为同时满足j ≤ pos i j le ext{pos} _ ijposiB j ≤ i B _ j le iBjij jj的个数,R i R _ iRi为同时满足j ≥ pos i j ge ext{pos} _ ijposiB j ≤ i B _ j le iBjij jj的个数。根据乘法原理,照片种数为左端点个数与右端点个数的乘积,又因满足B j < i B _ j < iBj<ij jj的个数为i + 1 i + 1i+1个,故ans = ∑ i = 1 N L i R i = ∑ i = 1 N L i ( i + 1 − L i ) ext{ans} = sum _ {i = 1} ^ {N} L _ i R _ i = sum _ {i = 1} ^ {N} L _ i (i + 1 - L _ i)ans=i=1NLiRi=i=1NLi(i+1Li)

由于1 ≤ N ≤ 5 × 1 0 5 1 le N le 5 imes 10 ^ 51N5×105,所以需在O ( log ⁡ 2 N ) O(log _ 2 N)O(log2N)时间内求出每个i iiL i L _ iLi。考虑用树状数组。令i ii为升序,则每次计算时,在pos i ext{pos} _ iposi处增加一个星星,并计算位置小于等于pos i ext{pos} _ iposi的个数,即L i L _ iLi

预处理pos ext{pos}pos需要O ( N ) O(N)O(N),树状数组O ( N log ⁡ 2 N ) O(N log _ 2 N)O(Nlog2N),总时间复杂度O ( N log ⁡ 2 N ) O(N log _ 2 N)O(Nlog2N)

代码

#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;constintmaxn=5e5;intb[maxn+5];intpos[maxn+5];intk[maxn*2+5];intn;intans=0;intlowbit(intx){returnx&(-x);}voidadd(intx){for(;x<=maxn*2;x+=lowbit(x)){k[x]++;}}intquery(intx){intres=0;for(;x;x-=lowbit(x)){res+=k[x];}returnres;}voidsolve(){cin>>n;for(inti=1;i<=n;i++){cin>>b[i];pos[b[i]]=i;}for(inti=1;i<=n;i++){add(pos[i]);inttmp=query(pos[i]);ans+=tmp*(i-tmp+1);}cout<<ans<<"
";}signedmain(){intt=1;while(t--){solve();}return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

泰州网站建设商洛网站建设

1Panel面板Docker服务异常快速修复完整指南【免费下载链接】1Panel新一代的 Linux 服务器运维管理面板项目地址: https://gitcode.com/feizhiyun/1Pan

2026/06/30 11:13:54

大连网站建设郴州网站建设

Tunnelto:3分钟让本地服务拥有全球访问能力【免费下载链接】tunneltoExpose your local web server to the internet with a

2026/06/30 12:35:02

网站建设方案书岳阳网站建设

OpenPLC虚拟控制器:5步掌握工业自动化编程新利器【免费下载链接】OpenPLCSoftware for the OpenPLC - an open source industria

2026/06/30 12:36:02

网站建设论文网站建设与维护

Dify与私有化部署GPU结合,打造安全可控的大模型服务在金融、医疗和政务等对数据安全高度敏感的行业里,一个共同的挑战浮出水面:如何在享受大语言模型ÿ

2026/06/30 12:19:30

东莞网站建设黑龙江网站建设

在Unity游戏开发和安全分析领域,Il2CppDumper已成为不可或缺的核心工具。这款开源神器能够有效处理il2cpp编译后的游戏文件,为逆向工程师和游戏开发者提供强大

2026/06/30 12:23:30

建设银行网站中山网站建设

GLM-4.6V-Flash-WEB能否识别商品描述与图片不符的情况?在电商平台日益繁荣的今天,消费者每天面对成千上万条“图+文”形式的商品信息。一张精致诱人的牛排

2026/06/30 13:37:06

成都网站建设西安专业网站建设

领英国际视野:向海外同行介绍中国ASR创新成果在远程协作日益频繁的今天,会议录音自动转写、实时字幕生成和语音助手已成为跨国团队的标准配置。然而,面对中文这一声

2026/06/30 11:47:27

陕西网站建设涪陵网站建设

小红书内容高效下载指南:XHS-Downloader完全使用教程【免费下载链接】XHS-Downloader免费;轻量;开源,基于 AIOHTT

2026/06/30 11:23:25

厦门网站建设网站建设规划

量子世界的对称与计算革命1. 量子世界的对称探索1.1 CP 对称的思考在量子物理的研究中,CP 对称是一个重要的概念。通过费曼的钴 - 60 反物质时钟实验,我们能看到其在镜像宇宙中的表现。在正常宇

2026/06/30 14:14:39

东莞手机网站建设南宁网站建设公司

深入了解 fwsnort 的实际应用在网络安全领域,fwsnort 是一款强大的工具,它能够将 Snort 规则转换为 iptables 规则,从而实现对网络攻击的检测和响应。本文将通过具体的攻击示例

2026/06/30 12:56:03