自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MashiroSky的博客

人生若只如初见

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

原创 【bzoj4241】 历史研究

http://www.lydsy.com/JudgeOnline/problem.php?id=4241 (题目链接)看到题目就联想到了【bzoj2809】 Apio2012—dispatching。想了想权值分块+莫队,发现不好维护块内最值,又看了看80s的时间,于是怒水一发线段树+莫队,结果先WA后TLE,不断TLE,无论怎么改常数都不行,难道nlogn*sqrt(n)就是过不了吗!!不爽,蒯个

2016-07-31 21:22:37 407

原创 【bzoj2809】 Apio2012—dispatching

http://www.lydsy.com/JudgeOnline/problem.php?id=2809 (题目链接)题意:给出一棵树,每个节点有两个权值c,L,分别代表话费和领导力,在树中找到一个点i,并且找到这个点子树中的一些点组成一个集合,使得集合中的所有点的c之和不超过M,且L[i]*集合中元素个数和最大。solution   听说这道题正解是可并堆,可是并不会做,我们考虑换一种方法。正好

2016-07-31 15:05:17 377

原创 【bzoj2120】 数颜色

http://www.lydsy.com/JudgeOnline/problem.php?id=2120 (题目链接)题意:给出一个n个数,m个询问,每次询问一个区间或修改一个数,求区间内不同的数有多少个。solution   分块。每次修改就暴力nlogn重新构块。   对于分块的话,代码很好理解。代码:// bzoj2120#include<algorithm>#include<iost

2016-07-29 16:10:39 354

原创 【poj1019】 Number Sequence

http://poj.org/problem?id=1019 (题目链接)题意:给出一个数:1 12 123 1234 12345 123456 1234567 12345678 123456789 12345678910(当然中间是没有空格的)求它从左往右第n位上是多少。solution   水题一道。我们可以发现,这个数可以分成若干串数,记为i,那么每串数i就是从1~i。我们可以用数组x[i]

2016-07-28 21:41:35 407

转载 【bzoj2038】 小Z的袜子(hose)

http://www.lydsy.com/JudgeOnline/problem.php?id=2038 (题目链接)转自:http://blog.csdn.net/bossup/article/details/39236275题意:给出n个数以及m个区间,求在每个区间内选出两个数,有多大的概率使选出的两个数相等。solution   对于L,R的询问。设其中颜色为x,y,z….的袜子的个数为a,

2016-07-28 17:14:16 365

转载 【poj3241】 Object Clustering

http://poj.org/problem?id=3241 (题目链接)MD被坑了,看到博客里面说莫队要写曼哈顿最小生成树,我就写了一个下午。。结果根本没什么关系。不过还是把博客写了吧。转自:http://blog.csdn.net/huzecong/article/details/8576908题意:求曼哈顿距离最小生成树上第k大(第n-k小)的边solution   曼哈顿距离最小生成树问题

2016-07-27 22:36:03 931

原创 【poj1014】 Dividing

http://poj.org/problem?id=1014 (题目链接)题意:给出有分别价值为1,2,3,4,5,6的6种物品,输入6个数字,表示相应价值的物品的数量,问一下能不能将物品分成两份,是两份的总价值相等。solution   多年以前写的程序了,现在才写博客= =。这道题一看就是多重背包,所以我们用二进制把它拆分成01背包就很好做了,不知道的话就看《背包九讲》吧。。   首先我们把

2016-07-25 17:21:38 315

原创 【bzoj3572】 世界树

http://www.lydsy.com/JudgeOnline/problem.php?id=3572 (题目链接)题意:给出一棵n个节点的树,q次询问,每次给出k个关键点。规定对于树上每个节点归属于离它最近的关键点管辖,若与若干关键点距离相同取编号小的关键点,求每个关键点管辖多少个点(可以管辖自己)。solution   先构造虚树,具体过程见 http://blog.csdn.net/Mas

2016-07-25 11:24:14 357

原创 【bzoj3611】 大工程

http://www.lydsy.com/JudgeOnline/problem.php?id=3611 (题目链接)题意:给出一个n个节点的树,每条边边权为1,给出q个询问,每次询问K个关键点,求出这k个点之间的两两距离和、最小距离和最大距离。solution 构造虚树,见 http://blog.csdn.net/MashiroSky/article/details/51971718 之后在

2016-07-23 15:50:12 291

原创 【bzoj3991】 寻宝游戏

http://www.lydsy.com/JudgeOnline/problem.php?id=3991 (题目链接)题意:给出一个n个节点的带权树,m次操作每次修改一个关键点,求每次操作后,从其中任意一个关键点出发走遍所有关键点再走回起点所需的最小花费。solution 假如没有修改操作的话,就像一个简单的在虚树上树形DP,方程如下: f[i]=sigma{f[son]}+sigma{e.w

2016-07-21 16:00:24 711

原创 【bzoj2286】 消耗战

http://www.lydsy.com/JudgeOnline/problem.php?id=2286 (题目链接)一个小小的细节,WA了一天,欲哭无泪了。。题意:给出一个n个节点的带权树,总共m次询问,每次询问给出K个节点标号,求出切断这些节点与1号节点的路径的最少花费。solution 构造虚数+树形dp。 首先,有关虚树的题有一个特征,就是题目会给出sigema(k[i])的范围,保证不

2016-07-20 20:31:36 828

原创 【bzoj2152】 聪聪可可

http://www.lydsy.com/JudgeOnline/problem.php?id=2152 (题目链接)题意:给出一棵n个节点的带权树,求有多少点对的距离是3的倍数。solution 点分治。对于每个重心统计出每棵子树到重心的距离%3=0/1/2的点的数量即可。求出ans后与n²进行下gcd出解。代码:// bzoj2152#include<algorithm>#include<

2016-07-18 16:27:56 480

原创 【poj1741】 Tree

http://poj.org/problem?id=1741 (题目链接)树上分治第一题。题意:给出一个n个节点的带权树,求树上距离不超过K的所有点对的个数。solution 点分治裸题。所谓的点分治,就是对于一条路径,只有经过该点和不经过改点两种情况,所以我们可以通过找到树的重心,删去这个点,使树分成几棵小树,再递归处理。不经过的情况很好处理,直接递归到子树就可以了,关键是对于经过的情况。 对

2016-07-18 15:32:10 287

原创 【poj1655】Balancing Act

http://poj.org/problem?id=1655 (题目链接)题意:给出一棵树,求树上一点使得使得删除一点后该树的最大子树最小。solution 树的重心裸题。 随意取一点作为根节点,dfs维护当前节点的最大子树大小以及它的父亲子树大小,更新答案。代码:// poj1655#include<algorithm>#include<iostream>#include<cstdlib

2016-07-16 20:39:58 321

原创 【bzoj2456】 mode

http://www.lydsy.com/JudgeOnline/problem.php?id=2456 (题目链接)只看了一眼,直觉便告诉我这是水题。于是跟某码农打赌说10分钟做出来叫爸爸,结果输了。。。题意:给你一个n个数的数列,其中某个数出现了超过n div 2次即众数,请你找出那个数。空间限制1mb。solution 此题乃鬼题一道,鉴定完毕。 题目要求求众数,而众数x在整个数列中出现了

2016-07-16 20:08:37 445

原创 【poj3141】 Distant Galaxy

http://poj.org/problem?id=3141 (题目链接)题意:给出平面上n个点,找出一个矩形,使边界上包含尽量多的点。solution 不难发现,除非所有输入点都在同一行或同一列上,最优矩形的4条边上都至少有一个点。这样的话,我们可以枚举四条边穿过的点,然后统计点数。 考虑部分枚举,只枚举矩形上下界,用其它方法确定左右界。 设一条竖线i,用left[i]表示竖线左边位于上下界

2016-07-15 20:14:37 508

原创 【poj2741】 Colored Cubes

http://poj.org/problem?id=2741 (题目链接)这也是道神题。。题意:给出n个骰子,每一面都有一种颜色,问最少更改多少个面的颜色可以使所有骰子通过旋转后完全相同。solution 设6个面的编号为1~6,从中选一个作为顶面,再选一个作为正面,那么其它面都可以确定(因为有对面的面也确定了),因此每个骰子有6*4=24种姿态,每种姿态对应一个全排列P,P[i]表示i所在的位置

2016-07-15 19:25:36 563

原创 【poj1186】 方程的解数

http://poj.org/problem?id=1186 (题目链接)题意:已知一个n元高次方程: 其中:x1, x2,…,xn是未知数,k1,k2,…,kn是系数,p1,p2,…pn是指数。且方程中的所有数均为整数。 假设未知数1 <= xi <= M, i=1,,,n,求这个方程的整数解的个数。 solution meet in the middle。移项,分两部分搜索,has

2016-07-15 17:19:42 649

原创 【poj1011】 Sticks

http://poj.org/problem?id=1011 (题目链接)题意:给出一大堆小棍子的长度,需要把他们拼成几根长度相等的大棍子,求大棍子的最短长度。solution 经典搜索题,剪枝剪到手软。代码:// poj1011#include<algorithm>#include<iostream>#include<cstdlib>#include<cstring>#include<

2016-07-15 16:50:47 567

原创 【poj3122】 Pie

http://poj.org/problem?id=3122 (题目链接)题意:给出N个pie的半径和F个friend,每个friend得到的pie必须一样,求每个人能得到的pie的最大大小。solution 经典二分答案。代码:// poj3122#include<algorithm>#include<iostream>#include<cstdlib>#include<cstring>

2016-07-15 16:36:41 529

原创 【bzoj2654】 tree

http://www.lydsy.com/JudgeOnline/problem.php?id=2654 (题目链接)今天考试题,以为是神题不可做,直接放弃了。。没想到这么水。。题意:给你一个无向带权连通图,每条边是黑色或白色。让你求一棵最小权的恰好有need条白色边的生成树。题目保证有解。solution 我们考虑把白边的权值增加,因为无论白边的权值增加多少,最小生成树中的白边不会改变。所以我们

2016-07-15 16:26:46 577

原创 【poj3237】 Tree

[http://poj.org/problem?id=3237] (题目链接)树链剖分处女题(当然也是模板题),然而这150+行的程序我调了一天,历经艰辛,终于ac。。题意:给出一个n个节点的带权树,要求维护操作:1.求出树上两点之间的边权的最大值;2.更改一条边上的权值;3.将树上两点之间的所有边权取各自的相反数。solution 神奇的树链剖分+线段树维护查询和修改操作。 树链剖分时,我们将

2016-07-14 21:59:47 420

原创 【poj3261】 Milk Patterns

[http://poj.org/problem?id=3261] (题目链接)后缀数组论文题,感觉分组思想可能会有大用。题意:给出n个数和k,求在给出的数中,最长的出现至少k次的可重叠子串。solution 果断后缀数组,求出sa[],height[],rank[]。二分答案,每次判断长度mid是否符合出现k次的要求。那么现在的问题是如何判断是否有一个长度为mid的子串在原串中出现了至少k次。

2016-07-13 22:33:42 258

原创 【poj3764】 The xor-longest Path

[http://poj.org/problem?id=3764] (题目链接)今天的考试题,看到异或就有点虚,根本没往正解上想。。题意:给出一棵带权树,请找出树上的一条路径,使其边上权值的异或和最大。solution 首先我们考虑从根向下dfs,记录下每个点i到根上权值的异或和val[i]。根据异或和的性质:x^y^y=x。所以我们可以由val[]数组两两组合得出树上任意两点之间路

2016-07-13 19:47:03 311

原创 【poj2774】 Long Long Message

poj2774[http://poj.org/problem?id=2774] (题目链接)第一次用后缀数组,感觉有点神。。。才发现原来sa[0]是没用的。。solution 将两个字符串合并为一个,并用分隔符隔开。之后跑后缀数组,求出height[],for一遍,找到在分隔符两侧的height值最大的便是答案。代码// poj2774#include<algorithm>#i

2016-07-12 15:57:29 342

空空如也

空空如也

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

TA关注的人

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