自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Maxwei_wzj的OI世界

Imagination is more important than knowledge.

原创 小W的神奇口胡

这里会口胡一些乍一看会做,或者没时间写(或者懒得写)的题目,或者一道题目的其他解法,应该很少更新,不用等了…… 【BZOJ3456】城市规划-分治NTT 测试地址:城市规划 做法:本题需要用到分治NTT。 实际上这题做法挺多的,我用多项式求逆写了这一题,据说还可以用多项式求ln写...

2018-06-20 19:38:27 260 0

原创 【LuoguP4719】动态DP模板-树链剖分+线段树+矩阵乘法

测试地址:动态DP 做法: 本题需要用到树链剖分+线段树+矩阵乘法维护动态DP。 动态DP这个东西以前听过,但当时没有看懂,现在想来觉得是卡在矩阵乘法这个地方。这里用的不是传统的矩阵乘法。 一般的DP我们肯定会做,序列上的线性动态DP(可以用线性递推式递推的DP)很容易想到用线段树+矩阵乘法...

2020-01-22 12:13:20 100 0

原创 【CF856D】Masha and Cactus-树形DP+LCA+树状数组

测试地址:Masha and Cactus 题目大意: 给定一棵树,再给定mmm条边,每条边有权值,从里面选出一些边加入树中,使得形成的图是仙人掌,即每个点至多处在一个环中的图,并使得加入的边的权值和最大,求出这个最大值。 做法: 本题需要用到树形DP+LCA+树状数组。 首先转化一下问题。不难想...

2018-12-01 17:54:19 228 0

原创 NOIP2018差点退役+心态爆炸杂思

本篇文章负能量程度爆表,且文字间衔接逻辑完全混乱,强烈不建议阅读。 是的,我并不打算在这里写我考场上怎么想题写题,我可能只是来抒发一下我可能真的即将要退役的感慨吧…(说是感慨,可能只是对自己失败人生的吐槽和牢骚) 考试前我自以为我准备不错,专门请假一天颓废调整心态,通关了Undertale和Del...

2018-11-12 22:49:36 1147 2

原创 【BZOJ2144】跳跳棋-二分+LCA

测试地址: 跳跳棋 做法: 本题需要用到二分+LCA。 一道神题。注意到三个棋子可以进行一下的跳跃: 1.中间的棋子跳过两边的棋子向外跳跃; 2.距离中间棋子较近的那个棋子跳过中间的妻子向内跳跃。 因为限制了只能跳过一个棋子,所以上面的两种跳跃方式就是全部了。而我们发现,除非两边的棋子和...

2018-11-06 15:32:13 214 0

原创 【BZOJ3093】A Famous Game-概率论+组合数学

测试地址:A Famous Game 题目大意: 一个袋子里有nnn个球,球的颜色只有红和蓝,红色球的数目为000 ~ nnn的概率都是相等的。现在已经从里面取出了ppp个球,其中qqq个是红色,求下一个取出的球是红色的概率。 做法: 本题需要用到概率论+组合数学。 通过这道题,我终于意识到...

2018-11-03 21:44:27 202 0

原创 【BZOJ3619】璀灿光华(ZJOI2014)-思维+建图

测试地址:璀灿光华 (BZOJ没有题面,所以贴了洛谷的测试地址) 做法: 本题需要用到思维+建图。 首先吐槽一下,这个题目名字是不是应该叫“璀璨”啊…算了算了,强省大佬自有用意,我这种阅读理解000分选手还是不要妄加猜测了… 注意到nnn很小,可以直接暴力枚举,O(a⋅6n)O(a\cdot 6^...

2018-11-02 19:42:59 187 0

原创 【BZOJ3351】Regions(IOI2009)-分块+vector

测试地址:Regions 题目大意: 给定一棵nnn个点的有根树,每个点有颜色,qqq个询问,每次询问给出两个颜色a,ba,ba,b,表示询问树中有多少对点(u,v)(u,v)(u,v)使得uuu颜色是aaa,vvv颜色是bbb,且uuu是vvv的祖先。 做法: 本题需要用到分块+vector。 ...

2018-11-02 11:00:23 116 0

原创 【BZOJ3131】淘金(SDOI2013)-数位DP+优先队列

测试地址:淘金 做法: 本题需要用到数位DP。 令F(x,y)F(x,y)F(x,y)为坐标(x,y)(x,y)(x,y)上的黄金数目,那么: F(x,y)=∑i=1n∑j=1n[f(i)=x]⋅[f(j)=y]F(x,y)=\sum_{i=1}^n\sum_{j=1}^{n}[f(i)=x...

2018-11-01 17:13:42 105 0

原创 【BZOJ4513】储能表(SDOI2016)-数位DP

测试地址:储能表 做法: 本题需要用到数位DP。 显然地,我们可以把问题转化成,令SumSumSum为所有≥k\ge k≥k的i xor ji\space xor\space ji xor ...

2018-11-01 11:26:41 94 0

原创 【BZOJ3233】找硬币(AHOI2013)-DP+数论

测试地址:找硬币 做法: 本题需要用到DP+数论。 假设我们有了构造出了一个合法硬币序列xxx,怎么计算最少需要使用的硬币数量?显然,因为xkx_kxk​为xk−1x_{k-1}xk−1​的倍数,能用大的就应该用大的,那么对于最大的币值xkx_kxk​,应该要使用⌊aixk⌋\lfloor\fra...

2018-10-31 22:34:49 124 0

原创 【51Nod1623】完美消除-数位DP+状态压缩+单调栈

测试地址:完美消除 做法: 本题需要用到数位DP+状态压缩+单调栈。 对于一个数字,如何求出它的最小消除次数?把每一位一一推入单调栈(栈顶元素最大),并在最后把所有的元素都出栈,那么元素出栈的总次数就是最小消除次数。这一点做过单调栈题的同学应该很容易能看出来了。 那么对于这一题,显然看出是数位DP...

2018-10-31 12:03:00 89 0

原创 【CF840C】On the Bench-DP+组合数学

测试地址:On the Bench 题目大意: 给出一个长为nnn的序列AAA,问有多少种111 ~ nnn的排列ppp,满足对于任意1≤i<n1\le i<n1≤i<n,有APi⋅APi+1A_{P_i}\cdot A_{P_{i+1}}...

2018-10-30 10:31:13 95 0

原创 【BZOJ4773】负环-倍增+Floyd

测试地址:负环 做法: 本题需要用到倍增+Floyd。 我们很快能想出O(n2m)O(n^2m)O(n2m)的算法:令f(i,j,k)f(i,j,k)f(i,j,k)为走iii条边,从jjj走到kkk的路径中最小的权值和。从小到大枚举iii转移即可。 然而并过不了,而且我们发现,负环的长度似乎也不...

2018-10-28 20:57:58 106 0

原创 【LuoguP4934】礼物(LGR-054)-Dilworth定理+优化建图+拓扑排序

测试地址:礼物 做法: 本题需要用到Dilworth定理+优化建图+拓扑排序。 对位运算感觉比较敏锐的话,可以看出,a&ba\&ba&b这个东西要么比a,ba,ba,b都小,要么就说明a,ba,ba,b中有一个在二进制位上是另一个数的...

2018-10-24 21:11:26 109 0

原创 【LuoguP3616】富金森林公园-线段树

测试地址:富金森林公园 做法: 本题需要用到线段树。 一道好题,不看题解乍一下真的不知道怎么做… 我们考虑直接维护水面在高度iii时能看见的连续段数cnt(i)cnt(i)cnt(i),考虑一块石头高度的增减对cntcntcnt的影响。为了讨论方便,我们把修改操作都看成是,先把石头高度降到最低,再...

2018-10-23 21:32:57 128 0

原创 【BZOJ1432】函数(ZJOI2009)-思维

测试地址:函数 做法: 本题需要用到思维。 如果在xxx坐标为负无穷时,把函数从下到上编号为111~nnn,那么在向右扫时,一旦遇到一个交点,就表示交的这两个函数上下位置进行交换。因为每两个函数间有且仅有一个交点,且不会有三个函数共点,因此这些交换是先后进行的,且一定是发生在下面的函数编号比上...

2018-10-22 19:41:45 114 0

原创 【BZOJ1190】梦幻岛宝珠(HNOI2007)-背包DP+思维

测试地址:梦幻岛宝珠 做法: 本题需要用到背包DP+思维。 这道题看上去是一个裸01背包,然而容量特别大,因此我们只能从其中唯一一个特殊条件入手:a⋅2ba\cdot 2^ba⋅2b形式的重量。 我们考虑把这些物品分阶段来进行决策。我们首先对每个bbb,求出重量表示为a⋅2ba\cdot 2...

2018-10-22 16:25:06 86 0

原创 【LuoguP2576】梦幻折纸(ZJOI2005)-思维

测试地址:梦幻折纸 做法: 本题需要用到思维。 考虑最后折出来的正方形,从上到下的各层中,有可能有两层在前后侧相连,也有可能有两层在左右侧相连。易知,无论怎么折前后侧的相连都不会成为左右侧,这启发我们分开判断两维是不是成立。 要判断某一维是不是成立,需要观察出下面两个结论: 1.如果两列i,ji,...

2018-10-22 10:51:29 330 1

原创 【BZOJ1483】梦幻布丁(HNOI2009)-链表+启发式合并

测试地址:梦幻布丁 做法: 本题需要用到链表+启发式合并。 首先,注意到颜色的段数等于,相邻的颜色不同的元素对数+1+1+1,而一对元素一旦颜色相同就不可能再变成不同,因此我们在改变颜色的时候,只要找到这个颜色的元素周围有没有修改后就变成颜色相同的元素即可。 我们想到用链表来连接同颜色的那些点,但...

2018-10-22 08:33:18 82 0

原创 【CF605C】Freelancer's Dreams-凸包

测试地址:Freelancer’s Dreams 题目大意: 有nnn项工作,每项工作有两项属性ai,bia_i,b_iai​,bi​,表示做111单位时间可以获得aia_iai​的经验和bib_ibi​的钱,现在要攒够ppp的经验和qqq的钱,且任意一个时刻只能做一项工作,每项工作进行的时间可以...

2018-10-21 16:59:58 124 0

原创 【CF622F】The Sum of the k-th Powers-拉格朗日插值

测试地址:The Sum of the k-th Powers 题目大意: 求∑i=1nik\sum_{i=1}^ni^k∑i=1n​ik对109+710^9+7109+7取模的值。 做法: 本题需要用到拉格朗日插值。 容易看出(或者用数学归纳法简单证明),答案f(n)f(n)f(n)是一个...

2018-10-19 17:47:15 254 0

原创 【BZOJ3202】项链(SDOI2013)-数论+组合数学综合

测试地址:项链 题目大意: 用n(≤1014)n(\le 10^{14})n(≤1014)个珠子串成一个环形项链,每个珠子是正三棱柱,每一面上写一个111 ~ a(≤107)a(\le 10^7)a(≤107)中的数字,当且仅当写的三个数字gcd⁡\gcdgcd为111时,这个珠子是合法的珠子。两...

2018-10-19 16:24:08 138 0

原创 【LuoguP4926】倍杀测量者(LGR-053)-二分答案+差分约束+判正环

测试地址:倍杀测量者 做法: 本题需要用到二分答案+差分约束+判正环。 对于第一种flag,用不等式表示:如果满足xA≥(k−T)xBx_A\ge (k-T)x_BxA​≥(k−T)xB​就不用女装;对于第二种flag,用不等式表示:如果满足xA(k+T)&gt...

2018-10-19 08:54:43 117 0

原创 【BZOJ2653】middle-二分答案+主席树

测试地址:middle 做法: 本题需要用到二分答案+主席树。 神仙题。很久以前Mychael大佬称这题和TJOI那个排序差不多,于是二分答案那一步想得特别顺畅,结果却卡在简单主席树…菜爆,估计退役稳了。 首先看到这个题和数的大小有很大关联,想到二分答案,那么现在要解决的问题就是,如何判断最大的中...

2018-10-18 15:05:25 85 0

原创 【LuoguP4927】梦美的线段树(LGR-053)-线段树

测试地址:梦美的线段树 做法: 本题需要用到线段树。 经过简单的计算,题目所求的是: ans=∑sumi2sum1ans=\frac{\sum sum_i^2}{sum_1}ans=sum1​∑sumi2​​ 于是我们现在要求的就是∑sumi2\sum sum_i^2∑sumi2​。 向...

2018-10-17 16:30:40 85 0

原创 【CF891C】Envy-最小生成树+虚树+并查集

测试地址:Envy 题目大意: 给定一个带权无向连通图,每次询问给出kik_iki​条图中的边,问这些边能不能同时处在这个图的一棵最小生成树中。 做法: 本题需要用到最小生成树+虚树+并查集。 居然没看题解想出来了这道神题,非常开心。 首先,判断kkk条边是不是能同时在最小生成树中,实际上只要求出...

2018-10-17 09:36:13 137 0

原创 【CF160D】Edges in MST-最小生成树+并查集

测试地址:Edges in MST 题目大意: 给定一个带权无向连通图,因为最小生成树不唯一,于是问每一条边是一定在最小生成树上,还是可能在最小生成树上,还是不可能在最小生成树上。 做法: 本题需要用到最小生成树+并查集。 这题挺神的。首先肯定需要构造出一棵最小生成树,那么树上的边的答案只有“一定...

2018-10-16 16:00:47 200 0

原创 【BZOJ1146】网络管理(CTSC2008)-树状数组+主席树

测试地址:网络管理 做法: 本题需要用到树状数组+主席树。 经典的带修改树上路径第kkk大问题,不过我太菜了居然忘了有树上主席树这个东西… 不带修改的话能用树上主席树做,那么带修改怎么办呢?因为一次修改会影响一棵子树上的所有线段树,所以我们还是把树拍成DFS序,就变成区间修改了。注意到查询的时候只...

2018-10-16 10:30:47 54 0

原创 【BZOJ1188】分裂游戏(HNOI2007)-SG函数

测试地址:分裂游戏 做法: 本题需要用到SG函数。 我们发现每一个巧克力豆都是相互独立的,所以我们可以把整个游戏看成,若干个单个巧克力豆组成的游戏的和游戏。于是SG函数的状态就很好定义了。再思考,一个巧克力豆会分裂成两个,也就是说,从这个巧克力豆走到的状态,都是两个巧克力豆组成的和游戏,这时候我们...

2018-10-15 16:18:41 66 0

原创 【BZOJ1414】对称的正方形(ZJOI2009)-Manacher+RMQ

测试地址:对称的正方形 做法: 本题需要用到Manacher+RMQ。 首先,我们想到枚举正方形的对称轴,求对称轴交点为某个点时的最大正方形大小。为了方便,我们模仿Manacher算法,把矩阵用000扩充成一个(2n+1)×(2m+1)(2n+1)\times (2m+1)(2n+1)×(2m+1...

2018-10-15 11:02:36 224 0

原创 【HDU4507】Seven-数位DP

测试地址:Seven 做法: 本题需要用到数位DP。 是的,我看这题题目名字实在太长,就自己给取了个名字…首先看它给的条件,如果只求数字个数的话,非常明显是数位DP的形式,只需要设num(i,j,k)num(i,j,k)num(i,j,k)为前iii位中,不卡上界的,数位和对777的余数为jj...

2018-10-14 21:13:15 58 0

原创 【CF55D】Beautiful Numbers-数位DP+优化

测试地址:Beautiful Numbers 题目大意: 求在区间[L,R][L,R][L,R]中,有多少能整除自身所有非零数位的数。 做法: 本题需要用到数位DP+优化。 首先这题一看就是数位DP,本题的关键是状态的设计以及优化。 我们很快能写出一个状态定义:f(i,j,k,0/1)f(i,j,...

2018-10-10 21:42:55 94 0

原创 【BZOJ3326】数数(SCOI2013)-数位DP

测试地址:数数 题目大意: 给定L,RL,RL,R两个10510^5105位内的B(≤105)B(\le 10^5)B(≤105)进制数,L≤RL\le RL≤R,对区间[L,R][L,R][L,R]内的所有数xxx,累加xxx中所有子串表示的数字的和(如123123123,应该累加123+12...

2018-10-10 19:05:26 205 0

原创 【BZOJ1124】Mafia(POI2008)-环套树DP

测试地址:Mafia 做法: 本题需要用到环套树DP。 按照题目构图,很显然是我们很熟悉的环套树森林。接下来我们进行分析,最后活下来一些什么人是合法的呢?观察发现,一个人的目标如果是自己那就必死,而没有被作为目标的人一定存活,还有一个特别重要的性质:一个人iii和他的目标aia_iai​到最后...

2018-10-08 22:01:23 88 0

原创 【BZOJ3140】消毒(HNOI2013)-二分图匹配

测试地址:消毒 做法: 本题需要用到二分图匹配。 挺妙的一道题,我反正是没想出来。首先考虑二维的情况,即二维平面中有一些点,覆盖一个x×yx\times yx×y的矩形所需要的代价是min⁡(x,y)\min(x,y)min(x,y),求最小代价。 我们发现,直接覆盖一个x×yx\times yx...

2018-10-07 11:24:30 80 0

原创 【HDU4869】Turn the pokers-思维

测试地址:Turn the pokers 题目大意: 有mmm张牌,一开始正面都朝下,有nnn次操作,每次操作给出一个XiX_iXi​,表示要从这些牌中选出XiX_iXi​张翻面,求所有操作完成后能得到多少种不同的正/反面序列。 做法: 本题需要用到思维。 因为将牌做任何置换都是合法的,因此只要我...

2018-10-04 21:31:44 94 0

原创 【HDU4661】Message Passing-思维+树形DP+组合数学

测试地址:Message Passing 题目大意: nnn个人,每个人知道一条独一无二的信息,每次可以选择一个人,向与他有关系的一个人传递所有他已经知道的信息,关系网是树状的,目标是让所有人都知道所有的信息,问有多少种传递信息的方案,使得传递的次数最少。 做法: 本题需要用到思维+树形DP+组合...

2018-10-04 11:39:14 114 0

原创 【HDU6038】Function-思维+组合数学

测试地址:Function 题目大意: 给出一个关于000到n−1n-1n−1的置换aaa,一个关于000到m−1m-1m−1的置换bbb,求有多少从000到n−1n-1n−1映射到000到m−1m-1m−1的映射fff,满足f(i)=bf(ai)f(i)=b_{f(a_i)}f(i)=bf(ai...

2018-10-02 13:12:57 85 0

原创 【ContestHunter0601】Genius ACM-贪心+倍增+归并排序

测试地址:Genius ACM 做法: 本题需要用到贪心+倍增+归并排序。 某机房大佬给的我他书上的一道神题…据说还是“基础算法”章节的例题…看来我NOIP退役已经是可以预见的了… 首先可以大胆猜想(并小心证明)的是,计算校验值时所选的MMM对数,一定是最大的与最小的配对,次大的与次小的配对…以此...

2018-10-01 11:41:17 264 0

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