自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

薇小薇

”喵喵喵?“

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

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

题目:我是超链接题解:我们再根据题目列出柿子 (1+x+x2+x3+...+xm1)(1+x+x2+x3+...+xm2)...(1+x+x2+x3+...+xm1)(1+x+x2+x3+...+xm2)...(1+x+x^2+x^3+...+x^{m_1})(1+x+x^2+x^3+...+x^{m_2})... 然后画一下柿子 ∏1−xmi+1(1−x)n=∑k=0infC(...

2018-04-25 19:56:31 228

原创 生成函数小练

T1HDU1028 Ignatius and the Princess III 题意求将n拆分成若干整数的方案数。思路我们依然考虑用生成函数x^n的系数表示选取的方案数,那么生成函数的每一个乘项的每一项的次方数就代表这个数字是几。我们考虑对于每一个数字,他可以构成的数作为数列建立生成函数,可以列出柿子 (1+x+x2+x3+...)(1+x2+x4+...)(1+x...

2018-04-25 15:50:38 257

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

题目:我是超链接题解:关于生成函数讲的最好的就是。。百度一下 生成函数,对于一个数列来讲就是一个函数,ta本身的x没有任何意义,而系数则是数列中的每一个数字,如果数列为h0,h1,h2..hn的话,生成函数g(x)就是 g(x)=∑infi=0hixig(x)=∑i=0infhixig(x)=\sum_{i=0}^{inf}h_ix^i这道题目是当做例题的裸题 应对这种一...

2018-04-24 21:59:40 624

原创 [BZOJ4515][SDOI2016]游戏(线段树+链剖+差分)

题目:我是超链接题解:我们先随意分析一下题目,这个处理路径上的最小值应该是树链剖分。 还有这个距离,一开始想的是lca,但我发现这个s作为一条路径的开始不能白费,而且对于每个节点和s求lca显然太慢了,我们考虑差分,即: 上升的路径:A(dis[s]−dis[r])+B=−Adis[r]+Adis[s]+BA(dis[s]−dis[r])+B=−Adis[r]+Adis[s]+...

2018-04-23 23:27:12 228

原创 [BZOJ3938]Robot(线段树)

题目:我是超链接题解:可以发现机器人走的都是一次函数,变了速度也是折线。 那么我们把时间离散化,建立时间上的线段树,然后就是普通的线段最高点覆盖问题 注意这里是绝对值,所以我们要维护最高值和最低值 随便说下思路没有代码...

2018-04-23 18:51:55 206

原创 [BZOJ3165][HEOI2013]Segment(不下放标记的线段树)

题目:我是超链接题解:这个线段遮挡的和那个BZOJ1568一样啊,除了给了一个范围,这样需要自己算delta 注意他给的有可能是x0=x1但是y0!=y1,这个时候给y0,y1取max。。。代码:#include <cstdio>#include <iostream>using namespace std;const int sb=1e9;...

2018-04-23 16:38:37 184

原创 [ZOJ3886]Nico Number(线段树)

题目:我是超链接题意:niconico数:所有比x小的数且与x互质的数,从小到大排列是一个等差数列,则x为niconico数。 长度为10^5的数组。三种操作:第一:询问区间[l,r] niconico数的个数第二:将区间 [ l , r ] 的数对v取模第三:将某一个数更新为x题解:首先我们打个表看看这个数,然后我们可以发现,一个数是niconico数有以下3种...

2018-04-23 10:41:32 162

原创 [CF438D]The Child and Sequence(线段树区间取模+区间和+单点更新)

题目:我是超链接题解:懒标记:对区间打下的标记,在用到的时候会pushdown 作用的条件:标记可以合并可以快速更新区间信息(下传方便)这个题目用到的区间修改,但不满足条件二,也就是无法快速更新区间和,而逐个更新对每个数取模太慢了有一个很重要的结论:任何一个数log次取模以内就能变为0,并且a%b=a(a < b)单点更新和区间和并无特殊之处,而对于每个区...

2018-04-23 08:48:20 609

原创 [BZOJ1568][JSOI2008]Blue Mary开公司(不下放标记的线段树)

题目:我是超链接题解:这绝对是我见过最敷衍的输出样例 可以发现这都是递增的一次函数 那么每次修改的时候我们都分三种情况:两端都大于(修改走人),两端都小于(走人),递归解决问题代码:#include <cstdio>#include <iostream>using namespace std;const int N=50005;struc...

2018-04-22 21:18:58 241

原创 【loli的胡策】测试4.20(主席树+凸包)

T1:n个数,m个询问,强制在线,每次给出l,r,求区间mex值 a[i]<=1e9,n,m<=200000题解:我为什么这么ZZ 这样的思路以前应该见过啊。 离线的做法? 首先处理出1~i的mex值用线段树维护,同时处理出nxt[i]表示这个数字的下一个位置 当我们把左节点右移的时候,会对i~nxt[i]这个区间造成的影响是:mex比这个数字大的全都要变成这...

2018-04-20 16:25:48 194

原创 [BZOJ1857][SCOI2010]传送带(三分套三分)

题目:我是超链接题解:先画个图 我们可以发现,答案必然是从AB上的某一个点出发,经过平面,到达CD上的另一点然后到达D。即答案可以表示为 |AF|/P+|FE|/R+|ED|/Q,其中F∈AB,E∈CD|AF|/P+|FE|/R+|ED|/Q,其中F∈AB,E∈CD|AF|/P+|FE|/R+|ED|/Q ,其中F∈AB,E∈CD 我们要找到最优解,其实就是在AB上确定一个点...

2018-04-19 19:43:34 205

原创 [BZOJ4868][六省联考]期末考试(贪心)

题目:我是超链接题解:我觉得枚举就可以解决这个问题了 发现学生和老师的顺序没什么影响,那就把两个都排序 枚举结束的时间,二分找到位置,计算出花费取min值就行代码:#include <cstdio>#include <algorithm>#define LL unsigned long longusing namespace std;co...

2018-04-19 15:14:14 232

原创 [POJ3301]Texas Trip(三分-最小正方形覆盖)

题目:我是超链接题解:设正方形的边都与坐标轴平行可以求出来一个正方形 如果这个正方形旋转一个角度的话正方形的大小可能会改变 经过我多年文化课做几何旋转题目,可以发现正方形的面积关于旋转角度的函数单峰如果面积随角度变化是单峰的函数,那么自然就可以想到是三分,按照题目要求求正方形最小的面积,如果正方形是平行于x轴的,那么正方形面积是x的最大距离*y的最大的距离。然后旋转正方...

2018-04-18 22:00:31 391

原创 [luogu3382]三分法(三分+秦九韶)

题目:我是超链接题解:二分是什么? 二分是在一个单调的范围内找中点比较,选择走左/右 三分是什么? 三分是在一个有最优值范围内找等分三份的两个点,比较大小,每次选择舍弃区间:左1/3OR右1/3,最后缩成一个相等的状态至于快速求多项式的值,可以O(n)秦九韶 秦九韶算法是啥?我早还给数学老师辣 比如:4x4+3x2+2x+1=(4x+0)x+3)x+2)x+14x4+...

2018-04-18 21:19:28 156

原创 [BZOJ3992][SDOI2015]序列统计(NTT+DP+ksm)

题目:我是超链接题解:从简单开始吧。 首先我们假设题目让求的是“数列中所有数的【和】%mod=x的不同方案数” 那么设F[i][j]表示选择i个数%mod=j的方案数 转移方程F[i][j]=∑|S|k=1F[i−1][j−Sk]F[i][j]=∑k=1|S|F[i−1][j−Sk]F[i][j]=\sum_{k=1}^{|S|}F[i-1][j-S_k]这个形式我们可以转化...

2018-04-18 20:10:39 195

原创 [BZOJ3513][MUTC2013]idiots(FFT)

题目:我是超链接题解:一个合格的三角形——–两小边之和>第三边 总情况数我们知道C3nCn3C_{n}^{3},这里要用容斥,总的-不合法的 我们设a[i]表示i长度的木棍有多少,两个木棍和为i的方案数为F[i] 那么F[i]=∑a(i−j)∗a(j)F[i]=∑a(i−j)∗a(j)F[i]=\sum a(i-j)*a(j),对于这个首先当i为偶数的时候,可能选择了两个一...

2018-04-18 10:42:01 201

原创 [COGS2287][HZOI2015]疯狂的机器人(NTT+Catalan数)

题目:我是超链接题解:又是上下左右走的问题。。。当初我的Catalan入门就是这玩意那么我们设g[i]表示走i步光走左右不走上下,不会不走,回到原点的方案数 可以发现当i为奇数的时候g[i]=0 考虑i为偶数的情况,肯定是选择i/2步向上走,i/2步向下走,并且时刻保证向上走的步数>=向下走的步数 这不就是Catalan数吗,可以用Ci/2i−Ci/2−1iCii/...

2018-04-17 20:25:08 161

原创 [BZOJ2425][HAOI2010]计数(数位+组合数学)

题目:我是超链接题解:数位dp的思想应该是把下界的都处理好了,然后做紧贴上界的计数我们先把所有有的数字记录下来,删掉零相当于把0移到最前面,所以和其他数字没什么区别 当各个数字个数分别为a0,a1...a9a0,a1...a9a0,a1...a9时,自由排列能产生的数的个数为(a0+a1+...+a9)!a0!a1!...a9!(a0+a1+...+a9)!a0!a1!...a9...

2018-04-17 11:08:13 179

原创 [BZOJ1833][ZJOI2010]数字计数(数位dp)

题目:我是超链接题解:感觉一直不会这类dp f[i][j][k]表示i位数以j开头,k数字出现的次数代码:#include <cstdio> #include <cstring>#define LL long longusing namespace std;struct hh{ LL a[10]; void cle...

2018-04-17 10:01:56 186

原创 【loli的胡策】测试4.16(线段树+概率期望dp)

T1题解仔细分析了题目发现并不是后缀家族的(松口气然后随便想了一个简单的思路,每次查询的时候遇到’)’就用链表遍历’(‘,然后遍历之间的’w’,至于’0’我们用一个树状数组查看w左边的‘0’个数和右边的‘0’个数乘积就是ans,然而这样的时间复杂度是很不稳妥的O(n2logn)O(n2logn)O(n^2logn),60pts然而这种区间修改单点修改我应该想到的———线段树...

2018-04-16 21:02:30 281

原创 概率期望题目记录

这是一个懒人的记录,因为要做的题目太多,这篇部分题目就写一下思路并不会有代码T1[BZOJ3270]博物馆(概率+高斯消元)思路f[i][j]表示A在i,B在j的概率,go[i]表示从i点到相邻某一个点的概率,go[i]=1−pdu[i]go[i]=1−pdu[i]go[i]={1-p \over du[i]} 那么f(i)(j)=f(i)(j)pipj+∑f(x)(j)...

2018-04-14 17:21:31 328

原创 [BZOJ3143][HNOI2013]游走(概率期望+高斯消元)

题目:我是超链接题解:与概率挂钩而且互相之间都有关系的我们考虑高斯消元(当然还有这么小的数据范围) 如果我们再设f[i]表示到i点的期望,那么由于权值不确定,我们有2n个未知数,然而并不能找到2n个方程 怎么办呢?我们设f[i]表示到i点的概率,不难发现f[i]=∑i,j相连f[j]du[j]f[i]=∑i,j相连f[j]du[j]f[i]=\sum_{i,j相连}{f[j]\...

2018-04-14 09:02:07 186

原创 [BZOJ1419]Red is good(概率期望dp)

题目:我是超链接题解:这种有几个状态问你收手的情况,一般设计f[i][j]表示红牌剩i张,黑牌剩j张的最优钱数 我们可以考虑倒推,f[i][j]=max(0.0,(f[i−1][j]+1)∗p+(f[i][j−1]−1)∗(1−p))f[i][j]=max(0.0,(f[i−1][j]+1)∗p+(f[i][j−1]−1)∗(1−p))f[i][j]=max(0.0,(f[i-1][...

2018-04-13 22:00:04 160

原创 [BZOJ3450]Easy(期望)

题目:我是超链接题解:一眼看上去好想dfs啊,n<=30000 我们考虑递推解决问题。f(i)表示以第i个字符结尾的期望得分,g(i)表示以第i个字母结尾o连续的期望长度 分情况讨论(设L为当前连续的o长度,其实就是g[i-1]啦) 当s[i]=’x’,L=0,显然f[i]=f[i-1],g[i]=0 当s[i]=’o’,L=L+1,得分从L2L2L^2变成L2+2L+1...

2018-04-13 21:29:59 128

原创 [BZOJ2752][HAOI2012]高速公路(线段树)

题目:我是超链接题解:这个题目期望的点就是把每一段的距离加起来然后/[(r-l+1)*(r-l)/2] 那么这道题目就剩下求每个子区间的和 的和 这个1e5的范围还有修改操作我们选择线段树 很明显权值是在边上的,这里我们已经考虑r–了,那么我们要求的值=Σcost[i]* (i-l+1)*(r-i+1) 其实并不难理解,就是包含这个数的左子集*包含这个数的右子集 然后拆开=(...

2018-04-13 19:50:04 194

原创 [BZOJ1415][NOI2005]聪聪和可可(概率期望+记忆化搜索)

题目:我是超链接题解:说是帮可可,最后还是看着聪聪把可可吃掉,灰姑娘你干啥吃的 状态还是比较容易想:f[i][j]表示聪聪在i,可可在j,聪聪吃掉可可时间期望,这样设计的基本支撑是:聪聪总是不断逼近可可,最后一定会吃掉可可。 我们可以bfs预处理出两点之间的最短距离,这样可以判断聪聪的行动了 那么几个基本的f[i][i]=0 dis[i][j]<=2,f[i][j]=1 ...

2018-04-13 15:16:11 206

原创 [BZOJ1076][SCOI2008]奖励关(状压dp+期望)

题目:我是超链接题解:看着自己的“概率期望(5)”再看看别人的“概率期望(40)”。。。。。恶补概率期望一波这个东西一看就要状压了,哪些物品抛出过,哪些没有 这一步的期望=(上一步的期望+这一步的收益)*上一步到这一步的概率 然而这都是很基本的知识。 那么用f[i][s]表示第i步状态为s的期望,由于正推没法确定最优解,所以我们选择倒推代码:#include &l...

2018-04-13 11:02:08 158

原创 [BZOJ1227][SDOI2009]虔诚的墓主人(树状数组+扫描线)

题目:我是超链接题解:首先离散横纵坐标. 以纵坐标为第一关键字,横坐标为第二关键字排序依次考虑每个点. 对于相邻的两个点a,b; 如果a.y=b.y;设在这一行,a左边算上a有sa棵树,b右边算上b有sb棵树.那么这一行上a,b之间的点都会产生c[sa][k]*c[sb][k]*t的贡献.(c[ ][ ]是组合数).t是a,b之间的点在它们的列上会产生的贡献.即形如(c[...

2018-04-13 09:15:54 244

原创 [BZOJ1367][Baltic2004]sequence(可并堆+中位数)

题目:我是超链接题解:这道题让我想起了曲神的胡策,把一堆数字变成一样的数字要的最小代价是什么呢?就是全都变成中位数啦那这个题目是什么意思呢?把一堆数字变成递增的需要的最小代价先考虑z1<=z2<=z3<=...<=znz1<=z2<=z3<=...<=znz_1w[i](w[1]<=w[2]<=...<=w[...

2018-04-12 17:49:44 164

原创 [BZOJ3011][Usaco2012 Dec]Running Away From the Barn(可并堆)

题目:我是超链接题解:自底向上维护左偏树(大根堆),每个点的权值是到根的距离 每次对于一个点x,把所有子节点merge到一起就代表这棵子树 如果堆顶的权值差>L就pop,动态地维护size代码:#include <cstdio>#include <iostream>#define LL long longusing namespace...

2018-04-12 16:22:51 148

原创 [HDU1512]Monkey King(可并堆)

题目:我是超链接题解:可并堆的裸题,这次的操作是合并,删除,插入,插入的话就是把一个点merge到一个堆里,别的都是基本操作了代码:#include <cstdio>#include <cstring>#include <iostream>using namespace std;const int N=100005;int f[...

2018-04-12 14:38:03 195

原创 [BZOJ1455]罗马游戏(可并堆)

题目:我是超链接题解:最近刚刚合并了一堆东西现在学这玩意不虚这题目描述好血腥啊 其实可并堆就是把堆合并起来,通过并查集维护目前的根节点 合并两个堆的操作就是:根节点放最小的元素,要满足左偏的性质,合并的时候把B和A的右子树合并 弹出最小点并删除的操作:首先最小点就是“代表元素”的权值(目前的根节点),删除的话就是合并现在的左子树右子树,不要现在的根节点而是给他们找一个新爸...

2018-04-11 21:34:23 142

原创 [BZOJ2212][POI2011]ROT-Tree Rotations(线段树合并)

题目:我是超链接题解:统计一棵树的逆序对数就是左子树逆序对数+右子树逆序对数+左右子树之间的逆序对数 这个左右子树之间的话,如果我们用权值线段树,那么可以通过讨论交不交换,用左子树个数*右子树之类的,然后直接求min值 注意要区分原树中的左右节点和线段树中的左右节点代码:#include <cstdio>#include <iostream&gt...

2018-04-11 16:31:48 187

原创 [BZOJ3551][ONTAK2010]Peaks加强版(kruskal+主席树)

题目:我是超链接题解:强制在线的话我们就不能使用平衡树+启发式合并来做了 我们考虑做kruskal,每次合并两个连通块的时候创造一个新节点z,使fa[x]=fa[y]=z,这个点的权值就是边权了,我们可以这样建立出一棵树 不难发现,树上两个点的lca代表着图上两个点路径的最大值,并且因为kruskal,这里的最大值一定是最优的 另外,这棵树是一个大根堆 那么我们每次询问的时候从...

2018-04-10 21:59:05 216

原创 [BZOJ3123][SDOI2013]森林(主席树合并)

题目:我是超链接题解:一个是链上求第k大,另一个是连接一条边,强制在线 这样不是连通块内的第k大我们考虑权值线段树,连接一条边就是线段树的合并,对于链上的问题,我们需要采用可持久化的线段树-主席树,而且是树上主席树,即给每个点建一棵主席树,维护到根节点的所有点,这样答案就是sum(a)+sum(b)−sum(lca(a,b))−sum(fa(lca(a,b))) 还要连接一条边...

2018-04-10 17:30:42 267

原创 [BZOJ3545][ONTAK2010]Peaks(线段树合并||splay启发式合并)

题目:我是超链接题解:首先是splay启发式合并,我们离线后将询问排序,对于每一个询问,我们把比ta小的边权加入然后给连通块维护splay,每次启发式合并查询排名 我们可以用更加优秀的线段树合并,不要忘了线段树也可以用来查询区间第k大,首先这个范围是1e9我们要离散化,然后和splay的启发式合并是一样的,只是我们每次合并线段树。时间复杂度O(nlogn)O(nlogn)O(nlog...

2018-04-10 11:24:25 325

原创 [BZOJ2733][HNOI2012]永无乡(并查集+splay启发式合并)

题目:我是超链接题解:求解集合内第k大的话是splay的基本操作 那么维护连通性用并查集,然后就是个splay启发式合并的裸题了。 splay启发式合并,按照splay的后序遍历进行合并,不然如果你从头就开始合并父子关系就混乱了 时间复杂度是O(nlog2n)O(nlog2n)O(nlog^2n)代码:#include <cstdio>#incl...

2018-04-09 23:34:21 210

原创 [BZOJ1483][HNOI2009]梦幻布丁(链表+启发式合并)

题目:我是超链接题解:我们可以给每一种颜色建立链表,因为链上的颜色总是一起变的,那么修改的时候只需要将链表合并就行了,把小的合并到大的里面去,那么均摊的复杂度就是O(nlogn) 动态的维护答案,当合并的时候看看左看看右,如果是要变成一样的颜色就答案- - 这里还有一个小细节,我们把小的合并进入大的,但并不一定是小的的颜色变成大的颜色。怎么办呢?我们设置一个id[i]表示i这个颜色...

2018-04-09 20:07:16 125

原创 [BZOJ5249][多省联考2018]IIIDX(线段树)

题目:我是超链接题解:首先很显然我们有一个贪心的思路:后序遍历从大到小填数,trick一下可以得到60pts 但是对于下面这组数据显然是没有用的 4 2 1 1 1 2 我们贪心的答案是1 1 1 2,但更优的方案是1 1 2 1 那么考虑一下怎么消除这种有重复数字的情况,我们发现只有排名一样的情况下需要考虑前后 我们可以按位贪心,即在给后面预留出足够位置的情况下先填好...

2018-04-09 17:38:02 240

原创 [BZOJ5248][多省联考2018] 一双木棋(对抗搜索+hash)

题目:我是超链接题解:考试的时候就打了25pts的暴力分 其实从暴力的做法是可以得到启迪的。 我们把所有搜索的状态记录下来,然后如果这一步该A走,就在可以走的几步中选择Max的状态走;如果这一步该B走,就在可以走的几步中选择Min的状态走,这应该是所谓的对抗搜索 考虑一下所有的状态,一定是一个从上往下的阶梯型 因为n,m<=10 所以我们可以用一个n位的m+1进制数把...

2018-04-09 08:44:28 269

空空如也

空空如也

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

TA关注的人

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