自定义博客皮肤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(笑)

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

原创 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 907

原创 bzoj-3261 最大异或和

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

2015-07-25 16:31:46 2254

原创 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 1290

原创 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 1101

原创 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

原创 vijos-1382 寻找主人

题意:给出两个相同长度的数字串;求两个串是否本质相同,相同则输出最小表示;长度L似乎给的不对,大概是2000000左右吧;题解:最小表示法裸题,证明正确性啥的详见论文吧;这东西大体的思路就是两个指针扫;相同则累加k,不同就向后跳k+1个;因为前面那段相同所以就可以由另一个指针去扫,来节约时间;O(n)这个很显然咯,就一个for循环(笑);并且每个数都

2015-07-20 15:28:53 816 1

原创 bzoj-4196 NOI-2015 软件包管理器

题意:扔个现在可以交题的链接:http://www.luogu.org/problem/show?pid=2146就是给出一个n个点的有根树,和m次操作;初始时树上所有结点权值均为0;1操作将根到x结点的所有结点权值置为1,并输出这次修改了多少个元素;2操作将x结点的子树中所有结点权值置为0,并输出这次修改了多少个元素;n,m题解:1操作显然是树链剖分的形式

2015-07-19 20:00:14 2788 2

原创 bzoj-3529 数表

题意:令x的约数之和为g[x];多组数据,输入n,m,a;求∑g[gcd(i,j)],g[gcd(i,j)]题解:首先对于取值在非负整数集合的数论函数,有以下结论成立;此定理即莫比乌斯反演定理;有了这个结论,本题中我们定义两个函数;f [n]为gcd(i,j)==n的(i,j)对数;F[n]为n|gcd(i,j)的(i,j)对数;

2015-07-18 22:39:12 869

原创 bzoj-2115 Xor

题意:给出一个有权无向图;求1到n的路径上的最大异或和;n题解:由于异或的性质,我们可以知道对于任意一条连通图上的路径的异或和;都可以由另外一条路径异或若干个环的异或和得来;因为它们起点和终点都分别是1和n,那么这两个路本身就构成了一个可能经过相同边的环;而更加显然的是,一个这样的非简单环是可以由若干个简单环组成的;那么异或了这些简单环之后得到了这个非简

2015-07-18 09:01:26 833

原创 bzoj-2243 染色

题意:给出一个无根树和树上每个结点的初始颜色;然后进行m次操作;C:将x到y的路径所有点染成某个颜色;Q:查询x到y的路径上经过多少个颜色块;n,m题解:挺裸的树链剖分,修改的时候要用延迟标记维护;但是注意颜色可能为0,所以我单独开了一个bool的数组维护是否有标记;在合并两个区间的时候要判断两个端点的颜色是否相同;如果相同要将端点合并,也就是答案-

2015-07-12 13:54:43 929

原创 bzoj-1492 货币兑换Cash (2)——CDQ分治

题意:略见上一篇题解:方程还是那个方程f[i]=A[i] * X[j] + B[i] * Y[j];化简为Y[i]=(-A[i]/B[i]) * X[i] + f[i]/B[i]这一坨;既然这个斜率不单调,那排个序让它单调不就行了;排序之后的问题就是,在i前面更新i的点不一定可以更新i,而应该用来更新i的点说不定还在i的后面;那么这时候就是用CDQ分治解决;

2015-07-11 10:10:33 1313 2

原创 bzoj-1492 货币兑换Cash (1)——平衡树维护凸包

题意:有n天和m的初始金钱,用来购买AB两种纪念券;n天里每天都有AB的价格,每天可以进行这样的操作;1.卖出手中x%的纪念券(AB分别都卖出x%);2.用x的金钱买入纪念券,买入AB券的比例在第i天为Rate i;求n天过去之后所获得的最大收益;金钱和券数均为实数;n题解:首先,虽然题中的买入和卖出都是任意数量的,但是同样的纪念券,分几天卖出得到的收

2015-07-11 09:37:45 1985

原创 bzoj-2957 楼房重建

题意:数轴上有n个楼,分别在1~n这些点上;m次查询,每次改变一个楼的高度,问从(0,0)这个点可以看到多少楼;题解:对于一个楼来说要想看到这个楼,那么前面的楼的斜率一定比这个楼小;那么考虑分块的话,就将块中楼的斜率都求出来;然后维护出一个从块首元素开始的递增序列;即包括块首元素的下标最小的序列;扫一遍所有块,取该块之前的所有楼的最大斜率为m

2015-07-08 20:12:19 860

原创 bzoj-3172 单词

题意:给出n个单词,求在这n个单词组成的文章中每个单词出现了多少次;n题解:一开始考虑就是先建个自动机,然后对每个串匹配一次;经过的所有节点 和后缀的cnt全部+1;然后查询每个单词的危险结点的cnt值就是答案;复杂度O(n*len+k*n*len)基本也是线性的,似乎可过;结果我T了;然后查了一下题解,有种更好的思路,不需要用串去在自动机上匹配;就

2015-07-07 21:22:29 872

原创 vijos-1951 玄武密码

题意:给出一个匹配串和n个单词;求每个单词在匹配串中出现的的最大前缀长度;匹配串长度题解:当年啥也不会天真的一发KMP骗掉了50分,然后看题解说是自动机感觉好神啊;现在回来复习自动机就把这道题切了试试;基本的建立自动机什么的不说了;主要就是答案的处理上我是在trie树上记录一个is的数组;然后每个和匹配串匹配到了的结点全都标记上;(当然这里要

2015-07-07 11:35:14 2694

原创 poj-3463 Sightseeing

题意:给出一个n点m边的有向图,求s到t的最短路和长度为最短路+1的路的种类数;n题解:对于长度仅为最短路+1的路,处理时我们可以放宽一些限制;只需求最短路和次短路,然后判断一下次短路是否满足情况就好了;那么,求最短路+次短路的算法就用dij来处理;令:dis[x][k]表示x点的最短路次短路长度;cnt[x][k]表示x点的最短路次短路分别的种

2015-07-06 21:02:28 997

原创 区间递推 回文串

问题描述:回文串就是从左看和从右看长的一样的字符串!!!例如S, AXA 和MAKAM都是回文串,AYAZ很显然就不是了;现在对给定一个由大写字母组成字符串,可以删除任意位置任意个数(可以是0)个字符,使得剩下的子串是回文串,问最多有多少种这种子串?第1行,1个整数N,表示有多少组测试数据(接下来N行,每行一个长度不超过60的字符串;Sample Input:3

2015-07-05 10:37:11 898

原创 tyvj-1460 旅行

题目描述:A国有n座城市,每座城市都十分美,这使得A国的民众们非常喜欢旅行。然而,A国的交通十分落后,这里只有m条双向的道路,并且这些道路都十分崎岖,有的甚至还是山路,只能靠步行。通过每条道路的长度、泥泞程度等因素,我们给每条道路评估一个“崎岖度”,表示通过这条道路的不舒适程度。从X城市经过若干条道路到达Y城市,我们称这次旅行的“代价”为所经过道路“崎岖度”的最大值。当然,如果从X城市到Y

2015-07-04 15:09:52 1138

空空如也

空空如也

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

TA关注的人

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