#include<bits/stdc++.h>using namespace std;long long mx(long long l1,long long r1,long long l2,long long r2){ return max(0LL,min(r1,r2)-max(l1,l2)+1);}int main(){ long long l1,r1,t1,l2,r2,t2; while(~scanf("%lld%lld%lld%lld%lld%lld",&l1…
传送门 题意: 给出你序列 a,在序列 a 上执行两种操作: ① 0 :查询有多少连续的片段[L,...,R],满足 a[L,...,R] > l: ② 1 p d :将第 p 个数增加 d: 思路: int n,m,l; ll a[maxn]; int fa[maxn];///a[L,...,x] > l 的最小的L: /** _bit[0][x]:a[x] > l,_bit[0][x]=1,反之为0: _bit[1][x]:a[L,...,R] > l,_bit[L]=1,_b…
A. Metro Solved. 题意: 有两条铁轨,都是单向的,一条是从左往右,一条是从右往左,Bob要从第一条轨道的第一个位置出发,Alice的位置处于第s个位置,有火车会行驶在铁轨上,一共有n个站点,1表示火车会在该站点停下,0表示不会,求Bob能否到达地s个位置(到达任意一边即可) 思路: 如果第一条铁轨的第一个位置为0,或者第s个位置的两条铁轨都不停,那么答案显然是$"No"$ 再考虑第一条铁轨上所有为1的位置都可以到达 再考虑两条轨道是否有同一个站点都都会停下的,那么就可以…
[题目] C. Candies Distribution [描述] n个小朋友排排坐吃糖糖,小朋友从左到右编号1到n.每个小朋友手上有一定数量的糖.对于第i个小朋友来说,编号比他小的小朋友中有li个小朋友拥有的糖比他多,编号比他大的小朋友中有ri个小朋友拥有的糖比他多.已知每个小朋友手上至少有1颗糖.最多有n颗糖,求一种可能的每个小朋友手上的糖的数量的情形,输出YES和一种情形:如果不存在这样的可能,则输出NO. 数据范围:1<=n<=1000,0<=li,ri<=n [思路] 对…