树状数组
文章平均质量分 62
commonc
这个作者很懒,什么都没留下…
展开
-
BZOJ4384: [POI2015]Trzy wieże
题目大意:要选一段最长的字符串,使得三种字符出现次数各不相同或只有一种只有一种的直接就能扫出来,然后就想各不相同的首先维护一个前缀和,代表到每个点时,前缀B,C,S的个数然后令xi=bi-ci,yi=ci-si,zi=si-bi,每个点权值为自己的位置如果两个点的xi,yi,zi均不相同,这一段就可以选所以可以先按x排序,这样就干掉一维然后我们设x相同的为一组,首先我们把包原创 2016-05-10 09:32:52 · 1988 阅读 · 0 评论 -
BZOJ4378: [POI2015]Logistyka
每个数对答案的贡献=min(a[i],s)所以用树状数组维护小于等于每个数的权值和以及个数每次对于一个s,把小于s的所有数加起来,再把大于s的当成s,统计一下贡献,看能否实现#include#include#include#include#define N 2000010using namespace std;struct ppp {long long siz,su原创 2016-04-29 16:07:11 · 972 阅读 · 0 评论 -
BZOJ3830: [Poi2014]Freight
题目大意:有两个城镇,从A到B需要的时间为S,然后有N辆列车需要从A到B再回来,任何时刻铁路上只能有向着同一个方向前进的列车,然后每辆列车有一个从A出发的最早出站时间,问所有列车全部回到A站的最早时间首先经过分析可以得出,这些列车是分批行进的,就是一批列车从A到B再回来,然后下一批列车再走...一定不会出现某辆列车在某一批到了B而留在那里没有跟着下一波回A的浪潮回来而留守B地等待下一次的情况,原创 2016-05-12 18:53:05 · 1168 阅读 · 0 评论 -
BZOJ3653: 谈笑风生
题目大意:给一棵树,每次询问给定a,k,求三元组(a,b,c)的数量满足: 1.a和b都是c的祖先 2.a和b在树上距离不超过k 3.a,b,c互不相同显然abc肯定形成竖着的一条链分两种情况讨论:1.b在a的上方,也就是说对于任意合法的b,c可以在a的子树里随便选,这个方案数是可以原创 2016-05-29 12:10:55 · 706 阅读 · 0 评论 -
BZOJ2789: [Poi2012]Letters
题目大意:给你两个序列,每次可以将A序列中相邻的两项交换位置,问最少多少步能把A变成和B一样,全部都是大写字母且保证有解每种字母的相对位置一定不会改变,也就是说每种字母在一开始就已经确定了要对应移到哪一位了,这就相当于求序列逆序对数,和NOIP2013火柴排队差不多#include#include#include#include#define N 1000010u原创 2016-06-14 15:57:21 · 933 阅读 · 0 评论 -
BZOJ3658: Jabberwocky
题目大意:平面上给出n个点,每个点有一个颜色,你可以选择一条线段以上或以下的所有点,并且这些点不能包含所有颜色,问最多能选多少点假设找一条线段以下的首先我们可以按y坐标排序,然后假设这条线段所在直线在最高处,这时答案等于相邻两个相同颜色之间的最大间隔点数然后当这条线段所在直线逐渐下移时,相当于逐渐删掉这些点,每删掉一个就用这个点之前相邻的和之后相邻的之间的点数更新一下答案这一步可以原创 2016-06-30 16:36:44 · 869 阅读 · 0 评论 -
BZOJ4411: [Usaco2016 Feb]Load balancing
题目大意:给定n个点,请你确定一条横线和一条竖线,使得平面划分成的四个区域内点最大值最小首先枚举横着的那条线,然后考虑在这条线上方随着竖线的平移,上面两个区域的max函数是一个单峰函数,下面同理,所以将两个函数取max之后还是一个单峰函数,那么我们就可以用二分或者三分来求这个峰,这个答案就是当横线在这里的最小值#include#include#include#incl原创 2016-09-07 11:15:34 · 860 阅读 · 0 评论 -
BZOJ2527: [Poi2011]Meteors
题目大意:有K次操作,每次操作给一段(或者两段)区间加一个数,然后在这段长度为m的区间内,每个点都有一个国家的接收器,每个国家都有一个值,求对于每个国家,他们的所有接收器的总和大于等于这个值的时间整体二分的练手题...(之前好像写了挺长时间?)二分答案,但是要对所有询问一起处理,二分完了答案之后我们可以把当前每个城市的陨石数量暴力算出来,然后把询问归成两类,第一类是已经满足条件了的原创 2016-10-09 15:14:28 · 799 阅读 · 0 评论 -
BZOJ2089&2090: [Poi2010]Monotonicity 2
题目大意:给一个数字串和一个符号序列,求一个最长的数字串子序列,使得相邻两项都满足对应位置的符号关系一开始想了个DP给否掉了.....结果貌似是对的.....和最长上升子序列类似,F[i]表示以i为结尾最远能匹配到符号序列的第几个可以画一画然后发现F[i]一定可以由前面的F[j]转移而来这样可以想到一个O(N^2)的暴力了,然后考虑优化求最长上升子序列的时候我们可以用一原创 2016-09-21 08:43:53 · 900 阅读 · 0 评论