online judge Bzoj
文章平均质量分 80
Fsss_7
这个作者很懒,什么都没留下…
展开
-
bzoj3224: Tyvj 1728 普通平衡树
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3224题意:中文题。分析:treap模板练习。其实知道了怎么旋转就知道了整个treap啦,实现的时候注意细节即可。代码:#include#include#include#include#include#include#include#include#include原创 2016-09-07 19:57:31 · 516 阅读 · 0 评论 -
bzoj1901: Zju2112 Dynamic Rankings
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1901题意:中文题。分析:带修改的区间第k小,在可持久化线段树外面套一个树状数组,然后将建树的过程改点。时间O(nlognlogn)+空间T(nlognlogn)代码:#include#include#include#include#include#include#i原创 2016-04-12 19:26:51 · 585 阅读 · 0 评论 -
bzoj2064: 分裂
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2064题意:中文题。分析:因为题目给定的n个数的总和和后面m个数的总和一定是一样的,很显然这题的上界是n+m-2(直接将n个数合在一起再拆成m个数即可),在这个基础上我们可以想到一个做法就是将n和m分成若干个子集两两相等,每分出一对子集我们就能ans-2。那么我们可以将其中一类取负数,那原创 2016-03-26 16:15:00 · 715 阅读 · 0 评论 -
bzoj2588: Spoj 10628. Count on a tree
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2588题意:中文题。分析:树上建可持久化线段树,从父亲那继承。查询的时候减去lca和lca的父亲两个前缀即可。详见代码。O(nlogn+mlogn)代码:#include#include#include#include#include#include#include原创 2016-04-11 22:36:26 · 574 阅读 · 0 评论 -
bzoj2286: [Sdoi2011消耗战
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2286题意:中文题。分析:题目中要求所有的关键点与根1断开,很容易想到树形dp。但是由于多组询问会导致时间*m。单次O(n)不可取。很显然是要优化的,我们发现单次O(n)时还是会做很多无用功,而且题目说sigma(ki)代码:#include#include#include原创 2016-04-07 20:23:07 · 1840 阅读 · 0 评论 -
bzoj3653: 谈笑风生
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3653题意:中文题。分析:很明显这题可以分为两种情况:(1)b是a的祖先,那么有min(de[a]-1,y)种选择,c就随便选一个a子树中的点就行了。(2)b是a的子孙,c是b子树中的点,且b距离a小于等于k。第一种情况没压力,第二种情况才是关键。子树问题,我们优先想到dfs序,然后问题原创 2016-04-06 22:36:49 · 891 阅读 · 0 评论 -
bzoj3306: 树
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3306题意:中文题。分析:因为题目要求查询子树中的最小值,很明显想到dfs序。但是还有一个操作:换根。这个问题看上去不好处理,但是其实自己画画图就能很好的将换根之后的情况进行处理了,假设当前询问x根为root,这是我们只要分类讨论:当x==root,return tr[1]。当lca(x原创 2016-04-06 16:50:54 · 469 阅读 · 0 评论 -
bzoj1725: [Usaco2006 Nov]Corn Fields牧场的安排
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1725题意:中文题。分析:裸的状态压缩DP。代码:#include#include#include#include#include#include#include#include#include#include#include#include#pragma原创 2016-03-22 21:15:56 · 477 阅读 · 0 评论 -
bzoj1076: [SCOI2008]奖励关
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1076题意:中文题。分析:期望题,顺着做不好判断可行条件,我们倒着做,设dp[i][j]表示在选择第i次奖励要或不要之前的已有状态为j。因为是等概率,记得/n。最后答案就是dp[1][0]啦。代码:#include#include#include#include#incl原创 2016-03-22 20:56:52 · 616 阅读 · 0 评论 -
bzoj1042: [HAOI2008]硬币购物
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1042题意:中文题。。。分析:首先因为4种硬币的面额是不变的而且s最大100000,所以我们先预处理出没有di限制的所有方案数,然后我们去容斥有超出的情况,超出奇数个减偶数个加。O(4*s)代码:#include#include#include#include#inclu原创 2016-02-26 02:19:40 · 307 阅读 · 0 评论 -
bzoj2393: Cirno的完美算数教室
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2393题意:中文题。。。分析:在10^10以内baka数大概只有几百个设为k个,预处理出来,然后将能互相被整除的两个中去掉大的那个,然后只要容斥就好了,奇数个减偶数个加,因为数字增长得比较快所以其实不会达到2^k,因为当当前这个要处理的lcm>n时我们直接return掉即可,其实在最大的原创 2016-02-25 20:52:18 · 567 阅读 · 0 评论 -
bzoj1087: [SCOI2005]互不侵犯King
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1087题意:中文题。分析:因为n特别小,我们可以直接用状态压缩来表示每一行的状态,然后判断是否可行即可。PS:我的程序跑出来有点慢,应该是对于cal函数的多次计算的问题,其实我们可以预处理出来,然后每次O(1)调用即可。代码:#include#include#include原创 2016-03-19 17:48:19 · 600 阅读 · 0 评论 -
bzoj3687: 简单题
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3687题意:中文题。。分析:要求计算子集算术和的异或和。首先我们设dp[i]表示由这n个数能有多少种方案组成i,显然这样dp[1~sum]就将所有的子集和统计完了,那么计算的时候只要判断(dp[i]&1)就有ans^=i。这样的复杂度是sum*n,对于n=10^3,sum=2*10^6是原创 2016-03-07 20:33:57 · 1189 阅读 · 0 评论 -
bzoj3295: [Cqoi2011]动态逆序对
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3295题意:中午题。分析:本来打算练习cdq分治的,明天补吧。不过看到这题一眼就想用可持久化线段树,不过带修改的可持久化线段树开销有点大,变了一种方法卡了点空间才过。详见代码。O(nlogn*logn)。代码:#include#include#include#include原创 2016-04-24 23:31:29 · 608 阅读 · 0 评论 -
bzoj3524: [Poi2014]Couriers
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3524题意:中文题。分析:区间问题,并且询问的是大于区间一半的值,我们可以直接用可持久化线段树查询。O(nlogn+qlogn)代码:#include#include#include#include#include#include#include#include#原创 2016-04-13 14:33:36 · 626 阅读 · 0 评论 -
bzoj3261: 最大异或和
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3261题意:中文题。分析:问题等价于求一个x与区间a[l]~a[r]之间的最大异或和。转为二进制树建可持久化字典树,在区间内跑最大值。O(nlogn)代码:#include#include#include#include#include#include#include原创 2016-04-13 21:46:12 · 517 阅读 · 0 评论 -
bzoj3531: [Sdoi2014]旅行
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3531题意:中文题。分析:如果没有颜色的干扰,那么这题只是一个裸树链剖分,但是有了颜色,而且颜色数还多。我们可以想象一下,我们对于每一种颜色都单独取出它们来,然后将相同的颜色像树链剖分那样建线段树,但是如果我们像普通的那样建显然空间会爆炸,我们可以像主席树一样只建有效节点,这样的话我们最原创 2016-08-12 20:55:34 · 350 阅读 · 0 评论 -
bzoj2669: [cqoi2012]局部极小值
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2669题意:中文题。分析:首先观察到这个题的数据小很容易就想到状压,但是怎么状压呢?我们一步一步来处理问题。首先我们要处理的是题目处理的是'X'的位置一定是极小值,'.'的位置只能是非极小值。但是如果有个3*3的矩阵中全是'.',那么我们怎么才能确定中间那个不会是处理成极小值呢?这里选择原创 2016-09-02 21:52:03 · 494 阅读 · 0 评论 -
bzoj2152: 聪聪可可
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2152题意:中文题。分析:树分治练习题。代码:#include#include#include#include#include#include#include#include#include#include#include#include#pragma c原创 2016-09-02 20:30:05 · 284 阅读 · 0 评论 -
bzoj1001: [BeiJing2006]狼抓兔子
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1001题意:中文题。分析:如果直接跑网络流的话因为点和边太大(实际bz上的数据能跑?),所有去学了下平面图求最小割转对偶图最短路,周冬的浅析最大最小定理在信息学竞赛中的应用讲得挺清楚的。代码:#include#include#include#include#include原创 2016-08-08 20:35:32 · 348 阅读 · 0 评论 -
BZOJ2836: 魔法树
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2836题意:中文题。分析:链上+和子树求和。裸树链剖分,树链剖分练习第一题。代码:#include#include#include#include#include#include#include#include#include#include#include原创 2016-08-08 16:55:44 · 335 阅读 · 0 评论 -
bzoj3262: 陌上花开
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3262题意:中文题。分析:cdq分治练习题,详细分析戳这里,不过这题没有好的时间戳z,因为这题的三个值都是在1~k范围内的,那就是说有的值不唯一有的不存在,那么我们在分治的时候就要注意边界了,所以我改成了4个参数的分治,详见代码。O(nlogk^2)。代码:#include#i原创 2016-04-24 15:25:04 · 478 阅读 · 0 评论 -
bzoj1176: [Balkan2007]Mokia
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1176题意:中文题。分析:cdq分治第一题。还是仔细分析下细节吧。首先我们确定这题的类型:范围很大,询问很少。一般这样的题我们可以从询问的角度切入,然后找到好的复杂度情况的解决方法。有两类操作:1:单点修改。2:矩形区间询问。首先我们可以用容斥那样将矩形区间询问分成4块,两块+两块-(这原创 2016-04-23 16:26:36 · 708 阅读 · 0 评论 -
bzoj2527: [Poi2011]Meteors
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2527题意:中文题。分析:整体二分的题,设函数div(l,r,L,R)分治解决,含义为询问L到询问R的答案在操作l到操作r中,然后分治求解。本题需要注意的地方:(1)因为操作的是区间且区间较大,不能直接对每个操作暴力处理这个区间,应该用树状数组将操作的量减小。(2)因为在树状数组中存的量原创 2016-05-16 22:08:10 · 341 阅读 · 0 评论 -
bzoj2738: 矩阵乘法
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2738题意:中文题。分析:将矩阵中所有元素按值大小从小到大排序,然后将询问离线,我们将n*n个数和q个询问同时分治,每次分治有(l,r,L,R)表示大小排名在l到r之间的数包含了询问L到R的答案。当l==r的时候就能找到答案啦,记得用二维树状数组维护一下矩阵中的元素个数。O(n*nlog原创 2016-05-12 00:28:52 · 379 阅读 · 0 评论 -
bzoj3611: [Heoi2014]大工程
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3611题意:中文题。分析:同消耗战是一类题,询问过多,但是关键节点少,那么我们先建虚树(最大2*max个节点),同消耗战建虚树。然后在树上跑一遍DP即可。O(max*logn)代码:#include#include#include#include#include#inc原创 2016-04-11 20:56:18 · 488 阅读 · 0 评论 -
bzoj2434: [Noi2011]阿狸的打字机
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2434题意:中文题。分析:给定一个这样的字符串很容易就想建一颗trie树。然后在trie树上进行匹配,这不就是AC自动机么!我们可以直接考虑这样的一种暴力,当查询x,y时我们只要将从root到y路径上所有的点沿着fail跑一遍,只要经过一次x就ans+1。但是这样会超时,我们在观察这个结原创 2016-04-10 21:07:40 · 351 阅读 · 0 评论 -
bzoj3166: [Heoi2013]Alo
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3166题意:中文题。分析:枚举每个元素,将它当成那个次大值,然后在它所作用的区间内找异或最大值即可。怎么找它作用的区间呢?用set和priority_queue一起,用优先队列使得大的元素的位置先进set。然后对于每一个新位置找他前面和后面的位置边界即可。我写得好丑~O(nlog(max原创 2016-04-13 23:32:49 · 496 阅读 · 0 评论 -
bzoj1103[POI2007]大都市meg
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1103题意:中文题。分析:题目要求的是每次都是从节点1计算到节点x的距离,我们可以利用长度为2*n的dfs序的性质,因为在dfs序中我们会保存节点i进入时间l[i]和出去时间r[i],那么我们可以设置一个树状数组记录前缀和,我们将所有的l[i]位置+1,所有的r[i]位置-1。这样有什么原创 2016-03-30 23:33:06 · 628 阅读 · 0 评论 -
bzoj3907: 网格
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3907题意:中文题。。。分析:用卡特兰数的非常规法证明F[n]=C(2*n,n)-C(2*n,n-1)那种方法可以分析出这题的答案为C(n+m,n)-C(n+m,n+1),详见百度百科,再用高精度处理一下即可。代码:#include#include#include#include#inc原创 2016-03-01 20:33:00 · 1345 阅读 · 0 评论 -
bzoj2440: [中山市选2011]完全平方数
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2440题意:中文题。。。分析:莫比乌斯反演的练习题。利用莫比乌斯函数直接容斥即可。。(如果不是全素数呢?而是给定的一些数的平方呢?离散处理在映射到素数表和每一个合数就可以了。然后就一样了。代码:#include#include#include#include#includ原创 2016-01-20 21:49:17 · 557 阅读 · 0 评论 -
bzoj2697: 特技飞行
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2697题意:中文题。。分析:看到这题时。脑子里第一印象是dp?因为感觉很好dp的样子?然后发现dp方程好像不是很好设。在仔细想想,样例是怎么样得来的呢?仔细算了算,发现好像有好多中方式构造。然后想了想贪心?感觉如果在首尾放最大值好像很优的样子,并且这个时候看出来了-->无论怎么放,都只与原创 2016-01-04 01:48:07 · 393 阅读 · 0 评论 -
bzoj1676: [Usaco2005 Feb]Feed Accounting 饲料计算
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1676题意:中文题。。分析:应该是最裸的差分之一了。。代码:#include#include#include#include#include#include#include#include#include#include#include#pragma com原创 2016-01-03 22:36:20 · 1195 阅读 · 0 评论 -
bzoj1635: [Usaco2007 Jan]Tallest Cow 最高的牛
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1635题意:中文题。。对了,输入的第二个值好像并没有用到。。分析:根据题目描述,我们很容易想到不可能有两组给出的数据是相交的,只有可能是包含或者相离。既然这样我们就好办了,每次把L到R之间的点的高度-1,差分即可。。但是!有些情况是会错的,比如说L==R。。比如说两组Li==Lj&&Ri原创 2016-01-03 22:19:02 · 845 阅读 · 0 评论 -
bzoj1637: [Usaco2007 Mar]Balanced Lineup
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1637题意:中文题。。分析:将0变成-1,然后按x从小到大排序,然后算前缀和,找离当前前缀和相同切最远的前缀和即可。代码:#include#include#include#include#include#include#include#include#includ原创 2016-01-03 20:30:45 · 474 阅读 · 0 评论 -
bzoj1651: [Usaco2006 Feb]Stall Reservations 专用牛棚
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1651题意:中文题。。分析:裸的差分应用。。代码:#include#include#include#include#include#include#include#include#include#include#include#pragma comment(原创 2016-01-03 17:42:34 · 263 阅读 · 0 评论 -
bzoj1303: [CQOI2009]中位数图
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1303题意:中文题。。分析:这题还是挺水的,既然是一个1~n的排列,那么我们自然就可以把大于b的数变为1,小于b的数变为-1,那么b自然就是0咯,然后我们就是在数列中0的位置的左边和右边匹配相同的前缀和就可以啦。代码:#include#include#include#inc原创 2016-01-03 17:33:08 · 326 阅读 · 0 评论 -
bzoj1455: 罗马游戏
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1455题意:中文题。。分析:裸的可并堆练习题。我是在黄学长那学的左偏堆(http://hzwer.com/2563.html)。看我黄学长的定义后,我理解了左偏堆。但是!细看代码实现你会发现,与定义有出入,一开始我还以为黄学长哪里出错了,因为很简单的出几组数据就能发现黄学长的代码建的不是原创 2016-01-03 16:42:56 · 365 阅读 · 0 评论 -
bzoj1367: [Baltic2004]sequence
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1367题意:中文题。。分析:左偏树论文题。要多练练证明技巧。证明见论文:http://wenku.baidu.com/link?url=t55yGX-UkUdEXBhpvBwuzjKP16F7lFl0RKSVVBBW5zXWRB7rRXvLLj1jM-pzhbH834hQl0KKT4va原创 2016-01-19 21:30:02 · 861 阅读 · 0 评论 -
bzoj2724: [Violet 6]蒲公英
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2724题意:中文题。。分析:在线求区间众数,用分块预处理,详见http://www.docin.com/p-679227660.html代码:#include#include#include#include#include#include#include#inclu原创 2016-01-01 16:49:11 · 951 阅读 · 0 评论