【zzulioj 1917 二分+vector】
v; v.push_back(1); v.push_back(N+2); ans=0; for(i=0;i
发布日期:2021-11-04 12:58:44
浏览次数:6
分类:技术文章
本文共 749 字,大约阅读时间需要 2 分钟。
Description
晴天有非常严重的选择恐惧症,每次吃饭前他都在纠结到底吃什么。。今天又到了吃饭的时候了。
重光:我给你一个包含n个不同整数的序列a,如果它所有连续子序列的价值和是素数咱们就吃米,不然就吃面。
定义一个序列的价值为序列中所有元素的最小值。
晴天:这不是分分钟给你算出来。
嗯…十分钟过去了,晴天选择死亡。
这个任务就交给你啦。
算出所有连续子序列的价值和。
Input
第一行输入一个整数t,代表有t组测试数据。
每组数据第一行包含一个整数n,表示序列a的元素个数。 接下来一行包含n个整数,表示序列a。 0<=n<=50000,1<=ai<=50000。Output
对于每组数据输出一个整数,表示序列a的所有连续子序列的价值和。
Sample Input
1
3 1 2 3 Sample Output10
分别求出ai左边最近且小于ai的位置L,和右边最近且小于ai的位置R,然后起点位于L+1到i,终点位于i到R-1的区间价值都为ai。
该数的贡献=该数的值×该数用的次数:
用的次数=两个区间长度的乘积
再一次用到了二分~~二分的用处好广呀~~
#include#include #include using namespace std;const int KL=60011;struct node{ int x,y;}st[KL];bool cmp(node a,node b){ return a.x
转载地址:https://blog.csdn.net/WYK1823376647/article/details/52244341 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2024年04月20日 05时52分46秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
014_bash中的for循环
2019-04-27
015_Arduino上实现一个简单的番茄时钟
2019-04-27
021_Excel的条件格式
2019-04-27
022_Excel空白值批量填充默认值
2019-04-27
023_emacs git-gutter+报错解决
2019-04-27
024_spacemacs支持org-pomodoro的声音提示
2019-04-27
025_everything搜索使用体验
2019-04-27
026_好用的windows小工具clover
2019-04-27
027-Mac触摸板实现窗口移动
2019-04-27
028_AUTOSAR RTE学习笔记-1
2019-04-27
029_AUTOSAR VFB学习笔记-2
2019-04-27
030_AUTOSAR软件组件学习笔记
2019-04-27
031_AUTOSAR学习笔记_BSW
2019-04-27
032_AUTOSAR学习笔记_接口
2019-04-27
033_PowerShell学习初探
2019-04-27
034_PowerShell中的HOME环境变量
2019-04-27
035_PowerShell中的dir与CMD中的dir差异
2019-04-27
036_AUTOSAR学习笔记_MCAL基础架构
2019-04-27
038_AUTOSAR学习笔记_McuGeneralConfiguration
2019-04-27
037_AUTOSAR学习笔记_MCU驱动
2019-04-27