自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 蓝书(算法竞赛进阶指南)刷题记录——POJ2947 Widget Factory(带模高斯消元)

题目:POJ2947.题目大意:有nnn种部件,每种部件生产一个的时间为333~999天.现在给定mmm条记录,每个记录为某种kik_iki​个部件的生产时间为星期几sis_isi​到星期几tit_iti​,以及这kik_iki​个部件的类型,问每种部件单个生产所需的时间.若无解输出"Inconsistent data.",有多组解输出"Multiple s

2019-02-28 18:07:16 175

原创 蓝书(算法竞赛进阶指南)刷题记录——POJ3233 Matrix Power Series(分治+矩阵乘法)

题目:POJ3233.题目大意:给定nnn和一个矩阵AAA,求∑i=1nAi\sum_{i=1}^{n}A^i∑i=1n​Ai.一开始想到的是直接用等比数列求和公式,一看好像不会矩阵求逆…

2019-02-26 14:24:35 249

原创 【NOI2014】BZOJ3670动物园题解(KMP算法)

题目:BZOJ3670.题目大意:给定一个字符串,求这个字符串每一个前缀S[1..i]S[1..i]S[1..i]的既是前缀又是后缀且这两个前后缀不能重叠的子串的数量num[i]num[i]num[i],并输出所有(num[i]+1)(num[i]+1)(num[i]+1)的乘积.这道题是道语文题,题面又臭又长而且num[i]num[i]num[i]的定义是数量不是最长长度,在题面理解上直接是...

2019-02-23 18:14:29 309

原创 51nod1277字符串中的最大值题解(KMP算法)

题目:51nod1277.题目大意:给定一个串,求出它前缀的最大值,其中一个前缀的值定义为这个前缀在字符串中出现的次数乘以这个前缀的长度.很明显一道字符串前缀相关的题,而且还是单串匹配,所以就是KMP了.考虑先求出nextnextnext数组,我们考虑一个前缀出现次数如何通过next数组计算.这道题其实是要知道每个前缀的出现次数就可以了,所以我们记录一个sumsumsum数组,其中sum[...

2019-02-23 18:12:06 183

原创 蓝书(算法竞赛进阶指南)刷题记录——POJ1961 Period(KMP算法)

题目:POJ1961.题目大意:给定一个长度为nnn的字符串S[1..n]S[1..n]S[1..n],求出对于每一个前缀S[1..i]S[1..i]S[1..i]满足最大循环次数大于111,该前缀的长度与最大循环次数.注:一个串S[1..n]S[1..n]S[1..n]的一个iii最小的前缀S[1..i]S[1..i]S[1..i]满足S[1..i]S[1..i]S[1..i]重复k(k∈N...

2019-02-23 18:08:33 330 1

原创 51nod最大M子段和系列(51nod1052,51nod1053&51nod1115)

题目1:51nod1052.题目大意:给定一个nnn个数字组成的序列AAA,在AAA中选出MMM个不相交的子段,使得这MMM个子段的子段和之和最大,1≤n≤50001\leq n \leq50001≤n≤5000.很显然可以想到一个很简单的DP,用f[i][j]f[i][j]f[i][j]表示前iii个数中选jjj段的且最后一段必须包括第iii个数的最优解.然后就可以得到一个最简单的转移方程:...

2019-02-23 18:02:52 149

原创 【NOIP2017】洛谷3959 宝藏题解(最小生成树+随机化贪心)

题目:luogu3959.题目大意:给定一张图,让你选择一棵生成树,并选定一个根,那么这棵生成树的价格极即为每个节点的价格之和,一个节点的介个为这个节点到根的所经过的节点数乘上它到它的父亲的边权.现在要求输出最小价格.这道题一看到就像最小生成树,然而很明显最小生成树是错的.考虑暴力?太慢.考虑剪枝?不会.考虑状压?不会.是时候拿出神奇的随机化算法啦!我们考虑prim求解最小生成树的过程是...

2019-02-23 17:41:59 332

原创 蓝书(算法竞赛进阶指南)刷题记录——POJ3417 Network(树上差分)

题目:POJ3417.题目大意:给定一棵树以及一些附加边,求删除一条树边和一条附加边使这棵树不能通过树边和附加边不连通的方案数.这道题貌似很裸,我们可以考虑一下删除一条树边对答案有多少贡献.去掉一条树边后,我们还可以去掉一条附加边,我们发现只有当不超过一条附加边(x,y)(x,y)(x,y)满足xxx到yyy的路径上有这条树边这条树边才会对答案有贡献.考虑若只有一条附件变满足条件,则必须去...

2019-02-23 17:26:50 205

原创 蓝书(算法竞赛进阶指南)刷题记录——BZOJ1912 巡逻(树的直径)

题目:BZOJ1912.题目大意:给定一棵树,要求加入KKK条边(1<=k<=21<=k<=21<=k<=2),使得从111出发,恰好经过这kkk条边一次,并遍历所有点需要经过多少距离,其中一条边的距离为111.这道题挺考思维的,我只想到了第一条边该如何处理,没有想到第二条边可以一样处理.显然,加一条树边就会形成一个环,然后...

2019-02-23 16:18:16 248

原创 【NOIP2017】洛谷3953 逛公园题解(最短路+记忆化搜索+拓扑排序)

题目:luogu3953.题目大意:给定一张非负整数权图,求解这张图中比111到nnn最短路长不超过kkk的111到nnn的路径条数,若无解输出−1-1−1.既然是最短路计数,那么我们就先跑一遍最短路再说.跑完最短路后,我们可以设f[i][j]f[i][j]f[i][j]为点111到点iii的路径中,比最短路长jjj的路径条数,那么我们就可以发现,若有一条边(x,y)(x,y)(x,y)的权...

2019-02-23 16:15:31 263

原创 蓝书(算法竞赛进阶指南)刷题记录——CH6201 走廊泼水节(最小生成树)

题目:CH6201.题目大意:给定一棵树,让你扩充成一张完全图,使得原树是这张完全图的唯一最小生成树,并输出加的边的最小边权和.这道题用了一个类似于Kruskal的东西,然后顺便计算出了最小边权和.首先,我们将树拆开,将边排序,然后不断用并查集合并.每合并一次,我们设合并的两个联通块为xxx和yyy,那么合并时就会xxx和yyy之间除了已有的这条边本身,其它边的边权都要大于已有的这条边....

2019-02-20 01:15:40 158

原创 蓝书(算法竞赛进阶指南)刷题记录——POJ3613 Cow Replays(最短路floyd+矩阵乘法)

题目:POJ3613.题目大意:给出一张图,然你求出经过NNN条边后,SSS到TTT的最短路.这道题一开始觉得挺容易的,用f[i][j]f[i][j]f[i][j]表示从起点到点iii经过jjj的最短路,不断更新就可以了.但是突然发现数据巨大根本跑不过去,然后就开始看书上的题解了…书上说的思路就是先离散化,然后用floyd算法用f[i][j][k]f[i][j][k]f[i][j][k]表...

2019-02-20 01:13:10 164

原创 【NOIP2016】BZOJ4719天天爱跑步题解(树上差分+LCA+桶)

题目:luogu1600.题目大意:给定一棵树和树上每个节点的wiw_iwi​,现在给出mmm对sis_isi​和tit_iti​,表示从sis_isi​到tit_iti​会有一个人沿树上的路径走过,并且这个人每秒移动到下一个点.现在每个人都在时刻000走出,询问每一个点iii,请你输出第wiw_iwi​时刻有多少人会在点iii.我们现在一步步分析部分分,一步步逼近正解.部分分1:s=1...

2019-02-20 01:10:23 446

原创 【NOIP2016提高】洛谷1850 换教室题解(概率期望+DP)

题目:luogu1850.题目大意:给定vvv个教室,教室之间有eee条无向边边,保证连通.现在有nnn组教室,每组有一个被钦定的教室和一个可以替换的教室,现在给你mmm次替换教室的机会,以及当你打算替换掉一组教室时成功的概率,让你求最后依次经过你选择的教室的期望路径最小值.我觉得我的题目大意好像解释得不是很清晰…模拟赛考真题的时候由于我没有写过概率DP,然后一直调这道题调了3h,T2部分分...

2019-02-20 01:01:56 179

原创 蓝书(算法竞赛进阶指南)刷题记录——POJ3468 A Simple Problem with Intergers(树状数组维护差分)

题目:poj3468.题目大意:给定一个序列aaa,要求支持:1.格式C a b cC\,a\,b\,cCabc,表示将[a,b][a,b][a,b]的权值都加上ccc.2.格式Q a bQ\,a\,bQab,表示查询[a,b][a,b][

2019-02-19 22:23:17 145

原创 蓝书(算法竞赛进阶指南)刷题记录——POJ1094 Sorting It All Out(最短路floyd)

题目:POJ1094.题目大意:给定nnn组不等关系,格式为x<yx<yx<y.现在要求输出最早能够确定唯一顺序或产生矛盾的位置,或输出没有这样一个位置,若有唯一顺序要输出顺序.注意这道题的输出格式.这道题一看想到了差分约束,仔细一想用floyd跑差分约束,然后发现好像确实可做.我们用设f[i][j]f[i][j]f[i][j]为truetruetrue表...

2019-02-19 22:16:40 215

原创 蓝书(算法竞赛进阶指南)刷题记录——BZOJ2200 道路与航线(堆优化dijkstra+拓扑排序+DP)

题目:bzoj2200.题目大意:给出一张图,其中无向边权一定为正,且不可能有一个有向边组成的环.我们可以直接写一个SPFA上去,发现TLE了,然后dijkstra又不能处理负权边.所以是时候拿出准备已久的神奇A*算法了.我们先将无向边输入,将所有无向连通块用dfs打上标记c[x]c[x]c[x]表示xxx属于第c[x]c[x]c[x]个块.之后我们将所有有向边输入,将一张有向无环图DA...

2019-02-19 22:11:36 294

原创 蓝书(算法竞赛进阶指南)刷题记录——CH2601 & 洛谷2243 电路维修(双端队列bfs)

题目:CH2601.题目大意:给定一张电路,边的状态给定,为’/‘或’’,求使得点(1,1)(1,1)(1,1)与(r,c)(r,c)(r,c)连通的最小交换边数.首先这道题我们转换为一张无向图,那么我们可以连边,当两个点之间的边与这个格点上的状态重合时,我们将边权设为000,否则设为111.接下来我们就得到了一张只有000或111作为边权的图,要求图的最短路.这个时候我们直接跑最短路吗?...

2019-02-19 16:22:35 203

原创 蓝书(算法竞赛进阶指南)刷题记录——POJ3694 Network(并查集+LCA+tarjan求边双)

题目:POI3694.题目大意:给出一张图,然后给出QQQ组连接操作,输出每一次操作后的割边(桥)数量.注:这道题给出的图是连通图.首先这道题可以先用tarjan缩点,我们可以得出一棵树,这棵树上的每一条边都是割边.之后每一次加边,若加入的边在一个点内,则直接跳过.否则我们设这条边的两个顶点所在的树上节点为uuu和vvv,我们发现uuu到vvv路径上的所有边都不再是割边,所以我们将所有在...

2019-02-19 16:18:51 256

原创 蓝书(算法竞赛进阶指南)刷题记录——CH5102 Mobile Service(DP)

题目:CH5102.题目大意:三个人一开始在1,2,31,2,31,2,3的位置,每次给定一个111~lll的坐标(必须按顺序),他们之中必须有一个人走到这个坐标,且他们之中不能有两人站在同一位置,从点xxx走到点yyy的花费为c(x,y)c(x,y)c(x,y),求最小花费.首先这是一道十分裸的DP,我们可以设状态f[i][x][y][z]f[i][x][y][z]f[i][x][y][z]...

2019-02-19 15:40:49 352

原创 蓝书(算法竞赛进阶指南)刷题记录——CH0601 Genius ACM(二分+倍增+序列合并)

题目:0601 Genius ACM.题目大意:给定一串序列,要你把序列分成几段,使得每段的SPD值都小于T,求最小段数.其中一段序列的SPD值是指,在这段序列中取出MMM对数(若不足MMM堆则尽量多取),使得这MMM对数每对数(a,b)(a,b)(a,b)的(a−b)2(a-b)^2(a−b)2的和的最大值.一段序列的SPD值怎么求?我们可以贪心地让最大差最大,次大差次大…也就是说让这段序...

2019-02-19 15:21:58 332

原创 洛谷4234最小差值生成树题解(最小生成树+LCT)

题目:luogu4234.题目大意:给定一张无向图,求这张无向图最大边和最小边的最小权值差.首先,我们明确一点,一棵最小生成树上的最大边一定最小,这一点很容易用kruskal的算法流程来证明.那么我们就可以考虑一个暴力算法,枚举一棵生成树的最小边,然后依照kruskal算法加入剩下的边来组成生成树,取最优即可.时间复杂度O(m2log⁡n)O(m^2\log n)O(m2logn).考虑如...

2019-02-19 14:56:03 347

原创 蓝书(算法竞赛进阶指南)刷题记录——CH0502 & BZOJ3032 七夕祭(前缀和+贪心)

题目:CH0502.题目大意:给出一个N∗MN*MN∗M的矩阵,以及一个TTT个选定点,现在这所有点都可以与相邻的点交换,且边界也可以与另一条边界交换,现在问能否是每行和每列的选定点的数目相同,以及最少要多少步.很显然地,可以发现行列之间互相不影响,所以我们先把两个问题拆开来,接下来我们只讨论列,行同理.然后我们发现这个问题貌似跟均分纸牌有点联系,建议先去做一下.我们从均分纸牌这道题可以推...

2019-02-19 14:52:25 292

原创 【NOIP1999普及组】导弹拦截题解(DP+单调性优化+二分)

题目:luogu1020.题目大意:第一问求一个最长不上升子序列,第二问求方案数,也就是最长上升子序列的长度.我们现在知道LIS问题有一个O(n2)O(n^2)O(n2)的算法,但是这个算法在这个问题中并不能拿到满分.我们现在考虑第一个问题的优化,我们考虑到枚举到点iii的时候,最长的长度为f[i]f[i]f[i],然后我们再记录一个值g[i]g[i]g[i],表示长度为iii的子序列的结尾...

2019-02-19 14:36:36 427

原创 【NOIP2017】洛谷3957 跳房子题解(二分+DP+单调队列)

题目:luogu3957.题目大意:现在给定一串序列aaa,a[i]a[i]a[i]表示第iii个元素的值.现在给定一个值ddd,表示当使用ggg枚金币时,可以每次向右移动g−xg-xg−x~g+xg+xg+x格(具体看题目),现在问你最少要用多少金币才能使跳到的格子的元素和至少为kkk,若无解输出−1-1−1.这道题我们先来考虑无解的情况,若所有正数元素和都没有kkk大,则输出−1-1−1....

2019-02-19 14:21:51 392

原创 蓝书(算法竞赛进阶指南)刷题记录——POJ1830 开关问题(高斯消元)

题目:POJ1830.题目大意:给定一个初始010101序列aaa,要求你把序列操作(给一些位置取反)成一个给定的010101序列.给出一些关系i ji\,jij,表示若iii被操作则jjj也要被操作....

2019-02-17 21:17:54 283

原创 Codeforces 323 C Two permutations 题解(主席树)

题目:CF 323 C.题目大意:给定两个长度为nnn的排列a,ba,ba,b,每次询问有多少个数a[l1..r1]a[l1..r1]a[l1..r1]和b[l2..r2]b[l2..r2]b[l2..r2]中同时出现.首先很显然我们要把bbb中每一个数在aaa中的出现位置记录下来.考虑一个简化的问题,若l2=1,r2=nl2=1,r2=nl2=1,r2=n,那么我们现在开一个数组cnt[i...

2019-02-17 18:24:05 212

原创 POJ2155 Matrix 题解(树状数组)

题目:POJ2155.题目大意:对一个矩阵支持:1.格式C x1 y1 x2 y2C\,x1\,y1\,x2\,y2Cx1y1x2y2,表示将左上角为(x1,y1)(x1,y1)(x1,y1),右下角为(x2,y2)(x2,y2)(x2,y2)的矩阵全部取反,即000变111,111...

2019-02-16 20:59:49 218

原创 【TJOI2018】洛谷4588 数学计算的解析(线段树)

题目:luogu4588.题目大意:对于一个数xxx,需要支持两种操作:1.格式1 mi1\,m_i1mi​,使得x=x∗mix=x*m_ix=x∗mi​,并输出x%modx\%modx%mod的值.2.格式2pos2 pos2pos,其中pospospos代表第pospospos次操作,使得x=xmposx=\frac{x}{m_{pos}}x=mpos​x​...

2019-02-16 16:18:12 293

原创 Codeforces 13 E Holes 题解(LCT)

题目:CF 13 E.题目大意:给定一个序列a[i]a[i]a[i],表示到了点iii后会往后跳a[i]a[i]a[i],即跳到i+a[i]i+a[i]i+a[i],若i+a[i]>ni+a[i]>ni+a[i]>n则是跳出去了.现在给定两种操作:0.格式0 i b0\,i\,b0ib,表示把a[i]a[...

2019-02-15 11:15:51 410

原创 BZOJ4502 串题解(AC自动机)

题目:BZOJ4502.题目大意:给定一些单词,求两个在是这些单词中任意一个单词前缀的串拼起来能够组合出的字符串数量.考虑最多有多少种可能,发现最多会有n2n^2n2种情况,但是这写情况中会有重复.考虑去掉重复,发现一个若一个字符串s=s1+s2=s1′+s2′s=s_1+s_2=s'_1+s'_2s=s1​+s2​=s1′​+s2′​且∣s1′∣&

2019-02-14 07:25:34 281

原创 BZOJ3083 遥远的国度题解(树链剖分+分类讨论)

题目:bzoj3083.题目大意:维护一个数据结构,在树上支持:1.格式1x1 x1x,表示将根换成xxx.2.格式2xyz2 x y z2xyz,表示将xxx到yyy的路径上的节点的权值都修改为z.3.格式3x3 x3x,表示询问以xxx为根的子树的点权最小值.那么这道题我们假设没有换根这种操作,就会十分简单,一个裸的树剖.但是有换根操作怎么办?我们可以很容易的得出一个结论,根是哪...

2019-02-13 21:18:34 318

原创 Codeforces 235 E Number Challenge 题解(Mobius反演)

题目:CF 235 E.题目大意:给定a,b,ca,b,ca,b,c,设d(n)=∑d∣n1d(n)=\sum_{d|n}1d(n)=∑d∣n​1,求∑i=1a∑j=1b∑k=1cd(ijk)\sum_{i=1}^{a}\sum_{j=1}^{b}\sum_{k=1}^{c}d(ijk)∑i=1a​∑j=1b​∑k=1c​d(ijk).我们考虑SDOI2015 约数个数和中的那个性质:d(a...

2019-02-13 20:27:06 250

原创 主席树(可持久化线段树)入门详解

一.问题引入.当我们遇到要求快速查询区间的问题时,通常用线段树、平衡树等数据结构维护这类问题.但是使用这些数据结构的前提是要求区间信息可以快速合并(例如O(1)O(1)O(1)或O(log⁡n)O(\log n)O(logn)合并),还有很多问题是不可以这样做的,例如区间第k小的问题.区间第k小问题可以使用很多数据结构来解决,例如划分树、归并树、分块、树套树等数据结构来解决,然而这些数据结构一...

2019-02-13 07:34:46 716

原创 hdu6390 GuGuFishtion 题解(Mobius反演+欧拉函数+除法分块)

题目:hdu6390.题目大意:给定n,m,pn,m,pn,m,p,ppp为素数,求:∑i=1n∑j=1mϕ(ij)ϕ(i)ϕ(j)  (mod  p)\sum_{i=1}^{n}\sum_{j=1}^{m}\frac{\phi(ij)}{\phi(i)\phi(j)}\,\,(m...

2019-02-11 19:13:34 258

原创 【SDOI2014】BZOJ3529 数表题解(Mobius反演+树状数组+除法分块)

题目:BZOJ3529.题目大意:设f(i,j)=∑d∣gcd(i,j)df(i,j)=\sum_{d|gcd(i,j)}df(i,j)=∑d∣gcd(i,j)​d,给定QQQ组询问,每次询问n,m,an,m,an,m,a,求∑i=1n∑j=1,f(i,j)≤amf(i,j)\sum_{i=1}^{n}\sum_{j=1,f(i,j)\leq a}^{m}f(i,j)∑i=1n​∑j=1,f(i...

2019-02-11 16:08:05 289

原创 【SDOI2015】BZOJ3994 约数个数和题解(Mobius反演+除法分块)

题目:BZOJ3994.题目大意,设d(n)=∑d∣n1d(n)=\sum_{d|n}1d(n)=∑d∣n​1,给定TTT组询问,每次询问∑i=1n∑j=1md(ij)\sum_{i=1}^{n}\sum_{j=1}^{m}d(ij)∑i=1n​∑j=1m​d(ij).我们先考虑,如何在知道iii和jjj的情况下O(ij)O(ij)O(ij)求d(ij)d(ij)d(ij).考虑知道ijij...

2019-02-11 11:02:30 308

原创 【HAOI2015】BZOJ4034 树上操作题解(dfs序+线段树)

题目:bzoj4034.这道题的题目大意是说:给出一颗树,让你支持3个操作:1.把某个节点xxx的点权增加aaa.2.把某个节点xxx为根的子树中所有点的点权都增加aaa.3.询问某个节点xxx到根的路径中所有点的点权和.这道题显然是道树剖板子题,但是我们强制用dfs序做呢?我们把dfs序时一个节点入栈出栈各操作一次,现在我们可以让入栈为正,出栈为负,得到一个111和−1-1−1组成的...

2019-02-11 00:05:14 334

原创 蓝书(算法竞赛进阶指南)刷题记录——POJ1845 Sumdiv(逆元)

题目:POJ1845.题目大意:给定AAA和BBB,求ABA^BAB的约数和,答案对990199019901取模.设n=∏i=1kpicin=\prod_{i=1}^{k}p_i^{c_i}n=∏i=1k​pici​​,则nnn的约数和为:σ(n)=∏i=1k∑j=0cipij\sigma(n)=\prod_{i=1}^{k}\sum_{j=0}^{c_i}p_i^{j}σ(n)=i=1...

2019-02-10 20:44:04 252

原创 【NOI2002】洛谷1196 银河英雄传题解(带权并查集)

题目:luogu1196.题目大意:给出nnn个队列,第iii个队列仅有一个元素iii.现在给出两种操作:1.M i jM\,i\,jMij,表示将元素iii所在的队列插在元素jjj所在队列尾部.2.C i jC\,i\,jCij,表示询问元素iii和jjj是否在同一个队列中,若不...

2019-02-10 18:39:01 367

空空如也

空空如也

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

TA关注的人

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