自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

女装的你,如此好看!

咸鱼翻身,终成大佬。

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

原创 [BZOJ2111][ZJOI2010]排列计数(DP+组合数)

题意:求11到nn的所有排列中,满足小根堆性质的排列的个数。 这里建立DPDP模型:f[i]f[i]表示ii个不同的数的所有排列中满足小根堆性质的排列的个数。 对于转移,首先计算出ii个节点的完全二叉树中,根节点的左子树包含的节点数ll,右子树包含的节点数rr。 首先,根节点的值必须为最小值。再考虑剩下的i−1i-1个节点。很容易想到,可以在这i−1i-1个节点中选出ll个节点作为左子树,剩下

2017-08-29 14:15:33 336

原创 [BZOJ2431][HAOI2009]逆序对数列(DP+前缀和)

在这里可以发现,逆序对的个数只与每个数的相对大小有关,而与真实数值无关。根据这一点,建立DPDP模型: f[i][j]f[i][j]表示11到ii的所有排列中,逆序对数量为jj的排列个数。边界为f[1][0]=1f[1][0]=1。 对于转移,可以想到枚举第ii个数的排名进行计算, 即f[i][j]=∑jk=j−i+1f[i−1][k]f[i][j]=\sum_{k=j-i+1}^jf[i-1

2017-08-28 20:52:28 398

原创 [BZOJ2733][HNOI2012]永无乡(平衡树+启发式合并)

首先,构建出nn棵平衡树,每棵平衡树只有一个节点,第ii棵平衡树只包含第ii座岛的相关信息。然后使用并查集维护岛之间的连通关系,对于加边操作,如果并查集中点xx和yy不连通,那么就在并查集中连接点xx和yy,并把xx和yy所在的平衡树合并。否则不做任何操作。 而对于合并两棵平衡树,可以使用启发式合并,即把点数较少的平衡树中的点暴力合并到点数较多的平衡树上。实际上,这样操作,每个点被合并的次数不超过

2017-08-28 19:58:15 359

原创 [BZOJ1898][ZJOI2005]沼泽鳄鱼(矩阵乘法)

先把无向边拆成两条有向边。 如果不考虑食人鱼,那么此题就是一个简单的矩乘问题。建立矩阵PP,如果存在边i−>ji->j则P[i][j]=1P[i][j]=1,否则P[i][j]=0P[i][j]=0。 最后PK[Start][End]P^K[Start][End]就是最终结果。 考虑食人鱼。注意到题目里食人鱼的运动周期长度只有22,33,44,可以得出,第tt个时间单位时是否可以在这个点上(没

2017-08-27 18:01:10 391

原创 [BZOJ2656][ZJOI2012]数列(递推+高精)

首先考虑一个问题,设u∗A(i)+v∗A(i+1)=x∗A(i/2)+y∗A(i/2+1)u*A(i)+v*A(i+1)=x*A(i/2)+y*A(i/2+1),i,u,vi,u,v为已知量,x,yx,y为未知量,求在ii分别为奇数和偶数时x,yx,y的一组正整数解。可以想到: ii为偶数时,i+1i+1为奇数。此时u∗A(i)+v∗A(i+1)=u∗A(i/2)+v∗(A(i/2)+A(i/2+

2017-08-27 08:07:36 425

原创 [BZOJ1076][SCOI2008]奖励关(状压DP)

很明显是一道状压。DPDP模型很容易想到,用f[i][S]f[i][S]表示到了第ii轮,宝物是否取过的状态为SS的最大期望得分。 但这个模型存在问题:可能在第ii轮无法到达状态SS。 所以,这里把定义换一下,f[i][S]f[i][S]表示在第11轮到第i−1i-1轮内宝物是否取过的状态为SS,第ii轮到第KK轮的最大期望得分,那么这样就可以通过逆推进行转移了。 转移方程为: 对于任意一个

2017-08-27 07:58:54 221

原创 [BZOJ1927][SDOI2010]星际竞速(费用流)

回顾最小路径覆盖问题的解法: 先将nn个点拆点为ii和i′i'。然后由源点向所有的ii点连一条容量为11的边,再由所有的i′i'点向汇点连一条容量为11的边,对于每条边u−>vu->v,由uu向v′v'连一条容量为11的边,跑一遍最大流后,nn减去最大流就是最小路径覆盖。 为什么可以这样做呢?可以发现,上面其实是一个二分图,SS到TT的最大流实际上就是最大匹配数。如果这里把单个点也看成一条路径的

2017-08-26 22:51:10 269

原创 [BZOJ2423][HAOI2010]最长公共子序列(DP)

题意:给定两个字符串s1s_1,s2s_2,求这两个字符串的最长公共子序列长度和最长公共子序列的个数。 设f[i][j]f[i][j]为字符串s1s_1到了第ii个字符,s2s_2到了第jj个字符的最长公共子序列长度,g[i][j]g[i][j]为字符串s1s_1到了第ii个字符,s2s_2到了第jj个字符的最长公共子序列个数。 第一问就是裸的最长公共子序列问题,注意滚动数组即可。 第二问,转

2017-08-26 16:21:14 478

原创 [BZOJ1226][SDOI2009]学校食堂(状压DP)

状压DPDP。 设f[i][j][k]f[i][j][k]表示第11个人到第i−1i-1个人已经打完饭,第ii个人以及后面77个人是否打饭的状态为jj,当前最后一个打饭的人的编号为i+ki+k(kk的范围为−8-8到77,所以用数组存时要加上88),那么转移为: 如果jj&11为真,就表示第ii个人已经打完饭,ii之后的77个人中,还没打饭的人就再也不会插入到第ii个人前面了。所以这时候可以转移

2017-08-26 11:23:46 352

原创 [BZOJ1010][HNOI2008]玩具装箱(决策单调性/斜率优化DP)

容易推出,如果玩具长度的前缀和为sum[]sum[],那么DPDP方程为: f[i]=mini−1j=0{f[j]+(i−j−1−L+sum[i]−sum[j])2}f[i]=\min_{j=0}^{i-1}\{f[j]+(i-j-1-L+sum[i]-sum[j])^2\}。解法一:决策单调性。可以看出原方程是一个f[i]=mini−1j=0{f[j]+w(i,j)}f[i]=\min_{j=0

2017-08-26 11:06:59 370

原创 [BZOJ1856][SCOI2010]字符串(组合数)

可以考虑把11的个数与00的个数的和看成xx坐标,11的个数与00的个数的差看成yy坐标,那么如下图: 向右上走(xx坐标加11,yy坐标加11)就表示这个字符选择11。 向右下走(xx坐标加11,yy坐标减11)就表示这个字符选择00。 这样子,如果不考虑限制条件,就表示从(0,0)(0,0)走n+mn+m步到达(n+m,n−m)(n+m,n-m),这相当于从n+mn+m步中选出mm步向

2017-08-26 10:48:40 295

原创 [BZOJ4818][SDOI2017]序列计数(DP+容斥原理+矩乘)

1、大意做法首先发现,DPDP的统计方案数中,「至少一个质数」的条件不容易直接DPDP,但是「不含任意一个质数」的条件容易DPDP。所以这里使用容斥原理,用总方案数减去不含任意一个质数的方案数。2、预处理cnt0,cnt1,cnt2,...cntp−1cnt_0,cnt_1,cnt_2,...cnt_{p-1}分别为1...m1...m的数中模pp为0,1,2,...p−10,1,2,...p-1的

2017-08-26 09:42:57 989

原创 [BZOJ4817][SDOI2017]树点涂色(DFS序+LCA+树剖+LCT)

我一眼以为是裸树剖,但是看完问题就知道不是那么容易了。因为只用树剖不能很好地维护操作33的结果。 首先,按照原树,构建出一个全部都是虚边的LCTLCT,并用树剖维护每个点到根节点的路径权值valval。可以发现,每个点到根节点的路径权值就是每个点到根节点的路径上实链的个数。 我们发现,操作11实际上就是LCTLCT中AccessAccess的操作。在AccessAccess的操作中,如果一条实边

2017-08-26 08:51:19 386

原创 [BZOJ2816][ZJOI2012]网络(LCT)

如果对LCT(Link-Cut Tree)不了解,请参考链接http://www.cnblogs.com/BLADEVIL/p/3510997.html。 对于每一种颜色,维护一个LCTLCT(因为没有同色的环,且C<=10C<=10)。每种颜色对应的LCTLCT中包含所有的点,但只包含对应颜色的边。 对于操作00,就是修改点权,也就是SplaySplay上的操作,就不多说了(要注意一点,每一种

2017-08-26 08:10:27 345

原创 [BZOJ1924][SDOI2010]所驼门王的宝藏(Tarjan+拓扑排序)

题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1924 容易想到,如果在第ii个藏宝宫室可以传送到第jj个藏宝宫室,就连一条i−>ji->j的有向边,TarjanTarjan强连通分量缩点之后,在新图上找出一条路径,使得这条路径上的所有点对应的强连通分量大小之和最大,这个可以按照拓扑序进行递推来实现。 但是,在建图上存在一个问题,从横天门或

2017-08-25 23:39:09 341

原创 [BZOJ4945][NOI2017]游戏(2-SAT)

[NOI2017][BZOJ4945]游戏(2-SAT)题目见http://www.lydsy.com/JudgeOnline/upload/Noi2017D2.pdf 可以发现,除了x地图之外,其余的地图只适合两种赛车。而在这里,我们先假设所有的地图都适合且只适合两种赛车,这样就是2−SAT2-SAT裸题了。 对于每场游戏用两个点ii和i′i',分别表示第ii场游戏使用该地图适合的第一种赛车和

2017-08-25 23:31:33 1602

原创 [BZOJ4326][NOIP2015]运输计划(二分答案+树上差分)

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2017-08-25 23:14:38 710 4

空空如也

空空如也

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

TA关注的人

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