自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

140142

ww(笑)

  • 博客(217)
  • 收藏
  • 关注

原创 bzoj-3091 城市旅行

题意:给出一颗树,点上有初始权值,有四种操作;1.加一条边;2.删一条边;3.一条路径上的点都加一个权值;4.查询一条路径上任取两个点的路径上期望权值和;题解:本题是2752的升级版,一些公式之类的东西参照上题;到了树上之后,实际上本质的公式是没有变的,只有一些外在的形式改变了;因为Splay维护的是树上的重链,那么结点维护的就是链上的答案等东西;转

2015-08-18 21:40:21 1190

原创 bzoj-2752 高速公路 road

题意:给出一个n个结点,n-1条边的链,边权初始为0;m次操作,操作有两种:1. C:区间[l,r]的边权加上或减去一个数;2. Q:查询区间随机取不相同两点之间的期望长度;题解:区间加减之类的东西显然是线段树的应用,恰巧这道题就在链上;主要这题还是维护第二问的东西;区间[l,r]的选路方式共有(r-l+1)*(r-l)/2这些种,那么只要求出所有路径总长度

2015-08-17 22:06:07 908

原创 bzoj-2002 Bounce 弹飞绵羊

题意:直线上有一排n个弹力装置,每个弹力装置会将绵羊弹到下ki个弹力装置处;如果没有了则绵羊被弹飞。。问每个绵羊被弹了几次弹飞;可能会修改弹力装置的k值;n题解:裸的LCT吧;所以下面的启发式合并Splay是啥鬼;有人说这题边有向,和无向边不一样;然而有个卵区别,把终点作为根不就有向了吗!反正切了上一题这一题也不难吧;维护个size之后,把终

2015-08-15 16:38:12 903

原创 bzoj-2049 Cave 洞穴勘测

题意:给出n个点和m次操作,操作有三种;1.连接两个点;2.删除两个点之间的连接;3.查询两个点是否连通;保证任何时刻图为一个森林;n题解:LCT模板题,看起来LCT是个好东西;LCT是一个用数据结构来维护一个支持动态加边删边的森林;内部实现是用多个Splay来维护树上的重链,用Splay间的边维护树上的轻边;这里的定义与树剖不同了,重边

2015-08-15 16:29:01 839

原创 bzoj-3791 作业

题意:给出一个长度为n的01序列;你可以进行K次操作,操作有两种:1.将一个区间的所有1作业写对,并且将0作业写错;2.将一个区间的所有0作业写对,并且将1作业写错;求K次操作后最多写对了多少作业;n题解:考虑每次操作的影响,显然第一次操作区间越大越好,那就将整个区间覆盖了;然后所有的01都有了一个1或者-1的权值;贪心做的话,每次操作就想让这个权值

2015-08-13 19:31:14 1015

原创 bzoj-1014 火星人prefix

题意:给出一个字符串,多次查询它的LCQ(最长公共前缀)(这个'Q'是'前'的意思吗!= = )带修改以及插入;长度题解:这题刚学Splay的时候就听说过的题;然而当时不知道啥是RKhash就弃疗了;现在复习一下顺便清一下BZ第一版;利用hash+二分处理最长公共前缀是基础;然后就是在Splay上动态维护hash值;具体维护就是记录每个结点的字符,每

2015-08-13 10:37:01 1797

原创 poj-1474 Video Surveillance

题意:判断多边形是否存在核;点集顺时针或逆时针给出,n题解:半平面交模板题;多边形的核就在组成多边形的半平面的交上;也可以顺便说明多边形的核若存在则一定是凸的;原因似乎画画图是比较显然的;一个地方被挡住一定是因为那被另一条边挡住了嘛;注意半平面交的判断点与直线位置关系要用>=号;此题买一送二,我大胆地在提交框里改输出然后光荣的WA了= =

2015-08-12 18:37:58 808

原创 poj-2888 Magic Bracelet

题意:给出n个珠子的项链和m种珠子;珠子之间有k对关系,这些珠子不能相邻;无法通过旋转变成相同的项链视为本质不同;求本质不同的项链个数,答案对9973取模;n题解:这显然是一个置换计数的问题;上burnside引理还是选择poi?上burnside引理,因为poi定理对颜色的限制要很宽泛才行!先考虑一种置换姿势,旋转x个珠子;那么就将项链分成了g

2015-08-12 16:49:36 1444

原创 bzoj-4172 弹珠

题意:白板题,略去;题解:首先根据操作用Splay维护序列;注意维护之后的序列应该保证是n个的;然后就有三个数组a[i],p[i],q[i];令f[i]表示用前面的弹珠撞击第i个弹珠的最大得分;那么f[i]=max(0,-a[i]*p[j]+q[j]);(0暂时不考虑0,变形可得q[j]=a[i]*p[j]+f[i];这显然是一个斜率

2015-08-12 16:25:36 702

原创 bzoj-1001 狼抓兔子

题意:给出一个n*m的下面这样的图,求此图的最小割;n,m题解:这题说好的简单题结果怎么如此丧病;最简单的想法就是求最小割就是求最小割嘛;然后一发Dinic搞定;然而似乎现在不能这么A了= =所以这个图有一些特殊的性质,这是一个平面图;而对于一个平面图的割来说,一定是一条曲线割开了一些线段;那么如果将这些平面视为点,边视为连接两个平面的边;

2015-08-12 15:38:04 1028

原创 bzoj-3232 圈地游戏

题意:在一个n*m的网格里,边上有花费,格里有权值;从任意一个点开始绕一圈,绕一个简单环出来,里面的所有格子就是收益;求最大的收益/花费;所有数题解:考虑01分数规划的方式,但是花费和权值不在一起;那么考虑将格内的权值转化到边上;实际上将边有向化,按边方向左面一行的权值为正,右面为负,加起来作为选了这条边的权值;这样在围成一个环的过程中会将外面的点消

2015-08-10 19:13:05 1501

原创 bzoj-3052 糖果公园

题意:给出一颗n个结点的树,每个结点上有一种糖果∈[1,m];一个人经过这个结点品尝糖果j获得的愉悦度为w[time[j]]*val[j]  (其中time[j]指j的品尝次数);给出q次操作,操作有两种:1:更改某结点的糖果种类;2:查询某两个结点路径上的愉悦度总和;题解:250s的神题,orz各位神犇;将树分块,每块n^2/3大小,分成n^1/3块;

2015-08-09 13:53:42 882

原创 bzoj-3203 保护出题人

题意:在一个诡异的植物大战僵尸游戏中,给出n关;第i关队首僵尸距房门xi,两个僵尸之间间隔为d;每次在队首添加一个血量为ai的僵尸,其他僵尸不变;每关在门前放一个攻击力任意的植物,求n关放置植物总攻击力的最小值;n题解:题意叙述略诡异。。建议还是去看一眼原题;首先考虑对于每一关的答案,应该是恰好将最难打死的僵尸打死的攻击力值;令s[i]为i这个僵尸血量与

2015-08-09 10:23:50 966

原创 bzoj-3809 Gty的二逼妹子序列

题意:给出一个长度为n的数列,每个数字在[1,n]内;m次询问,查询[l,r]区间中值在[a,b]中的数字种类数;n内存限制为28M题解:出题人实在太丧病系列;莫队算法+树状数组这个比较显然吧;码了一发交上去MLE了,砍了砍内存的常数,还是MLE;然后发现询问里不能记录左端点所在块。。。在cmp里现求是吗。。。改完T了!加完读入优化还是T!没

2015-08-06 14:31:52 1012

原创 bzoj-3757 苹果树

题意:给出一颗结点为n的树,每个结点有种颜色;m次查询两个结点之间路径颜色种类数;n询问可能要求将某两种颜色视为一种;题解:裸的树上莫队,似乎很神的一种做法。。首先将树分块,块大小B=sqrt(n);具体树的分块方法见大爷的博客:手把手教你块状树系列分块之后将询问排序,第一关键字按l结点所在块,第二关键字按r结点的DFS序;然后处理如何从l到r的路径

2015-08-06 13:56:36 884

原创 bzoj-2038 小Z的袜子 hose

题意:给出一个长度为n的序列,每次询问一个区间[l,r];查询在这个区间中取出两个数恰好相等的概率;每个数大小在[0,n]内,概率用既约分数表示;题解:考虑一个区间的答案,显然是合法方案数/取数的所有可能;也就是 ∑C[同种数字个数][2]/C[r-l+1][2];但是这个东西对一次询问的处理复杂度是O(r-l+1)的;那么考虑上莫队算法,处理这样的区间问题

2015-08-05 09:37:28 700

原创 poj-3286 How many 0's?

题意:求[A,B]区间内0的个数;0题解:裸数位DP吧;令f[i][j]表示i位数以j开头含零的个数;sum[i]表示不含前导零的i位数含零的个数;然后按位分解瞎TM乱搞;注意枚举每一位可能值的时候要加上高位的零个数*10^位数;就是说前面确定了之后后面所有数都有这些零;这题还是调了半天。。。我还是太弱乱搞功底不足啊;我至今的数位DP还是

2015-08-04 14:17:20 811

原创 bzoj-1188 分裂游戏

题意:有n堆石头,编号为1-n;每次操作为选择三个堆,i取走i中的一个石子并在j,k两堆都放入一个;不能操作的人输,求先手能否必胜;若能则输出第一步的字典序最小方案和方案数;题解:博弈论的题目一般就是组合游戏加SG函数;但是稍微一考虑却发现各个石头堆不是独立的,不能直接上组合游戏;考虑每个石头作为一个游戏;会发现这样就是独立的游戏了!

2015-08-04 10:49:34 689

原创 bzoj-2878 迷失游乐园

题意:给出一颗树或基环树,树是无向的,边有长度;一个人随机从树上某结点出发,每次随机选一条边走;走过的结点不能再走,不能走时停止;求走的期望长度;n50%的数据给出的图是树;另50%的数据图为基环树;基环树的环上结点不超过20个;题解:NOI2012的day1t1;我们先考虑50分的做法;显然是树形DP,而树形DP的奥义就是强行线性;恩就

2015-08-03 14:48:55 1008

原创 bzoj-4204 取球游戏

题意:给出1到n的标号和m个球,每次随机取一个球,将其标号+1之后放回;如果取出的标号是n就置为1,求执行k次操作之后每种球的期望个数;n题解:设f[t][i]为第t次操作时,标号为i的球的期望个数;那么很容易列出转移方程:f[t][i]=f[t-1][i]+1/m*f[t-1][i-1]-1/m*f[t-1][i];(边界i==1时同理)

2015-08-03 09:14:48 907

原创 bzoj-3143 游走

题意:给出一个无向连通图,点数小于等于500;一个人从点1开始随机游走,到点n时停止;每次经过一条边就可以得到这条边编号的分数(这个分数可以多次得到);求一种编号方案,使其期望得分最小;题解:题中的边走几次就得几次分,所以显然答案为期望经过次数*编号;并且由贪(xian)心(ran)的想法可知,一定要给经过次数多的赋小的编号;那么问题就是求每条边的期望经过次

2015-08-02 13:39:46 917 2

原创 XJOI-NOIP2015提高组模拟题1 day1

其实这只是一道题的题解= =;博主太弱不会T1T3;然而我还是要吐槽一下,T2难道你们就没有一点写数据结构的心情吗!T1:留坑(不太可能填);T2:题意:给出大小为n的一个四维点集,和m次询问;每次询问给出一个点,求四维坐标均小于等于这个点的集合大小;n,m题解:看到这题的第一反应是排序乱搞,noip难度应该随便玩玩就过了嘛(笑);但

2015-08-01 20:23:26 1778

原创 poj-1265 Area

题意:给出一个顶点在格点上的多边形,顶点逆时针给出;求1.多边形内部格点数,2.多边形边上格点数,3.多边形面积;题解:本题问题顺序与难度无关!看完了pick定理之后,我猜测是用前两个格点数求出图形面积!然后我特么就傻x了!真相其实还是用叉积来求面积。。。然后记录边上的格点数,也就是边这个向量的gcd(x,y)注意x,y应该取绝对值,否则求出来一个负数岂

2015-07-31 19:15:45 610

原创 poj-2318 TOYS

题意:给出平面上一个矩形和n个纵向分割矩形的直线;直线之间互不相交,将矩形分割为n-1个块;现在矩形上有m个点,求每个块内有几个点;n,m题解:首先将直线求出来,然后最朴素的想法是拿一个点一一和块去比较;这样复杂度是O(nm)的,并且实际上做了许多无用的计算;例如:当你用一个点去比较一个块之后,实际上已经可以知道这个点是在块的左面还是右面了;也就是说

2015-07-31 11:24:59 722

原创 bzoj-1132 Tro

题意:给出n个点,求这n个点组成的所有三角形的面积和;n题解:这道题O(n^3)枚举三角形时间复杂度是无法承受的;所以考虑枚举一条边,多个三角形一起来计算,复杂度在O(n^2)的级别;求三角形面积可以底乘高的面积公式,也可以上叉积;如果采用底乘高的方法,求出所有的点到直线的距离之和,也是可以O(1)得到当前的解的;但是求距离之和这一步必然是O(n)的

2015-07-31 08:30:08 761

原创 bzoj-3564 信号增幅仪

题意:给出平面上n个点和一个角度α,一个比值p;求一个长轴与x轴夹角为α,长轴与短轴比值为p的椭圆,包含了这n个点,且使半短轴最小;题解:本来只是上bz找找计算几何凸包啥的裸题刷刷,结果怎么碰上这么一个玄学的玩意。。。况且这题还不用凸包;看起来只是将圆拓展到了椭圆,但是直接按原模型乱搞似乎有些难度;判断点和椭圆的关系需要一部转化;两点间求椭圆,甚至三

2015-07-30 18:36:35 1158

原创 bzoj-1042 硬币购物

题意:有四种面值的硬币ci,进行tot次购物;每次购物每种硬币有di个,问买s元的物品有几种方法;题解:硬币面值只有四种,可以猜测到算法复杂度不会很大;普通的背包无法限制di个这个条件;而将di个硬币拆开复杂度无法承受,并且一样难以统计方案;所以考虑容斥原理简化问题;去掉di的限制,令f[x]表示四种硬币购买x元的物品有几种方法;这个f数组可以在

2015-07-30 10:35:43 1062

原创 hdu-5313 Bipartite Graph

题意:给出一个完全二分图中的一些边,求这个完全二分图中最多还有多少条边;点数题解:BC的pre test太坑爹了!显然如果想让边数最多,两边的点数越均衡越好;考虑到给出的图可能是不连通的,我用了并查集来维护这些点集;(和图上染色的算法就差了一个反ackerman函数但是省了存边深搜的麻烦)这样处理之后,就得到了一些二分图,之后就是将这些二

2015-07-30 10:23:43 905

原创 bzoj-3261 最大异或和

题意:给出一个长度为n的初始序列,和m次操作;A操作:在序列后面加入一个数;Q操作:给出一段区间[l,r]和一个数x,求区间中的p使p的后缀异或和与x的异或值最大;n,m题解:可持久化数据结构(2/4)进行中... ...先做一个转化,因为是在序列后面加数,维护后缀和并不容易;但是由于异或性质可以转化成前缀和的问题;也就是在区间中选一个数,使其与另一

2015-07-25 16:31:46 2252

原创 bzoj-2251 外星联络

题意:给出一个字符串,求出现次数超过1的子串的出现个数;字符串长度题解:题目问的是子串的个数,那么首先我们要找到所有的子串;而字符串的所有后缀的前缀可以不重不漏的表示所有子串;那么如果将所有的后缀加入trie树,每个经过的结点——也就是这个后缀的前缀——计数+1;然后题目要求按字典序输出,利用一下trie树性质搞好就完了;指针版trie好慢啊。。。

2015-07-25 08:47:51 927

原创 poj-3764 The xor-longest Path

题意:给出一个有权树,求树上两点路径的最大异或和;n题解:考虑异或的性质,如果任选一点为根,处理出所有点的异或深度;那么将两点的深度异或起来,LCA到根的路径就异或了两次相当于没有;所以异或距离就是两点异或深度的异或和,问题就转化成了从n个数中选两个数使异或和最大;这个经典问题就可以把数字按位存进01trie树,从高位到低位贪心求解;复杂度O(31n);

2015-07-25 08:03:51 1069

原创 poj-2758 Checking the Text

题意:给定一个字符串,要求维护两种操作:I:在字符串中插入一个字符;Q:询问某两个位置开始的LCP;插入操作题解:第一道RKhash题,

2015-07-24 20:08:02 1709

原创 bzoj-1901 Dynamic Rankings

题意:带修改区间k小值;n,ma[i]题解:听说是道裸题就过来刷刷 (卧槽我最近似乎都是在刷裸题);写完前缀和的主席树感觉挺厉害,感受了一下树状数组就来写这题;然后写更新的的时候我就不会了;前缀和的时候,后一个树从前一个继承一部分结点而来的;但是树状数组不能这么搞啊= =;然后发现暴力建就可以了,也是犯二了;最多n+m次修改,每次修改lo

2015-07-24 15:22:30 943

原创 bzoj-3524 Couriers

题意:给出一个长度为n的序列和m次询问;每次询问给出区间[l,r],求区间中出现次数大于(r-l+1)/2的数字;n,m题解:主席树的算是裸题吧,静态序列不用套树状数组,数据范围也省了离散化;直接上主席树就可以了,复杂度就是O((n+m)logn)的样子;空间略爆炸,但是如果取消Build()函数就可以过了;orz icebound神犇,搞了一种神奇的建树法

2015-07-24 09:25:08 707

原创 bzoj-4003 城池攻占

题意:给出一个n个结点的有根树,和m个骑士;树上的结点——城池有一个防御值,骑士有一个战斗力;当骑士的战斗力大于等于城池时,城池被攻破,骑士的战斗力变化,并向树上的父节点前进;否则骑士死亡;求最后每个城池干掉的人数和每个人干掉的城数;骑士之间没有先后关系,就是说其实每个骑士是在自己的副本里战斗(笑);n,m题解:首先根据战斗力变化的规则,从某个结点出

2015-07-23 19:26:49 1582

原创 tyvj-2049 魔法珠

题意:给出n堆珠子,每堆有a[i]个;两个人轮流操作,每次操作都是以下三步:1.选择n堆中魔法珠数量大于1的任意一堆。记该堆魔法珠的数量为p,p有b1、b2……bm这m个小于p的约数;2.施展魔法把这一堆魔法珠变成m堆,每堆各有b1、b2……bm颗魔法珠;3.选择这m堆中的一堆魔法珠,施展魔法令其消失;当有一方不能操作时判负,求先手赢还是后手赢;题解:

2015-07-23 09:03:11 1289

原创 poj-2409 Let it Bead

题意:给出c种颜色和s个珠子;将珠子染色后穿成一个环;旋转和翻转相同的视为同构;求方案数;题解:polya计数的裸题;定义m为颜色数,c(Pi)为Pi这个置换的循环节个数;那么根据定理,答案L为;然后只要求出各个置换的循环节就好了;题中允许两种置换,先考虑旋转;旋转有n种置换方式,分别是转0,转360/n,转2*360/n....

2015-07-22 15:03:57 984

原创 poj-1741 Tree

题意:给出一个边上带权的无根树;求距离不大于m的结点对数;多组数据,n题解:1/8个男人留念吧。。学了树的分治之后来切这道题,听别人讲完写写就A了;但是发现自己模板写的好烂,改了一大通;这题就是考虑点分治,每次在当前子树中找经过重心的点对数;那么就是将以重心为根的距离dis数组排序,然后双指针乱扫线性找出结点对数;但是这里可能会出现在同一子树中的情况

2015-07-22 09:22:41 1100

原创 bzoj-1026 windy数

题意:定义一种windy数,这个数在十进制下相邻两个数字之差至少为2的正整数;求区间[A,B]的这种数的个数;n题解:数位乱搞;首先求区间[A,B]等价于求[1,A-1]和[1,B]的答案;直接DP肯定不行,所以考虑一位一位来;定义f[i][j]为首位为j的i位的windy数有几个;sum[i]为不含前导零的i位的windy数有几个;那么对于一个数来

2015-07-21 11:39:19 1276

原创 jdfz-2764 二维LIS

题意:题目链接:oj.jdfz.com.cn:8081/oldoj/problem.php?id=2764给出一个二元组(xi,yi)的序列,定义a[i]小于a[j]为xi求LIS的长度;n,x,y题解:设f[i]为以i为结尾的LIS长度;考虑硬搞,对每个i来找x,y都严格小于它的最大f值;也就是在坐标系上查询矩形的最大值;单点插入,矩形

2015-07-20 20:58:08 1340

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除