题目链接:https://cn.vjudge.net/contest/281960#problem/F

题目大意:中文题目

具体思路:权值线段树,我们每次寻找的是满足 (i<j)   L<=s[i]-s[j]<=R.转换一下,就是 s[j]-R<=s[i]<=s[j]-L。这样的话,我们每一次寻找满足情况的合数就可以了。

ps:第一次做权值线段树,感觉这东西和线段树差不多,只不过每一个区间表示成了具体的值有多少个。

AC代码:

 #include<bits/stdc++.h>
using namespace std;
# define ll long long
# define inf 10000000000ll
# define lson l,m,rt<<
# define rson m+,r,rt<<|
const int maxn = 8e6+;
int son[maxn][];
ll siz[maxn];
int tot,rt;
void update(int &x,ll l,ll r,ll val)
{
if(!x)// 如果这一段区间之前没有过,编号
x=++tot;
siz[x]++;
if(l==r)
return ;
ll m=(l+r)>>;
if(val<=m)
update(son[x][],l,m,val);
else if(val>m)
update(son[x][],m+,r,val);
}
ll query(int x,ll l,ll r,ll L,ll R)
{
if(!x)
return ;
if(l==L&&R==r)//查询的时候注意,如果查询到底的话,会超时
{
return siz[x];
}
ll m=(l+r)>>;
if(R<=m)
return query(son[x][],l,m,L,R);
else if(L>m)
return query(son[x][],m+,r,L,R);
else
return query(son[x][],l,m,L,m)+query(son[x][],m+,r,m+,R);
}
int main()
{
int n,l,r;
scanf("%d %d %d",&n,&l,&r);
ll tmp=,sum=,ans=;
for(int i=; i<=n; i++)
{
update(rt,-inf,inf,sum);
scanf("%lld",&tmp);
sum+=tmp;
ans+=query(rt,-inf,inf,max(-inf,sum-r),min(sum-l,inf));
// cout<<tmp<<endl;
}
printf("%lld\n",ans);
return ;
}

F - 回转寿司 (权值线段树)的更多相关文章

  1. bzoj 4627: [BeiJing2016]回转寿司 -- 权值线段树

    4627: [BeiJing2016]回转寿司 Time Limit: 10 Sec  Memory Limit: 256 MB Description 酷爱日料的小Z经常光顾学校东门外的回转寿司店. ...

  2. 【树状数组套权值线段树】bzoj1901 Zju2112 Dynamic Rankings

    谁再管这玩意叫树状数组套主席树我跟谁急 明明就是树状数组的每个结点维护一棵动态开结点的权值线段树而已 好吧,其实只有一个指针,指向该结点的权值线段树的当前结点 每次查询之前,要让指针指向根结点 不同结 ...

  3. 【BZOJ-2892&1171】强袭作战&大sz的游戏 权值线段树+单调队列+标记永久化+DP

    2892: 强袭作战 Time Limit: 50 Sec  Memory Limit: 512 MBSubmit: 45  Solved: 30[Submit][Status][Discuss] D ...

  4. 动态求区间K大值(权值线段树)

    我们知道我们可以通过主席树来维护静态区间第K大值.我们又知道主席树满足可加性,所以我们可以用树状数组来维护主席树,树状数组的每一个节点都可以开一颗主席树,然后一起做. 我们注意到树状数组的每一棵树都和 ...

  5. BZOJ_1503_[NOI2004]郁闷的出纳员_权值线段树

    BZOJ_1503_[NOI2004]郁闷的出纳员_权值线段树 Description OIER公司是一家大型专业化软件公司,有着数以万计的员工.作为一名出纳员,我的任务之一便是统计每位员工的 工资. ...

  6. BZOJ4627 前缀和 + 权值线段树

    https://www.lydsy.com/JudgeOnline/problem.php?id=4627 题意:求序列中和在L到R之间的字串种数. 要求的是和的范围,我们可以考虑先求一个前缀和pre ...

  7. 2019.01.21 bzoj2441: [中山市选2011]小W的问题(树状数组+权值线段树)

    传送门 数据结构优化计数菜题. 题意简述:给nnn个点问有多少个www型. www型的定义: 由5个不同的点组成,满足x1<x2<x3<x4<x5,x3>x1>x2 ...

  8. 洛谷P3586 [POI2015]LOG(贪心 权值线段树)

    题意 题目链接 Sol 显然整个序列的形态对询问没什么影响 设权值\(>=s\)的有\(k\)个. 我们可以让这些数每次都被选择 那么剩下的数,假设值为\(a_i\)次,则可以\(a_i\)次被 ...

  9. bzoj 1503: [NOI2004]郁闷的出纳员 -- 权值线段树

    1503: [NOI2004]郁闷的出纳员 Time Limit: 5 Sec  Memory Limit: 64 MB Description OIER公司是一家大型专业化软件公司,有着数以万计的员 ...

随机推荐

  1. Django-website 程序案例系列-6 ajax案例

    普通ajax案例: views.py def testajax(request): h = request.POST.get('hostname') #拿到ajax传来的值 i = request.P ...

  2. Maven整理

    第一章 Maven安装 1.1 下载Maven库 下载地址:http://maven.apache.org/download.cgi 1.2 解压下载的库,认识Maven库目录 备注: 解压文件尽量不 ...

  3. 【 Gym - 101138F 】GukiZ Height (数学)

    BUPT2017 wintertraining(15) #4 C Gym - 101138F 题意 初始高度0,目标值h,第i天目标值会下降i,当前高度会改变a[i%n],求高度不小于目标值的最早的时 ...

  4. AI将带我们走向何方?

    AI即人工智能,对科幻着迷的博主对此认知颇深,打算从科幻电影入手,先讲下未来的AI将给人类带来哪些变化,哪些思考. 从最初的<星际航行>中的各种星球.地形等的介绍,到各个鉴于的探索,以及其 ...

  5. 03 Zabbix4.0添加cisco交换机基本监控步骤

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 03 Zabbix4.0添加cisco交换机基本监控步骤 主题监控一台cisco网络设备的6项内容 ...

  6. 使用sharepoint里Open with explorer功能

    使用这个功能时,遇到几个问题: 1. 当点击library时,ie报错:A problem with this webpage caused Internet Explorer to close an ...

  7. 洛谷 P2057 [SHOI2007]善意的投票 解题报告

    P2057 [SHOI2007]善意的投票 题目描述 幼儿园里有n个小朋友打算通过投票来决定睡不睡午觉.对他们来说,这个问题并不是很重要,于是他们决定发扬谦让精神.虽然每个人都有自己的主见,但是为了照 ...

  8. luogu2827 [NOIp2016]蚯蚓 (模拟)

    可以直观地想到用优先队列来做,但数据范围是O(n)的 然后我们发现,因为我们每次挑出来的蚯蚓是单调的,所以把每个切成两段后,那两段也是对应单调的 也就是说,算上最一开始的蚯蚓,我们一共维护三个队列,三 ...

  9. JDK源码分析(6)ConcurrentHashMap

    JDK版本 ConcurrentHashMap源码分析 table:默认为null,初始化发生在第一次插入操作,默认大小为16的数组,用来存储Node节点数据,扩容时大小总是2的幂次方. nextTa ...

  10. 2019.3.18考试&2019.3.19考试&2019.3.21考试

    2019.3.18 C O D E T1 树上直接贪心,环上for一遍贪心 哇说的简单,码了将近一下午终于码出来了 感觉自己码力/写题策略太糟糕了,先是搞了一个细节太多的写法最后不得不弃疗了,然后第二 ...