自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 收藏
  • 关注

原创 [BZOJ2303][Apio2011]方格染色(数学相关+加权并查集)

题目描述传送门题目大意:一个n*m的网格染成红蓝两种颜色,要求每个田字格有1个或3个红色的。现在有一些格子已经染了颜色,问有多少合法的染色方案。题解和这题gang了一天。。。这题的关键在于,将每一个限制点的关系,转化成和第一行第一列的关系 若把颜色标记为0/1,那么每个田字格的异或值为1。首先枚举(1,1)的取值。考虑一个限制点(x,y)(x>1,y>1),如果x,y都为偶数,那么(1,1)..(

2017-04-28 20:12:48 832

原创 [BZOJ2304][Apio2011]寻路(模拟+spfa)

题目描述传送门题目大意:在二维平面上有起点和终点,若干不相交、边界平行或竖直的矩形。不能进入矩形内部,只能在矩形的边界上改变方向,求起点到终点的最短距离或者No Path。题解这题和之前写过的冰原探险那道题挺像的,都是将这种图连边然后跑最短路 因为最优情况下只会在矩形的顶点处改变方向,所以可以先将坐标离散化,然后对于矩形的每一个顶点向第一个能到达的地方连边 这样的话除了矩形的顶点图上还会多出来一

2017-04-28 08:05:56 1198

原创 [BZOJ1178][Apio2009]CONVENTION会议中心(单调栈+dp+set)

题目描述传送门题目大意:有一些线段,两两之间不能相交,求:最短选出多少条线段;输出所有可选的方案中字典序最小的。题解这题并没有做出来。。。这道题的关键在于一个性质:令get_ans(l,r)表示在区间[l,r]内最多能选出多少条合法的线段,那么如果现在要判断线段[l0,r0]是否能加入,就是要判断是否get_ans(l,r)=get_ans(l,l0-1)+get_ans(r0+1,r)+1,其中l

2017-04-27 16:27:12 1110

原创 [BZOJ1177][Apio2009]Oil(暴力模拟)

题目描述传送门题目大意:给出一个n*m的矩阵,选出3个不相交的k*k的矩阵,使权值和最大。题解mx(i,j,1/2/3/4)表示左上/右上/左下/右下端点在(i,j)范围内的最大的矩形 ver/hor(i,j)表示横/竖在[i,j]范围内的最大的矩形(只有(1,i)(i,n)是所有的) 然后暴力枚举横竖切的划分、拆分成3份的划分即可 时间O(n2)O(n^2)代码#include<algori

2017-04-27 00:05:38 1020

原创 [BZOJ4606][Apio2008]DNA(dp)

题目描述传送门题目大意:给出一个长度为M,只含有ACGT和N的字符串,其中N可以是ACGT中的某一种字符。四个字符的大小顺序A<<C<<G<<T,求至少能划分成K段不下降子串的,字典序排名为R的字符串。题解首先倒着dp,f(i,j,k)表示第i个位置,填j这个字符,最少划分成k段不下降子串的方案数 做完这个dp了之后将f(i,j,k)累加到f(i,j,k+1),因为最少划分成k段的一定满足至少能划

2017-04-26 21:04:51 682

原创 [BZOJ1572][Usaco2009 Open]工作安排Job(贪心+堆)

题目描述传送门题目大意:每一个工作在di之前完成会有pi的收益,每一个时间只能完成一项工作,给出n个工作问最大收益。题解将di排序,然后维护一个pi的堆,每一次贪心地选择最大的代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>#include<queue>using

2017-04-26 18:59:07 958

原创 [BZOJ3456]城市规划(组合数学+容斥原理+NTT+多项式求逆)

题目描述传送门题目大意:求n个点的无重边无自环无向连通图数目。题解这题好强啊。。设f(i)f(i)表示与1连通的连通块大小为i(包括1)的连通图数目 如果要是将i个点之间的2i(i−1)22^{i(i-1)\over 2}条边随便连的话会有一些不合法的方案,即有一些点和i不连通,所以这里要容斥一下 f(i)=2i(i−1)2−∑j=0i−1Cj−1i−1⋅f(j)⋅2(i−j)(i−j−1)2f

2017-04-26 17:48:20 1026

原创 [BZOJ2259]异化多肽(生成函数+NTT+多项式求逆)

题目描述传送门题目大意:有M种氨基酸,每个的相对分子质量为Ci,问组合出的肽链水解之后有多少个相对分子质量和为N(排列)。题解选的氨基酸的数量不限。 一个比较显然的思路是对于每一种氨基酸搞一个生成函数出来,也就是x^(Ci的倍数)项的系数为1,然后把M个卷起来就行了 但是这样复杂度是O(MNlogN)O(MNlogN)的,并且没法加速换一种思路… 将所有的氨基酸搞成一个生成函数,x^k的系数为

2017-04-26 17:30:42 1041

原创 [UOJ#206][Apio2016]Gap(分块+数学相关)

题目描述传送门题解去年Apio回来写了这道题,今天看被ATP和hxy两位大爷怒切了,于是赶来补一发题解30pts注意到是“严格上升”的序列 每一次查询当前区间的mn,mx,然后左右指针往里缩,这样就能在N+12N+1\over 2的次数之内得到整个序列70pts首先查询一下整个定义域,找到整个数列的mn和mx 将[mn,mx]划分成N块,每块长度为mx−mnNmx-mn\over N 可以发现

2017-04-25 23:35:51 1014

原创 [BZOJ3771]Triple(生成函数+FFT+容斥原理)

题目描述传送门题目大意:给出n个互不相同的数,问从中选出1/2/3个数,每一个可以组合出的和有多少种方案。题解首先1个的直接统计 将所有的数搞成一个生成函数,做一遍卷积搞出来选2个的答案 但是2个的存在选了两个相同的,或者选了一个排列,直接除2即可 然后生成函数卷两次统计选3个的答案 这里需要容斥一下,(选3个的答案-强行选了2个一样的*3+强行选了3个一样的*2)/6才是不考虑顺序、选不重

2017-04-25 23:23:30 900

原创 [BZOJ3027][Ceoi2004]Sweet(生成函数)

题目描述传送门题目大意:有n种糖果,每种mi个,至少吃掉a个,至多b个,求吃掉糖果的方案数。题解组合问题,用到普通型生成函数 首先设f(i)f(i)表示至多吃掉i个的方案数,问题可以转化为求f(b)−f(a−1)f(b)-f(a-1),求f(i)f(i)实际上就是要求生成函数的xix^i项的系数 首先把生成函数的式子写出来,并化成闭形式 ∏in(1+x+x2+...+xmi)=∏in1−xmi

2017-04-25 19:54:31 1713

原创 [BZOJ3028]食物(生成函数)

题目描述传送门题目大意:给出了8种食物和其个数的限制,问拿n个食物有多少种方案。题解组合问题,需要用到普通型生成函数 先将所有的食物和限制写成生成函数,并利用等比数列的求和公式,忽略母函数的收敛问题求出母函数的闭形式 (1+x2+x4+...)(1+x)(1+x+x2)(x+x3+x5+...)(1+x4+x8+...)(1+x+x2+x3)(1+x)(1+x3+x6+...)(1+x^2+x^

2017-04-25 16:44:45 1560

原创 HDU&POJ训练记录4 生成函数

1、Ignatius and the Princess III传送门题意简述求将n拆分成若干整数的方案数。数据范围n≤120n\le 120题解首先构造用每一个数能构成的数的生成函数,然后相乘 (1+x1+x2+x3+...)(1+x2+x4+x6+...)(1+x3+x6+x9...)...(1+x^1+x^2+x^3+...)(1+x^2+x^4+x^6+...)(1+x^3+x^6+x^9.

2017-04-25 16:26:09 572

原创 [BZOJ1079][SCOI2008]着色方案(记搜)

题目描述传送门题目大意:有n个木块排成一行,从左到右依次编号为1~n。你有k种颜色的油漆,其中第i种颜色的油漆足够涂ci个木块。所有油漆刚好足够涂满所有木块,即c1+c2+…+ck=n。统计任意两个相邻木块颜色不同的着色方案数,对1000000007取模。题解f(a,b,c,d,e,g)表示剩余1,2,3,4,5个的颜色分别有a,b,c,d,e个,上一次是从剩余g个的颜色里选择了一个 的方案数,这样

2017-04-25 07:18:39 691

原创 [BZOJ4555][Tjoi2016&Heoi2016]求和(NTT)

题目描述传送门题目大意: 求f(n)=∑ni=0∑ij=0S(i,j)×2j×(j!)f(n)=\sum_{i=0}^n\sum_{j=0}^iS(i,j)\times 2^j\times (j!) 其中S(i,j)S(i,j)为第二类斯特林数,递推公式为: S(i,j)=j×S(i−1,j)+S(i−1,j−1),1≤j≤i−1S(i, j) = j\times S(i − 1, j) +

2017-04-24 21:23:00 1082

原创 [BZOJ3160]万径人踪灭(FFT+manacher)

题目描述传送门题目大意:在一个只含ab的字符串中选取一个子序列,使得:1、字符和下标都关于一个中心对称2、不能是连续的一段。求方案数。题解这题我的方法好蠢啊→_→ 首先容斥一下,答案=所有子序列的方案数-回文子串的数量 由于回文的连续子序列一定满足下标对称,所以可以直接用manacher求出回文子串的数量 然后就是统计所有子序列的方案数的问题了 将a和b分开考虑,f(i)和g(i)表示当前这

2017-04-24 14:37:35 783

原创 [BZOJ4259]残缺的字符串(FFT)

题目描述传送门题目大意:给出一个模板串和一个母串,问模板串在母串中出现过几次。带通配符。题解这道题和两个串那道题是差不多的。。 令F(i)表示将模板串的最后一个怼到母串的第i个是否能匹配,0表示能匹配,非0表示不能匹配。然后设两个函数f(i)=(t(i)=‘ * ’)?0:t(i),g(i)=(s(i)=‘ * ’)?0:s(i) 将模板串倒置了之后显然F(i)=∑j=0S−1f(i−j)g(j

2017-04-24 10:40:06 818

原创 [BZOJ4353]Play with tree(树链剖分+线段树)

题目描述传送门题目大意: 给出一棵包含N个节点的树,设每条边一开始的边权为0,现在有两种操作: 1)给出参数U,V,C,表示把U与V之间的路径上的边权变成C(保证C≥0) 2)给出参数U,V,C,表示把U与V之间的路径上的边权加上max(C,路径上边权最小值的相反数)。 你需要统计出每次一操作过后树中边权为0的边有多少条。题解线段树维护区间最小值,区间最小值的个数,区间中为0的数的个数

2017-04-24 07:56:35 592

原创 [BZOJ4551][Tjoi2016&Heoi2016]树(dfs序+线段树)

题目描述传送门题目大意:给定一颗有根树(根为1),有以下两种操作:1. 标记操作:对某个结点打上标记(在最开始,只有结点1有标记,其他结点均无标记,而且对于某个结点,可以打多次标记。)2. 询问操作:询问某个结点最近的一个打了标记的祖先(这个结点本身也算自己的祖先)。题解16省选竟然有无脑题。。 搞出dfs序了之后就是线段树区间修改单点查询最大值问题 学习了一下标记永久化代码#include<a

2017-04-23 20:50:51 555

原创 [BZOJ1046][HAOI2007]上升序列(dp+贪心)

题目描述传送门题目大意:对于一个给定的S={a1,a2,a3,…,an}S=\{a_1,a_2,a_3,…,a_n\},若有P={x1,x2,x3,…,xm}P=\{x_1,x_2,x_3,…,x_m\},满足(x1<x2<…<xm)(x_1 < x_2 < … < x_m)且(ax1<ax2<…<axm)( a_{x_1} < a_{x_ 2} < … < a_{x_m})。那么就称P为S的一

2017-04-23 20:30:48 586

原创 [BZOJ1028][JSOI2007]麻将(贪心)

题目描述传送门题目大意:牌的序号在1-n范围内,一组和了的牌由3m + 2张牌组成,其中两张组成对子(序数相同),其余3m张组成三张一组的m组,每组须为顺子(序数为连续的i,i+1,i+2)或刻子(序数相同)。现给出一组3m + 1张的牌,要求判断该组牌是否为听牌(即还差一张就可以和牌)。如果是的话,输出所有可能的等待牌。题解贪心。。 首先枚举一张等待牌,然后判断是否为和牌 判断的时候先枚举一个

2017-04-23 19:43:43 1051

原创 CF#410(Div.2) 解题报告

A题意简述给出一个字符串,问是否能改变且仅改变一个字符,使其变成回文串。数据范围|S|≤15|S|\le 15题解模拟。。 不过有一个需要注意的地方:因为不能不改或者改成一样的字符,所以长度为偶数且本身就是回文串的字符串是不合法的,但是长度为奇数的回文串是可以的,比如aaa改成aba代码#include<algorithm>#include<iostream>#include<cstring>

2017-04-23 18:47:28 723

原创 [BZOJ4832]抵制克苏恩(概率期望dp)

题目描述传送门题目大意:有1一个英雄和若干随从奴隶主,克苏恩会攻击 K 次,每次会从对方场上的英雄和随从中随机选择一个并对其产生 1 点伤害。现在对方有一名克苏恩,你有一些奴隶主作为随从,每名奴隶主的血量是给定的。 如果克苏恩攻击了你的一名奴隶主,那么这名奴隶主的血量会减少 1 点,当其血量小于等于 0 时会死亡,如果受到攻击后不死亡,并且你的随从数量没有达到 7 ,这名奴隶主会召唤一个拥有 3

2017-04-22 20:14:20 1655

原创 [BZOJ2584][Wc2012]memory(扫描线+splay+线段树)

题目描述传送门题目大意:在二维平面中有n个线段,线段互不相交,每一次一个操作将一个线段向四个方向之一移走(也就是平移到无穷远处),如果移动的过程中被其他线段所阻挡则移动是不合法的。求:最早的一次不合法移动;构造一种合法的移动序列将所有线段移走题解首先考虑第二问,实际上所有的线段都按照任意一个固定的方向移动就是可以直接都移走的,所以我们需要将线段编号。因为线段均不相交,所以对于任意两条线段的所有横坐标

2017-04-22 19:05:48 1270

原创 [BZOJ4561][JLoi2016]圆的异或并(扫描线+splay)

题目描述传送门题目大意:在平面直角坐标系中给定N个圆。已知这些圆两两没有交点,即两圆的关系只存在相离和包含。求这些圆的异或面积并。异或面积并为:当一片区域在奇数个圆内则计算其面积,当一片区域在偶数个圆内则不考虑。题解这题并没有做出来。。想了很多很多种不科学的方法。。 首先对于一个圆来说,可以将其分成上半个圆弧和下半个圆弧,并且在扫描整个圆的过程中(对于每一个横坐标),两个圆弧的相对位置不变。对于圆

2017-04-22 18:48:36 940

原创 [BZOJ1845][Cqoi2005] 三角形面积并(计算几何+扫描线)

题目描述传送门题目大意:给出n个三角形,求它们并的面积。题解求出所有直线的交点,然后按照这些交点的横坐标做扫描线 相邻两条扫描线中间的一定是若干个梯形,面积可以直接用(上底+下底)*高/2计算 但是需要注意的是三角形的一条边和y轴平行的情况,若这条边是三角形的起始边,当前扫描线和下一条扫描线之间的答案应该计算这条边;若这条边是三角形的终止边,当前扫描线和下一条扫描线之间的答案不应该计算这条边,特

2017-04-21 16:16:56 922

原创 [BZOJ4059][Cerc2012]Non-boring sequences(扫描线+线段树||暴力分治)

题目描述传送门题目大意:被称为是不无聊的,仅当它的每个连续子序列存在一个独一无二的数字,即每个子序列里至少存在一个数字只出现一次。给定一个整数序列,请你判断它是不是不无聊的。题解首先一个扫描线(树套树)的做法 对于每一个点i,假设前面和后面和它相同的数字的位置为pre和nxt,那么左端点在[pre+1,i],右端点在[i,nxt-1]中的子区间都是合法的。将[pre+1,i]看成横坐标,[i,nx

2017-04-21 11:28:46 824

原创 [BZOJ3958][WF2011]Mummy Madness(二分+扫描线+线段树)

题目描述传送门题目大意:一个正方形的网格,你与木乃伊轮流移动(你走出第一步)。轮到你时,你可以移动到相邻的8个格子之一,或者站着不动。轮到木乃伊时,每个木乃伊会移动到其相邻的格子之一,使得他与你的欧几里得距离尽量小(假设你与木乃伊都站在格子的中心位置)。允许多个木乃伊同时占据同一个格子。 在每个单位时间内,你先做出移动,然后木乃伊做出移动。如果你与任何一个木乃伊站在同一位置,你会被抓住。当然,你试

2017-04-20 11:27:29 841 1

原创 [BZOJ2161]布娃娃(扫描线+线段树)

题目描述传送门题目大意:第i个布娃娃有一个耐心值P[i]以及一个魅力值C[i],并且还有能够忍受的耐心值的上限R[i]以及下限L[i]。当一个布娃娃j满足L[j] ≤ P[i]并且P[i] ≤ R[j],那么布娃娃j喜欢布娃娃i。求第i个布娃娃想知道喜欢它的布娃娃中,魅力值第i大的布娃娃的魅力值是多少。题解将C离散,然后PLR实际上是一个东西可以看作一维 将区间拆成左端点和右端点,将所有的点排序,

2017-04-19 20:14:41 1712 2

原创 [BZOJ1818][Cqoi2010]内部白点(扫描线+线段树)

题目描述传送门题目大意:无限大正方形网格里有n个黑色的顶点,所有其他顶点都是白色的(网格的顶点即坐标为整数的点,又称整点)。每秒钟,所有内部白点同时变黑,直到不存在内部白点为止。统计最后网格中的黑点个数。 内部白点的定义:一个白色的整点P(x,y)是内部白点当且仅当P在水平线的左边和右边各至少有一个黑点(即存在x1 < x < x2使得(x1,y)和(x2,y)都是黑点),且在竖直线的上边和下边各至

2017-04-19 19:11:19 870

原创 [POJ1151]Atlantis(扫描线+线段树)

题目描述传送门题目大意:给出n个矩形求交的面积。题解扫面线的裸题 将纵坐标离散,并且将矩形分解成左右两个边界,按照横坐标排序 线段树的每一个节点[l,r]存储的是dis(l-1~r)这一段离散化之前的距离,维护一个标记表示区间被完全覆盖了几次,每一次修改update就行了 由于扫描线问题的特殊性,不存在在一个大区间里抠去一个小区间的问题,所以这个做法还是非常科学的代码#include<algo

2017-04-19 17:10:52 777

原创 [BZOJ1218][HNOI2003]激光炸弹(扫描线+线段树)

题目描述传送门题目大意:二维平面上有n个点每个点有一个权值,问用边长为R的正方形框住一些点获得的最大权值和是多少,正方形边界上的点不算在权值和之内。题解感觉和繁星满窗那道题差不多,将每一个点转化为一个正方形,意义为边长为R的正方形若左上角的点在这个范围内那么它能覆盖到这个点 不过这道题边界上的点都不算在内,所以相当于是要讲转化成的那个正方形缩小一圈,于是忘每两个点之间暴力插入一个点就行了代码#in

2017-04-19 15:45:52 1144

原创 [BZOJ1084][SCOI2005]最大子矩阵(dp)

题目描述传送门题目大意:有一个n*m的矩阵,请你选出其中k个子矩阵,使得这个k个子矩阵分值之和最大。注意:选出的k个子矩阵不能相互重叠。(1<=m<=2)题解我竟然把m分开写了 m=1随便写 m=2预处理up(i,j),down(i,j),all(i,j)表示在区间[i,j]中的第一行、第二行、两行的最长连续子序列和,f(k,i,j,0/1/2)表示选了k个,在区间[i,j]中,只选第一行/只选

2017-04-19 07:38:10 548

原创 [BZOJ2539][Ctsc2000]丘比特的烦恼(KM+计算几何)

题目描述传送门题目大意:这题说了题目大意就没意思了。题解KM裸题(笑 http://www.lydsy.com/JudgeOnline/wttl/thread.php?tid=4169代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>#include<map>us

2017-04-18 20:42:15 957

原创 [BZOJ2788][Poi2012]Festival(差分约束+floyed+tarjan)

题目描述传送门题目大意:有n个正整数X1,X2,…,Xn,再给出m1+m2个限制条件,限制分为两类: 1. 给出a,b (1<=a,b<=n),要求满足Xa + 1 = Xb 2. 给出c,d (1<=c,d<=n),要求满足Xc <= Xd 在满足所有限制的条件下,求集合{Xi}大小的最大值。题解首先差分约束建图+深搜spfa判断负环->无解 tarjan缩点,不同强连通分量里的点不影响(

2017-04-18 19:10:28 917

原创 [BZOJ1077][SCOI2008]天平(差分约束)

题目描述传送门题目大意:有n个砝码,重量只可能为1g,2g或3g,给出一些砝码之间的重量关系。现在将a和b两个砝码放在天平的左边,现在要选出另外两个砝码放在方程的右边,问有多少种方法使得天平左边重、一样重、右边重。(只有结果保证惟一的选法才统计在内)题解对于两个砝码x,y,若只考虑+和=的情况,那么可以列出不等式 d(x)-d(y)>=1;d(x)>=d(y),d(y)>=d(x) 对于最小值设

2017-04-18 16:35:22 863

原创 [BZOJ3436]小K的农场(差分约束)

题目描述传送门题目大意:n个点每一个点有一个权,有m个限制:1 a b cd(a)-d(b)>=c; 2 a b cd(a)-d(b)<=c;3 a bd(a)=d(b),判断是否有可行解题解对于三个限制移项啥的可以化出来一些不等式:d(b)<=d(a)-c;d(a)<=d(b)+c;d(b)<=d(a),d(a)<=d(b) 对于一个形如d(x)<=d(y)+z的等式,连边y->x,z构造出最短

2017-04-18 10:31:05 555

原创 [BZOJ1731][Usaco2005 dec]Layout 排队布局(差分约束)

题目描述传送门题目大意:牛编号为1~n在数轴上排成一排,一个位置可能有多个牛。有ml+md个限制条件,有一些牛希望两者之间的距离不超过一个给定的数L,有一些牛希望两者之间的距离不低于一个给定的数D,问第1个牛和第n个牛最大可能的距离是多少,无解-1,无限远-2题解一个典型的差分约束系统 对于一对点x,y(x>y),可能列出的不等式:d(x)-d(y)<=L,d(x)-d(y)>=D,移项得出d(x

2017-04-18 10:06:39 872

原创 [BZOJ2534]Uva10829L-gap字符串(后缀数组+st表)

题目描述传送门题目大意:求字符串s中有多少子串,满足形如ABA形式,其中A是非空字符串,且B的长度正好为L题解这道题和股市的预测实际上时一样的…不过现在忘得快干净了… B的长度已知是L,首先枚举A的长度i 然后将整个字符串按照长度为i分块,枚举每一个块的端点,设为l,令r=l+i+m,然后对l和r求lcp和lcs,可以发现长度为i+L+i的子串在长度为lcp+lcs的范围内滑动都是合法的,所以对

2017-04-18 08:59:10 1056

原创 [COGS826][Tyvj Feb11] GF打dota(k短路)

题目描述传送门题目大意:给出一个n个点m条边的无向图,当p=0时求最短路,当p=1时求严格次短路。题解k短路裸题代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>#include<queue>using namespace std;#define N 100005

2017-04-18 08:02:19 698

空空如也

空空如也

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

TA关注的人

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