code: #include <bits/stdc++.h> #define N 100060 #define M 1000000 #define lson x<<1 #define rson x<<1|1 #define ll long long #define setIO(s) freopen(s".in","r",stdin) using namespace std; int n,num[N*10],ans=N,X0,X1;…
传送门 题意: 操作1:找长为$len$的空区间并填满,没有输出$0$ 操作2:将$[l,r]$之间的区间置空 我真是太弱了这种线段树还写了一个半小时,中间为了查错手动模拟了$30min$线段树操作,然后发现$zz$的寻找时没有单独判断跨过中间的情况,自以为看一下$t[x].pos$就可以了... 然后交到洛谷$T$了一个点,交到$BZOJ$跑了$7s$度人家都是不到半秒,突然发现自己的寻找是$nlogn$的......然后改成$logn$又出了点小问题无奈加上了判断$l==r$.....我太弱…
先离散化一下(也可以不用 枚举横坐标,用线段树维护两边纵坐标上的节点数. 每次在线段树上二分...(感觉似乎树状数组也行? #include<cstdio> #include<iostream> #include<cstring> #include<algorithm> using namespace std; ; ; struct poi{ int x,y; }a[maxn]; struct yy{ int y,id; }y[maxn];int cnty;…
显然dp[i][j]=ps[i-1][j-1]-sigma(dp[k<i][l<j],a[i][j]=a[k][l]) 考虑对于每一种颜色都开一颗区间线段树,但是空间不够. 所以我们可以动态开节点的权值线段树即可. 因为ij写反了调了30min. 然后发现空间的问题我们可以分治啊,按照纵坐标分治,然后处理左半边对右半边的影响即可. 然后CDQ分治即可,空间是O(nm)的,时间复杂度是O(nmlogm)的. 复杂度怎么算?主定理套用即可. #include <cstdio> #inc…
http://www.lydsy.com/JudgeOnline/problem.php?id=4411 用树状数组维护扫描线 一个树状数组维护扫描线之上的y<=i点,另一个维护扫描线之下y<=i的点 将点按x排好序,开始全部插入扫描线之下的树状数组 枚举x这一条线,线上的在第一个树状数组里加上,第二个树状数组里减去 最大值是一个单峰函数 可以用二分或三分 二分的话,哪边大往哪边移 #include<cstdio> #include<iostream> #include…
1.题意: 给出N个平面上的点.保证每一个点的坐标都是正奇数. 你要在平面上画两条线,一条是x=a,一条是y=b,且a和b都是偶数. 直线将平面划成4个部分,要求包含点数最多的那个部分点数最少. 2.分析:我们首先二分答案...然后我们枚举横着在哪里切开,用两个树状数组维护上下界,        保证四个框框都在mid之内. #include <cstdio> #include <cstring> #include <cstdlib> #include <algo…
[BZOJ 2653] middle(可持久化线段树+二分答案) 题面 一个长度为n的序列a,设其排过序之后为b,其中位数定义为b[n/2],其中a,b从0开始标号,除法取下整. 给你一个长度为n的序列s. 回答Q个这样的询问:s的左端点在[a,b]之间,右端点在[c,d]之间的子序列中,最大的中位数. 其中a<b<c<d. 位置也从0开始标号. 强制在线. 分析 二分答案mid,表示询问的中位数在排过序的整个b序列中是第mid小. 考虑判断一个数是否<=序列的中位数:把大于等于这…
Flipping Parentheses 题目连接: http://codeforces.com/gym/100803/attachments Description A string consisting only of parentheses '(' and ')' is called balanced if it is one of the following. • A string "()" is balanced. • Concatenation of two balance…
Intervals 题目连接: http://codeforces.com/gym/100231/attachments Description 给你n个区间,告诉你每个区间内都有ci个数 然后你需要找一个最小的点集,使得满足这n个区间的条件 Input n 然后li,ri,ci Output 输出最小点集大小 Sample Input 5 3 7 3 8 10 3 6 8 1 1 3 1 10 11 1 Sample Output 6 Hint 题意 题解: 线段树+二分+贪心 首先我们贪心一…
Alice is so popular that she can receive many flowers everyday. She has N vases numbered from 0 to N-1. When she receive some flowers, she will try to put them in the vases, one flower in one vase. She randomly choose the vase A and try to put a flow…