自定义博客皮肤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-2151 种树

题意:给出一个n个点的环,每个点有一个有正有负的权值;现要在其中选出m个互不相连的点,使权值和最大;对于85%的数据:n对于100%的数据:n题解:论如何出一道大家都开心的题;只要给暴力85分就好啦!贪心的取可以取的最大权值肯定不行,所以考虑动态规划;对于动态规划的状态,一定要有前i个这个状态,也不能省略选了j个的记录;所以设f[i][j]为

2015-09-10 21:30:24 1821

原创 poj-1379 Run Away

题意:给出一个矩形作为边界,内部有n个点;求一个点到这些点距离的最小值最大;n题解:最小值最大——二分答案!然而并不能做到= =正解似乎是一个叫做Voronoi的神奇东西;不过写个20k的精确算法不如秒个2k的骗分算法A掉它嘛;这道题我写的就是模拟退火;首先设中点为起点似乎比较美观吧;然后就是普通的退火过程,照着百度百科扒一扒那几句话就好;

2015-09-09 20:10:38 1796 1

原创 bzoj-3680 吊打XXX

题意:给出平面上n个有质量的点;求这n个点的质心位置;n题解:这个似乎没什么好的算法啊。。。但是如果模拟一下这个过程,就会得到一个有点意思的算法——爬山算法;爬山算法通常被用于计算几何最优化问题的骗分;与模拟退火不同,它要求答案函数单峰,或者可以说模拟退火是对爬山算法的改进吧;想象这个绳结被这些点拉着,那么无论初始在哪里,都会到那个质心位置;那就从任

2015-09-09 18:22:41 1485 1

原创 poj-2079 Triangle

题意:给出平面上的n个点,求其中三个点组成的最大三角形面积;n题解:一道xuanzhuankake题;主要的思路对于三角形来说,它的面积可以用底乘高除二的公式求;而

2015-09-09 14:09:32 1650 1

原创 bzoj-1502 月下柠檬树

题意:一颗树由n个圆台组成,现在有倾斜角为alpha的光;不计树干阴影,光线沿直线传播,求这个树在水平地面投影的面积;n题解:给出一颗树。。求这棵树的阴影面积。。。什么鬼题!= =当然这是一道计算几何;首先我们把树的尖看成半径为0的圆;三维图形到二维的投影貌似很难啊,不过这题也有很多特殊性;因为圆对于平行的面的投影都是相同的正圆,所以可以直接投在

2015-09-08 20:31:32 2041

原创 bzoj-2178 圆的面积并

题意:给出平面上的n个圆,求它们的面积并;n题解:这题似乎有很多种姿势来解,我学了一种比较Simple的;对于三次以下多项式函数的定积分,有一个Simpson公式:∫[l,r]f(x)=(r-l)(f(l)+f(r)+4f(mid))/6公式可以利用导数证明,但是对于三次以上或者其他函数是不成立的;比如圆的参数方程,三角函数之类的奇怪东西;虽说如此,不成

2015-09-08 10:35:34 2366

原创 bzoj-1845 三角形面积并

题意:给出n个三角形,求这n个三角形的面积并;n题解:裸的扫描线处理面积并问题;计算几何的数据范围通常不会出的很大,这种题都只是考虑如何处理数据;这道题我似乎是被卡了一点精度,double换成long double才过掉;至于解法第一句不是说完了吗23333咳。。首先就是为了方便处理,我们求出所有线段的交点;然后用这些交点的横坐标将坐标系划分成一个个竖条

2015-09-07 19:37:51 1947 2

原创 poj-1279 Art Gallery

题意:给出一个n个点的多边形,求多边形核的面积;多边形的核即为多边形内部的点集,使其中的点可以看到多边形的任意顶点和边;n题解:这应该也算是模板题的一种吧;求多边形核的方法现在是O(nlogn)的;将所有的直线按极角排序(math库中atan2()函数),然后线性的在双端队列里面搞搞;这样求出了半平面交的边集,也顺带求出了点集;求面积的话就直接叉积扫

2015-09-07 13:35:33 2050

原创 bzoj-2795 A Horrible Poem

题意:给出一个长度为N的字符串,有Q次询问;每次询问给出一个区间,求区间最短循环节长度;N题解:这题数据范围简直丧病= =渣电脑3s真的能跑出来吗。。。不过这题在BZ上是可做的,50s我的程序10s出解了;首先这问题画一画发现它绝对不是什么数据结构能维护的,因为这东西毫无可并性;硬说的话多个相同的的连在一起的循环节可以合并变长,然并卵;所以如果考

2015-09-07 07:46:19 2354

原创 poj-2826 An Easy Problem?!

题意:给出平面上的两条线段,现在有竖直下落的雨;求这两条线段最多能接到多少雨;题解:听起来挺朴实的一道题,但是并不怎么好做,因为计算几何的实数。。实际上可以把这道题分为两个步骤:判断水能不能进入容器,计算容器能装多少水;第二步比较容易,我直接底乘高乱搞了;主要是对接水的判断,这一步有一个挺正确的性质:线段口的向量在较高边的向量和竖直向量中间的时候,接不到水;

2015-09-06 22:27:47 1723

原创 poj-1066 Treasure Hunt

题意:有一个100大小的矩形房间,房间内有n堵墙;每一堵墙都是横跨房间的,并且没有三个墙交于一点;房间中的某个点有宝物,问从房间外面打破几道墙能到达宝物的地方;题解:思路十分神奇的一道题;首先比较直观的思路就是建立对偶图跑最短路;但是这我也不会写啊= =;考虑到这些墙有一些特殊性——横跨房间;就有了一种神奇的算法:枚举房间外层的点,判断对于每一堵墙起

2015-09-05 15:44:12 883

原创 bzoj-3238 差异

题意:给出一个长度为n的字符串;求这个字符串任意两个后缀的LCP的和;n题解:问题啥的说成这样就可以嘛= =,那些奇怪的加加减减有啥意义;这道题是求和,而枚举i,j,利用后缀数组+RMQ可以O(n^2logn),但是依然不行;考虑到LCP是两个串之间height的最小值,那枚举LCP的值可以吗?对于一个height[i]来说,它的值可以影响到它两段heigh

2015-09-04 21:53:19 799

原创 bzoj-3796 Mushroom追妹纸

题意:给出三个字符串s1,s2,s3;求一个最长的串满足:1.它是s1的子串;2.它是s2的子串;3.s3不是它的子串;s1,s2长度题解:这道题的前两个条件算是比较裸吧;求后缀数组,二分答案,在height数组上验证;如果不会的去看看我之前的题解吧(笑)——链接;至于第三个条件,这尼玛实在是太容易看错了啊!如果是“它不是s3的子串”那直

2015-09-03 14:15:11 1103

原创 bzoj-3771 Triple

题意:给出n个互不重复的数字;现在选出一个两个或者三个数字,失去它们加和的权值,求每种损失的方案数;多个数字相同而顺序不同算一种方案;每个数字题解:不要问n的范围!不要问n的范围!不要问n的范围!恩如果你没有发现互不重复那么你离我也不远了(大雾);这道题主要的思路是这样的;考虑一个类似生成函数的东西;对于每一种损失,都是几个物品的损失加和恰好

2015-09-02 19:25:01 902

原创 poj-1743 Musical Theme

题意:给出一个长度为n的序列;求这个序列中最长两个长度相等且对应位置作差相同的子串的长度;n题解:首先可以将序列差分,差分之后这个问题就转化成了一个最长重复不交子串问题了;求解最长重复不交子串的话,考虑到子串是后缀的前缀;那么利用后缀数组,将后缀排序之后,在height数组上乱搞;具体呢?二分答案,判定是否有长度等于mid的这种子串存在;判定是在he

2015-09-02 19:00:29 681

原创 uoj#35: 后缀排序

题意:给出一个字符串;求这个字符串的后缀数组和height数组;字符串长度题解:后缀数组纯裸题;不得不说众人的力量是伟大的,VFK的毒瘤功底是有目共睹的;A掉这道题,模板又是有了一些改动= =;总之uoj的数据真挺强的,推荐去交一下;而且可以看WA的测试点。。然后我case1case2case3连挂三次。。代码:#includ

2015-09-02 16:08:04 646

原创 bzoj-1031 字符加密Cipher

题意:给出一个字符串,求将其所有循环串排序之后,每个串的最后一个字符;字符串长度题解:后缀数组裸题。。吧学长拿这个当例题我还差点不会做。。。反正就是把字符串倍增之后求后缀数组;然后按后缀数组来扫一遍求解;难点就是后缀排序(废话!);这里用的是O(nlogn)的倍增+基数排序方法;模板纯手写。。一堆for循环也是有毒。。原理上就是利用倍增的思想,将

2015-09-02 13:12:50 836

原创 bzoj-3527 力

题意:给出n个数qi,给出Fj的定义如下:令Ei=Fi/qi。试求Ei。题解:这是一道难得的久违的自己推出来的数学题;首先显然Ej和qj没啥关系。。。然后观察分母实际上就是个i与j距离的平方;展开一点的话可以发现这样的形式;那么显然这样稍微构造一下,可以从卷积得来;然后画一画搞一搞就上FFT了;FFT模板总敲错怎么办= =。。。

2015-09-01 11:31:13 1026

原创 bzoj-3672 购票

题意:给出一颗n个结点的有根树,边有长度;每个点有可以购票前往长度相差不超过li的它的祖先,票的花费为pi*长度+qi;当然的,可以的选择多次倒车到达;求每个点到根的最小花费;n题解:这题真的好贴心,数据特殊情况都给你让你特判了2333;首先一条链的情况都会吧,设f[i]为i到根的最小花费,dis为到根的距离;转移方程为:f[i]=f[j]+p[i]*(

2015-08-31 17:26:17 1038

原创 bzoj-2085 Hamsters

题意:给出n个长度不大于100000的字符串;现在要找出一个字符串包括m个这些字符串;求这个字符串的最小长度;数据保证字符串不互相包含;n题解:数据保证了字符串没有包含的情况。。那么为了节约考虑,还是要让字符串叠在一起比较合算;设f[i][j]表示i后面加个j字符串要再加多少字符;这个怎么求呢?Hash之后暴力;RKhash可以O(1)拿出前

2015-08-31 16:50:55 824

原创 bzoj-4238 电压

题意:给出一个n个结点m条边的无向图,用两种颜色来对结点染色;求图中有多少条边,可以存在一种方案,使这条边两段的颜色相同而其他边两端颜色不同;n题解:这题感觉正解大框很容易想,但是最终写出来还是很难的似乎;最简单的暴力就是枚举边然后给图染色;然后还有n==m的基环树,搜个环讨论一下就又有一些分;正解的话显然要找环,然而如何找环Tarjan早已给出了答案;

2015-08-31 07:21:21 1589 1

原创 CodeForces-229E Gifts

题面:很久很久以前,一位老人和他的妻子住在蔚蓝的海边。有一天,这位老人前去捕鱼,他捉到了一条活着的金鱼。鱼说:“噢,老渔人!我祈求你放我回到海里,这样的话我保证给你n样礼物——任何你想要的礼物!”鱼给了老人一张礼物的清单并附上了礼物的价值。清单上的一些礼物可能会有相同的名称、不同的价值,也可能会有不同的名称、相同的价值。然而,清单上不会出现名称和价值都相同的礼物。老人可以向鱼索要清单上

2015-08-30 22:39:55 1214

原创 bzoj-1488 图的同构

题意:求n个点,无重边无自环,本质不同的无向图的个数;本质不同指将两个图任意重新标号之后两个图不相同;n题解:首先这是一道置换计数的题目;我们应用polya定理解决这道题;考虑每条边选或不选,这就是两种颜色;那么就是求每种置换方式的边循环个数;置换方式就是对于点的重标号,这是有n!种的啊;然而这n!中有一些情况的答案是一样的,因为其实答案只和点循环中

2015-08-29 17:24:38 1534

原创 hdu-5314 Happy King

题意:给出一颗n个结点的树,点上有权值;求点对(x,y)满足x!=y且x到y的路径上最大值与最小值的差n题解:来填一填当年挖下的坑;这个数据范围真是恶意。。直接说五组数据不好吗!考虑这题怎么做,在这场考试那天的前一天,我学习了树分治算法;然后他就出了,然后我就写了,然后我就写不出来了;当年的我实在naive;我翻出了当时交上去的代码,改了好久好久。。

2015-08-28 17:13:43 1225

原创 bzoj-1030 文本生成器

题意:给出一个n个单词的字典,单词长度求长度为m的随机字符串中有多少个串至少包括一个单词;n题解:好久没有写AC自动机啦,如今还记得模板真是难得;然而这似乎是Trie图?总之写出来不差几句话;首先至少包括一个单词这个条件不太好弄;那就转化一下,求不含单词的字符串个数;然后就想办法处理这个;定义状态,f[i][j]表示长度为i的字符串,最后几位的状态在

2015-08-28 13:50:45 792

原创 bzoj-1146 网络管理Network

题意:给出一颗n个结点的树,点上有权值;两种操作:1.修改某个结点的权值;2.求x,y路径上第K大值;题解:首先显然这题可以先树剖一下,将其转化为区间问题;那么问题来了,用什么维护?这是有很多办法的,一般人都会上一些比较显然的方法吧;比如线段树套平衡树,二分答案处理询问;时间达到了O(mlog^4n)。。。20*20*20*20=160000.。。;

2015-08-27 20:12:13 1172

原创 jdfz-2978 第k短路(强)

题意:给出一个n个点m条边的有向图,求这个图点1到点n的严格第K短路;n边权链接题解:这是一个似乎十分经典的问题,但是普通的A*算法是会被卡的;最坏复杂度会达到O(SPFA(n,m)+KMlog(K+M))的(大概);所以这个算法还需要优化;主要的算法就是俞鼎力大牛在《堆的可持久化》论文里的东西;具体的解法详见论文;只是我使用了可持久化左偏树

2015-08-27 10:25:35 1668

原创 bzoj-1194 潘多拉的盒子

题意:给出S个自动机,每个自动机有n个结点和m个输出结点;每个结点有两个后继'0'和'1',将当前走过的串末尾加那个字符,然后走到下一个结点;每次从0号点,以一个空串出发,到了输出结点时可以选择输出当前串;如果一个自动机x可以输出的所有串另一个自动机y也都可以输出,那么y是x的升级;求最大升级序列;S,n,m题解:这道题稍微考虑一下之后,发现难以处理的地方是

2015-08-26 19:25:55 1243

原创 bzoj-3011 Running Away From the Barn

题意:给出以1号点为根的一棵有根树,问每个点的子树中与它距离小于等于L的点有多少个。n题解:这题比较有意思;首先考虑的就是树形DP,但是DP完全无法转移;考虑一个结点的答案,那就是子树中与这个结点距离小于等于L的点数(废话);那它父亲在这个子树的答案呢?子树中每个点的距离都增加了,而相对大小关系没有改变;所以就用一个可并堆来维护子树,每次将堆中距离过

2015-08-25 22:34:53 1172

原创 bzoj-4103 异或运算

题意:给出一个长度为n的a数组,和一个长度为m的b数组;现有一矩阵A[i][j]=a[i] xor b[j];q次求矩阵中某一块的第k大值;n题解:又是一个k大值问题,但是显然并不能将矩阵列出来求值;但是n和q的范围都小的诡异= =;所以考虑对于每个询问暴力枚举1-n的某区间;然后呢,对这些数去找第k大值;如果询问的是最大值,那么在可持久化Trie上

2015-08-25 21:58:07 1502 2

原创 Contest Hunter - OVOO

题意:给出一颗有根树,每次可以从树上取包括根节点的一个连通块;定义连通块的权值为块内边的权值之和;询问第k小的连通块的权值是多少;n此题为CH弱省胡策#1T3;题解:PoPoQQQ大爷好神!这道题也是利用A*搜索来求K大值,但是状态比较难以表示;先考虑怎么搜索,对于一个已经选完了的点集,下一次可能再选的点有哪些?可能是上一次选的点的儿子,也可能是回溯

2015-08-25 10:54:10 1592

原创 bzoj-2006 超级钢琴

题意:给出一个长度为n的序列,取序列中L问这样的子串前k大个的和是多少;题解:好像是很神的题。。首先考虑一个子串的和是什么?比如[i,j]这个串,和就是sum[j]-sum[i-1]   (sum表示前缀和);那么对于每一个j的答案,应该是sum[i-1]比较小的i值;怎么找到前k大,就用到了A*算法;我们首先将每个j对应的最小的sum[i-1]求值,之后插

2015-08-25 07:24:39 946

原创 bzoj-2693 jzptab

题意:有一个n*m的数表,(i,j)位置上的数是LCM(i,j);求这个数表的和;n,mCrash的数字表格加强版题解:考虑把lcm转化成gcd那答案就是然后神奇的设:就有:一样可以枚举 的取值,这是O(√n)的;然后求f(x,y);大概证明了一下= =线性筛之后也可以O(√n)求出f(x,y)

2015-08-24 14:31:23 1778

原创 bzoj-2301 Problem b

题意:求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k;1≤a≤b≤50000,1≤c≤d≤500001≤n≤50000,1≤k≤50000题解:首先可以把询问拆成四个,然后容斥一下就是答案问题转化成求gcd(x,y)=k,1令f(x)为满足条件的gcd(x,y)=x的(x,y)对数;令F(x)为满足条件的x|gcd(

2015-08-24 14:24:35 734

原创 bzoj-3118 Orz the MST

题意:给出一个无向连通图,并指定其中一颗生成树;每条边上有一个权值vali,如果增大这个权值1则花费Ai,减小1花费Bi;现在要使指定的生成树为一颗最小生成树,求最小花费;n题解:一道线性规划比较神的题目,前面刷的比较偏水就不刷了;首先有一点极为显然的东西(我居然没看出来),树上的边一定减小权值,非树上的边一定增大权值;然后考虑对于一颗生成树要为最小要满足的

2015-08-21 18:47:05 1207

原创 bzoj-1467 clever Y / JDFZ-2940 EXBSGS

题意:求解方程A^x=B (mod C)在[0,C)中的最小解;C题解:此题C并不是质数,所以要用一种叫做EXBSGS的东西来解;考虑BSGS的适用条件,主要是在于A^k也就是A不一定对于C有逆元;那么约下去一些怎么样?令d=gcd(A,C),那么一定有 d|B或者x=0,B=1;x=0的情况比较特殊,直接特判即可;那么若没有d|B则无解;

2015-08-21 18:21:17 1147

原创 bzoj-3239 Discrete Logging

题意:给出方程A^x=B (mod C),C是质数;求x的最小非负整数解,无解输出-1;题解:这是一道BSGS的模板题;BSGS的实现方法其实很像分块,或者说是一种折半搜索的思想;根据欧拉定理,A^x的值会在[0,φ(C))中循环,也就是解不会大于C;首先将C分成√C块,求出A^0,A^1,...A^(√C-1)的值;注意:这里以及之后的√C都是C的

2015-08-20 20:30:53 853

原创 bzoj-2219 数论之神

题意:求方程X^A = B(mod 2*K + 1)X ∈[0, 2K] 内的解的个数;题解:一道数论的好题;涉及知识点大概有:Crt推论,BSGS,EXGCD,原根与指标;这道题的主要问题在于两点:第一点:取模数不是质数,无法利用通常的方式解方程;但是有中国剩余定理这个东西,定理的推论告诉我们:一个取模数互质的同余方程组(未必线性),组合起来之后,这个

2015-08-20 20:02:10 2252 1

原创 bzoj-3669 魔法森林

题意:给出一个n个点m条边的无向图,现在要从点1走到点n;每条边有两个参数a和b,经过这条边必须分别要带不小于a和b的两种权值;求携带的最小ab权值和,若无解输出-1;2题解:挺神的一道题。。考虑路径上最小的b的权值,只需要对b做一次最小生成树就可以了;但是a的权值怎么办呢?枚举!枚举每次经过的最大的a权值,然后求b的最小生成树,更新答案;但是为

2015-08-19 19:51:33 1037

原创 bzoj-2594 水管局长数据加强版

题意:给出一个n个点m条边的无向图,边上有权值;Q次询问,每次有两种操作:1.求x,y两点路径上的最大值的最小值;2.删除一条边;保证删除的边存在,保证图时刻连通,保证不会出现重边和自环;n≤100000,m≤1000000,Q≤100000;题解:这是一个动态图问题,但是由于询问操作的特殊性,我们也可以转化到树上做;仔细看看不就是带删边的货车运输吗!

2015-08-19 12:14:09 1001

空空如也

空空如也

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

TA关注的人

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