自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小蒟蒻yyb的博客

我真的很水,我只是小蒟蒻。。。

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

原创 进入无限咕咕咕的时代

CSDN的编辑界面越来越丑,博客页面的广告越来越多。总的来说,给我的体验越来越差。之所以还在使用CSDN是因为它有着编辑预览,比直接用Cnblogs要好一些。然而现在页面丑得不行了,我有点受不了了,所以,。。。。我觉得最近用cmdmarkdowncmdmarkdowncmdmarkdown或者在本地用TyporaTyporaTypora编辑好直接发到cnblogscnblogscnblog...

2018-09-18 14:13:36 3043 4

原创 【BZOJ1455】罗马游戏(左偏树)

题面BZOJ 然而权限题。题解左偏树模板题。#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>#include<algor

2018-09-04 19:49:08 574

原创 【BZOJ4242】水壶(克鲁斯卡尔重构树,BFS)

题面BZOJ然而是权限题。DescriptionJOI君所居住的IOI市以一年四季都十分炎热著称。 IOI市是一个被分成纵H*横W块区域的长方形,每个区域都是建筑物、原野、墙壁之一。建筑物的区域有P个,编号为1…P。 JOI君只能进入建筑物与原野,而且每次只能走到相邻的区域中,且不能移动到市外。 JOI君因为各种各样的事情,必须在各个建筑物之间往返。虽然建筑物中的冷气设备非常...

2018-09-01 11:10:38 971

原创 【BZOJ3551】Peaks加强版(Kruskal重构树,主席树)

题面BZOJDescription在Bytemountains有N座山峰,每座山峰有他的高度h_i。有些山峰之间有双向道路相连,共M条路径,每条路径有一个困难值,这个值越大表示越难走,现在有Q组询问,每组询问询问从点v开始只经过困难值小于等于x的路径所能到达的山峰中第k高的山峰,如果无解输出-1。Input第一行三个数N,M,Q。 第二行N个数,第i个数为h_i 接...

2018-08-31 22:18:23 433

原创 【agc023E】Inversions(线段树,动态规划)

题面AT 给定aiaia_i,求所有满足pi≤aipi≤aip_i\le a_i的排列ppp的逆序对数之和。题解首先如何计算排列ppp的个数。 设cnt[i]cnt[i]cnt[i]表示ak≥iak≥ia_k\ge i的个数,那么满足条件的ppp的总数就是∏cnt[i]−(n−i)∏cnt[i]−(n−i)\prod cnt[i]-(n-i) 大概就是从nnn开始填数,对于每...

2018-08-31 19:45:07 499

原创 【CF183D】T-shirt(动态规划)

题面洛谷 CodeForces题解O(n2m)O(n2m)O(n^2m)的暴力懒得写了,比较容易,可以自己想想。 做法是这样的,首先我们发现一个结论: 对于某个颜色(我们就把尺寸当成染色问题好了),如果你拿的个数越多,那么它对于答案的贡献就越来越少。这个东西是显然的,所以这个函数是一个凸函数。 那么这样子就可以贪心,每次选择对于答案贡献最多的一个颜色,然后同时更新一下它下一...

2018-08-30 21:15:45 688

原创 【BZOJ2423】最长公共子序列(动态规划)

题面BZOJ 洛谷题解今天考试的时候,神仙出题人fdffdffdf把这道题目作为一个二合一出了出来,我除了orz还是只会orz。对于如何O(n2)O(n2)O(n^2)求解最长的长度是很简单的。 设f[i][j]f[i][j]f[i][j]表示第一个串匹配到了iii,第二个串匹配到了jjj的最大长度。 那么转移很显然,要么iii向后挪动一位,要么jjj向后挪动一位,要么i...

2018-08-30 20:24:45 292 3

原创 【BZOJ2118】墨墨的等式(最短路)

题面BZOJ 洛谷题解和跳楼机那题是一样的。 只不过走的方式从333种变成了nnn种而已,其他的根本没有区别了。#include<iostream>#include<cstdio>#include<cstring>#include<queue>using namespace std;#define MAX 500...

2018-08-30 08:30:51 328

原创 【洛谷3043】跳楼机(最短路)

题面洛谷题解思路很妙嗷。 先只考虑只用y,zy,zy,z两种移动方式,它们一定能够到达一些楼层, 那么这些楼层再只用xxx拓展就能够计算答案。 那么我们这样子计算答案,设dis[i]dis[i]dis[i]表示可以到达mod x=imod x=imod\ x=i的楼层的最小值, 显然这个玩意可以最短路求,那么直接建图跑SPFASPFASPFA(死不掉的)...

2018-08-30 08:15:49 322

原创 【BZOJ2463】谁能赢呢?(博弈论)

题面BZOJ 洛谷题解洛谷上对于难度的评级我总觉有些问题。 很多人按照代码难度而并非思维难度在评级,导致很多评级很不合理啊。。。不说废话了。。对于一个n∗nn∗nn*n的棋盘,我们可以考虑用1×21×21\times 2的骨牌来进行覆盖。 显然对于nnn为奇数不能覆盖满,nnn为偶数能够覆盖满。 那么对于偶数局面,我们出发点一定是一个骨牌的一端,那么无论先手只需要移...

2018-08-29 08:06:50 210

原创 【BZOJ2463】谁能赢呢?(博弈论)

题面BZOJ 洛谷题解洛谷上对于难度的评级我总觉有些问题。 很多人按照代码难度而并非思维难度在评级,导致很多评级很不合理啊。。。不说废话了。。对于一个n∗nn∗nn*n的棋盘,我们可以考虑用1×21×21\times 2的骨牌来进行覆盖。 显然对于nnn为奇数不能覆盖满,nnn为偶数能够覆盖满。 那么对于偶数局面,我们出发点一定是一个骨牌的一端,那么无论先手只需要移...

2018-08-29 08:06:45 276

原创 【BZOJ3609】人人尽说江南好(博弈论)

题面BZOJ 洛谷题解昨天考试的时候,毒瘤出题人出了一个noipnoipnoip博弈十合一然后他就被阿鲁巴了,因为画面残忍,就不再展开。这题是他的十合一中的第四问,然而我并不会做,所以自己就大力YY了一下, 首先一定有[n/m][n/m][n/m]个大小为mmm的堆,那么还剩下n%mn%mn\%m个石子,而它们不受限制,所以一共可以操作max(n%m−1,0)max(n%m...

2018-08-29 07:56:15 266

原创 【洛谷4005】小Y和地铁(搜索)

题面洛谷 有点长。题解首先对于需要被链接的两个点,样例中间基本上把所有的情况都给出来了。 但是还缺了一种从下面绕道左边在从整个上面跨过去在从右边绕到下面来的情况(从反过来是一样的) 然后把所有方法分类之后发现实际上只有444种决策。 而444种决策中,两两一组,可以发现对于后面结果的影响是相同的, 那么只需要贪心的考虑选择两种决策的较优值。 所以只剩下两种方法了,直接爆...

2018-08-29 07:47:44 163

原创 【BZOJ3064】CPU监控(线段树)

题面BZOJ 洛谷题解神仙zsyzsyzsy出在了noipnoipnoip模拟的题目。(然而zsyzsyzsy出的还是这题的升级版) 首先明确一点,这题是一个吉司机线段树。 如果只有区间加法,区间赋值,区间最大值,那么这题很简单。 但是加上了一个区间历史最值,这就很烦了。 于是我们就有了一个神仙做法, 定义一个表示(a,b)(a,b)(a,b)表示区间内所有数先+a+a...

2018-08-28 21:43:51 585

原创 【Luogu4609】建筑师(组合数学)

题面洛谷题解首先发现整个数组一定被最高值切成左右两半,因此除去最高值之后在左右分开考虑。 考虑一个暴力dpdpdp ,设f[i][j]f[i][j]f[i][j]表示用了iii个数并且能够看到jjj个的方案数,强制最大值在最右侧。 每次添加最小的一个数放进来:f[i][j]=f[i−1][j−1]+f[i−1][j]∗(i−2)f[i][j]=f[i−1][j−1]+f[i−1...

2018-08-28 13:58:12 189

原创 【BZOJ4036】按位或(min-max容斥,FWT)

题面BZOJ 洛谷题解很明显直接套用min−maxmin−maxmin-max容斥。 设E(max{S})E(max{S})E(max\{S\})表示SSS中最晚出现元素出现时间的期望,minminmin同理。 那么E(max{S})=∑T⊆S(−1)|T|E(min{T})E(max{S})=∑T⊆S(−1)|T|E(min{T})E(max\{S\})=\sum_{T\s...

2018-08-21 17:34:11 396

原创 【HDU4336】Card Collector(Min-Max容斥)

题面Vjudge题解原来似乎写过一种状压的做法,然后空间复杂度很不优秀。 今天来补一种神奇的方法。给定集合SSS,设max{S}max{S}max\{S\}为SSS中的最大值,min{S}min{S}min\{S\}为集合SSS中的最小值。 那么我们可以得到: max{S}=∑T⊆S(−1)|T|min{T}max{S}=∑T⊆S(−1)|T|min{T}max\{S...

2018-08-21 17:02:26 307

原创 【LOJ2541】【PKUWC2018】猎人杀(容斥,FFT)

题面LOJ题解这题好神仙啊。 直接考虑概率很麻烦,因为分母总是在变化。 但是,如果一个人死亡之后,我们不让他离场,假装给他打一个标记(猎人印记???) 如果在一次选择的时候选中了一个已经被打过标记的人,那么我们就重新做一次选择。 这样显然没有任何影响。 现在考虑如何求第一个人最后一个被打上标记的概率。 我们容斥一下,枚举一下哪些人会在111之后被选择,那么容斥系数就是(...

2018-08-21 16:02:15 428

原创 【BZOJ2024】舞会(动态规划,容斥,高精度)

题面BZOJ 洛谷题解这种关系显然要先排序才不会不想影响。 设f[i][j]f[i][j]f[i][j]表示前iii个女生中,选了jjj个女生配对,并且女生比男生高,剩余的随意匹配的方案数。 转移: f[i][j]=f[i−1][j]+f[i−1][j−1]∗(p−(j−1)f[i][j]=f[i−1][j]+f[i−1][j−1]∗(p−(j−1)f[i][j]=f[i-...

2018-08-20 17:05:43 216

原创 【BZOJ4710】分特产(容斥)

题面BZOJ题解比较简单吧。。。 设f[i]f[i]f[i]表示至多有iii个人拿到东西的方案数。 f[i]=∏mj=1Ci−1m+i−1f[i]=∏j=1mCm+i−1i−1f[i]=\prod_{j=1}^m C_{m+i-1}^{i-1} 现在要算的是恰好有nnn个人拿到东西的方案数。 ans=∑ni=1(−1)n−iCinf[i]ans=∑i=1n(−1)n−iCn...

2018-08-20 15:31:27 226

原创 【BZOJ2839】集合计数(容斥,动态规划)

题面BZOJ 权限题Description一个有N个元素的集合有2^N个不同子集(包含空集),现在要在这2^N个集合中取出若干集合(至少一个),使得 它们的交集的元素个数为K,求取法的方案数,答案模1000000007。(是质数喔~)Input一行两个整数N,KOutput一行为答案。Sample Input3 2Sample Outpu...

2018-08-20 15:15:58 241

原创 【BZOJ4035】数组游戏(博弈论)

题面BZOJ 洛谷题解很明显是一个翻硬币游戏的变形,因此当前局面的SGSGSG函数值就是所有白格子单独存在的SGSGSG函数的异或和。 那么,对于每一个位置考虑SGSGSG函数。 SG(x)=mexn/xi=1{⊕ij=1SG(jx)}SG(x)=mexi=1n/x{⊕j=1iSG(jx)}SG(x)=mex_{i=1}^{n/x}\{\oplus_{j=1}^i SG(jx...

2018-08-19 20:46:29 291

原创 【BZOJ4025】二分图(线段树分治,并查集)

题面BZOJ题解是一个二分图,等价于不存在奇环。 那么直接线段树分治,用并查集维护到达根节点的距离,只计算就好了。#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>#include<...

2018-08-19 20:14:48 299

原创 【HDU3595】GG and MM(博弈论)

题面HDU 一个游戏由多个游戏组成,每次每个操作者必须操作所有可以操作的游戏,操作集合为空者输。 每个游戏由两堆石子组成,每次可以从较多的那一堆中取走较小那堆的数量的倍数个石子。 判断胜负。题解Every−SGEvery−SGEvery-SG,所以我们只需要分开考虑两堆。 这题有点性质,假设两堆石子为x,y,x<yx,y,x<yx,y,xk=⌊yx⌋k=⌊yx⌋k=...

2018-08-17 19:53:08 292

原创 【BZOJ3576】江南乐(博弈论)

题面BZOJ 洛谷题解无论一堆石头怎么拆分,都并不能改变它是一个Multi−SGMulti−SGMulti-SG的事实。 既然每一组的FFF都是固定的,那么我们预处理所有的可能的堆,而将石子拆分成若干堆,也只需要考虑SGSGSG函数的值就好了。 但是这样子求SGSGSG值的复杂度是O(V2)O(V2)O(V^2)的,其中VVV是值域,也就是10510510^5。 再分析一下...

2018-08-17 17:09:02 197

原创 【BZOJ1188】分裂游戏(博弈论)

题面BZOJ 洛谷题解这道题目比较神仙。 首先观察结束状态,即PPP状态,此时必定是所有的豆子都在最后一个瓶子中。 发现每次的转移一定是拿出一棵豆子,放两颗豆子,所以一个瓶子中无论豆子数量是多少,我们都可以把所有的豆子拆开看成单个的NimNimNim游戏(因为迟早都要全部进入到nnn号瓶子的) 发现如果有两个在同位置的豆子,胜负结果是不会改变的,因为后手可以一直模仿先手的动...

2018-08-16 22:11:23 271

原创 【BZOJ2940】条纹(博弈论)

题面BZOJ 神TM权限题。题解我们把题目看成取石子的话,题目就变成了这样: 有一堆mmm个石头,每次可以取走c,z,nc,z,nc,z,n个,每次取完之后可以把当前这堆剩下的石头分成任意数量的两堆(可以为空),不能操作者输,判定胜负。 那么这就是一个比较简单的Multi−SGMulti−SGMulti-SG了,直接预处理SGSGSG函数即可。#include<...

2018-08-16 21:41:03 172

原创 【HDU3032】Nim or not Nim?(博弈论)

题面HDU题解Multi−SGMulti−SGMulti-SG模板题#include<iostream>#include<cstdio>using namespace std;inline int read(){ int x=0;bool t=false;char ch=getchar(); while((ch<'0'|...

2018-08-16 21:18:14 141

原创 【BZOJ1022】小约翰的游戏(博弈论)

题面BZOJ题解Anti−SGAnti−SGAnti-SG游戏的模板题目。#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>#include<algorithm>using n...

2018-08-16 20:17:48 257

原创 【HDU1848】Fibonacci again and again(博弈论)

题面Hdu 你有三堆石子,每堆石子的个数是n,m,pn,m,pn,m,p,你每次可以从一堆石子中取走斐波那契数列中一个元素等数量的石子数,两人轮流取,不能操作者输,判定先后手的胜利。题解根据SGSGSG定理,三堆石子可以拆开来看,最终状态的SGSGSG函数为这三堆石子SGSGSG函数的异或值。 那么,我们只需要预处理任意数量石子的SGSGSG值就好了。 对于一堆数量为xxx的石子...

2018-08-16 20:06:03 200

原创 【POJ1704】Georgia and Bob(博弈论)

题面POJ Vjudge题解这种一列格子中移动棋子的问题一般可以看做成一个阶梯博弈。 将一个棋子向左移动时,它和前面棋子的距离变小,和后面棋子的距离变大,并且减小的值和增大的值是相等的,因此,这个过程我们就可以等价成一个阶梯博弈了。#include<cstdio>#include<iostream>#include<algorithm&...

2018-08-15 22:17:05 533

原创 【BZOJ1299】巧克力棒(博弈论,线性基)

题面BZOJ题解NimNimNim博弈的变形形式。 显然,如果我们不考虑拿巧克力棒出来的话,这就是一个裸的NimNimNim博弈。 但是现在可以加入巧克力棒。加入巧克力棒的意义是修改当前的异或和。 如果不能够改变当前先后手赢的状态的话,那么必定不能够拿出一个巧克力棒的集合满足异或和为000。 初始情况下是先手必败的情况,因为先后不改变当前的必胜/必败情况,所以先手必须要拿出...

2018-08-15 21:38:47 506

原创 【CF888G】Xor-MST(最小生成树,Trie树)

题面CF 洛谷题解利用KruskalKruskalKruskal或者PrimPrimPrim算法都很不好计算。 然而我们还有一个叫啥来着?BBB啥啥的算法,就叫BBB算法吧。 思想是对于每个点找到一条最小边,并且将这条边连上,不难证明每次至少连上了n/2n/2n/2个点。 再将这些联通块看做一个点继续重复这个过程,时间复杂度是logloglog级别的。我们从高位往低位看...

2018-08-15 09:38:20 1747

原创 【COGS2652】秘术「天文密葬法」(长链剖分,分数规划)

题面Cogs 上面废话真多,建议直接拉到最下面看一句话题意吧: 给个树,第i个点有两个权值ai和bi,现在求一条长度为m的路径,使得Σai/Σbi最小 题解看到这个式子就是裸的分数规划吧。。。 二分一个答案kkk,式子变成了找一条长度为mmm的路径(题目里面路径长度的定义是点数) 满足∑a−k∑b≤0∑a−k∑b≤0\sum a-k\sum b\le 0。 首先直接把...

2018-08-15 07:38:01 401

原创 【CF1009F】Dominant Indices(长链剖分)

题面洛谷 CF 翻译: 给定一棵nnn个点,以111号点为根的有根树。 对于每个点,回答在它子树中, 假设距离它为ddd的点有fdfdf_d个,求最大的fdfdf_d,并且输出ddd,如果有多个fdfdf_d相同,输出最小的ddd。题解这个东西和深度相关,很显然可以直接用长链剖分维护,时间复杂度O(N)O(N)O(N) 这道题目要维护的东西其实也很类似于dsu&nbsp...

2018-08-14 21:47:45 557

原创 【BZOJ4140】共点圆加强版(二进制分组)

题面BZOJ题解我卡精度卡了一天。。。。 之前不强制在线的做法是CDQCDQCDQ分治,维护一个凸壳就好了。 现在改成二进制分组,每次重建凸壳就好了。。#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<cm...

2018-08-13 15:09:49 255

原创 【BZOJ2961】共点圆(CDQ分治)

题面BZOJ题解设询问点(x,y)(x,y)(x,y),圆心是(X,Y)(X,Y)(X,Y) 那么如果点在园内的话就需要满足 (X−x)2+(Y−y)2≤X2+Y2(X−x)2+(Y−y)2≤X2+Y2(X-x)^2+(Y-y)^2\le X^2+Y^2 拆开之后就变成了 x2+y2−2xX≤2yYx2+y2−2xX≤2yYx^2+y^2-2xX\le 2yY 除过去就是...

2018-08-13 09:48:51 497

原创 【BZOJ2989】数列(二进制分组,主席树)

题面BZOJ 权限题啊。。。Description给定一个长度为n的正整数数列a[i]。 定义2个位置的graze值为两者位置差与数值差的和,即graze(x,y)=|x-y|+|a[x]-a[y]|。 2种操作(k都是正整数): 1.Modify x k:将第x个数的值修改为k。 2.Query x k:询问有几个i满足graze(x,i)<=k。因为可持久化数据...

2018-08-12 22:35:41 405

原创 【BZOJ4543】Hotel加强版(长链剖分)

题面BZOJ,没有题面 洛谷,只是普通版本题解原来我们的O(n2)O(n2)O(n^2)做法是设f[i][j]f[i][j]f[i][j]表示以iii为根的子树中,距离iii的深度为jjj的点的个数,这样子可以每次在LCALCALCA处合并答案。...

2018-08-12 21:25:26 237

原创 【BZOJ2989】数列(CDQ分治)

题面BZOJ 权、。、。、权限题。。题解Description给定一个长度为n的正整数数列a[i]。 定义2个位置的graze值为两者位置差与数值差的和,即graze(x,y)=|x-y|+|a[x]-a[y]|。 2种操作(k都是正整数): 1.Modify x k:将第x个数的值修改为k。 2.Query x k:询问有几个i满足graze(x,i)<=...

2018-08-12 20:35:24 292

空空如也

空空如也

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

TA关注的人

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