自定义博客皮肤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.

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

原创 【POJ3525】Most Distant Point from the Sea-半平面交+二分答案

测试地址:Most Distant Point from the Sea 题目大意:给定一个凸多边形,求凸多边形内某点到各边的最小距离的最大值。 做法:本题需要用到半平面交+二分答案。 首先答案显然具有单调性,所以我们二分答案,转化成判定性问题。 考虑答案ddd,我们只要将构成原凸多边形的半平面都向内缩ddd个单位长度,然后判定半平面交存不存在即可。因为不用排序,所以时间复杂度为O(n)O...

2018-02-27 23:23:09 271

原创 【POJ1279】Art Gallery-半平面交

测试地址:Art Gallery 题目大意:给定一个多边形,求多边形内有多大的区域使得站在这些区域中的任何一点都可以看到整个多边形的内部。 做法:本题需要用到半平面交。 要能从一个点看到一条边,该点就必须在这条边连成的直线上靠内的那一侧,并且没有其他边遮挡。nnn条边就相当于有nnn个上述的限制条件,于是就相当于求半平面的交。 用排序增量法来解决这一问题。首先将所有半平面用向量表示,向量的...

2018-02-26 18:27:44 293

原创 【POJ3243】Clever Y-扩展BSGS算法

测试地址:Clever Y 题目大意:求关于xxx的方程AxmodC=BAxmodC=BA^x\mod C=B的最小非负整数解。 做法:本题需要用到扩展BSGS算法。 这个东西我觉得这篇文章讲得很清楚了,我自己来说可能讲得不比原来的题解清楚,所以这里就直接贴出链接:点我。 以下是本人代码:#include <bits/stdc++.h>#define ll long ...

2018-02-25 22:45:26 392

原创 【POJ2417】Discrete Logging-BSGS算法

测试地址:Discrete Logging 题目大意:给定质数PPP和小于PPP的两个正整数B,NB,NB,N,求满足BLmodP=NBLmodP=NB^L\mod P=N的最小的非负整数LLL。 做法:本题需要用到BSGS算法。 由费马小定理我们得知,最小的答案LLL一定满足0≤L<P0≤L<P0\le LO(P)O(P)O(P)的,并不能承受。 我们令L=i×m+jL=i×...

2018-02-25 20:58:25 208

原创 【BZOJ1086】王室联邦(SCOI2005)-树分块

测试地址:王室联邦 做法:本题需要用到树分块。 这题是树分块的模板,我们来看一下该怎么分。 DFS整棵树,维护一个栈,当遍历完一个点时将这个点加入栈中。对于一个点,每遍历完它的一棵子树,检查栈内元素是否达到BBB个,如果达到就把这些元素分成一个块(本题中是一个省),块的根设为当前点(本题中为省会)。 但是,如果在一棵子树中还有剩余的点,而这些剩余的点数和另一棵子树中底部的点加起来达到BBB...

2018-02-24 22:56:43 210

原创 【SPOJ10707】Count on a tree II-树上莫队算法

测试地址:Count on a tree II 题目大意:有一棵树,每个点有一个点权,多个询问,每次询问一条路径上有多少个不同的点权。 做法:本题需要用到树上莫队算法。 我们知道这题如果出在序列上就是莫队算法的裸题,而这题就是树上莫队算法的裸题。 我们知道要使用莫队算法,必须要将一条路径化为一个区间。从这个意义上来说,树上莫队算法的思想和树链剖分类似,都是将一棵树化为一个序列,但是树链剖分...

2018-02-24 10:54:59 331

原创 【BZOJ3289】Mato的文件管理-莫队算法+树状数组

测试地址:Mato的文件管理 做法:本题需要用到莫队算法+树状数组。 在想区间维护之前,首先要思考这个最小交换次数到底是个什么东西。实际上,答案就是这个区间中的逆序对数。我们现在证明一下这个结论。 我们知道排完序后逆序对数为000,而且只有这样的一个状态逆序对数才有可能为000,而其他状态都是有逆序对的。显然对于这些状态一定存在一个iii使得Ai>Ai+1Ai>Ai+1A_i>A...

2018-02-23 22:11:36 239

原创 【BZOJ2120】数颜色-带修改莫队算法

测试地址:数颜色 做法:本题需要用到带修改莫队算法(虽然暴力好像可过……)。 在不带修改的莫队算法里,我们是将状态(l,r)(l,r)(l,r)向状态(l±1,r),(l,r±1)(l±1,r),(l,r±1)(l\pm 1,r),(l,r\pm 1)转移,而带修改的莫队算法就是在状态中加上一维lastlastlast,表示上一次修改操作的编号,然后状态转移变成将状态(l,r,last)(l,...

2018-02-23 19:12:44 229

原创 【HDU4676】Sum Of Gcd-莫队算法+欧拉函数

测试地址:Sum Of Gcd 题目大意:给定一个111~nnn的全排列AAA,若干个询问,每次询问给出一个区间[l,r][l,r][l,r],要求得出∑l≤i<j≤rgcd(Ai,Aj)∑l≤i<j≤rgcd(Ai,Aj)\sum_{l\le in=∑d|nφ(d)n=∑d|nφ(d)n=\sum_{d|n}\varphi(d) 那么有: ∑l≤i<j≤rgcd(Ai,A...

2018-02-23 17:44:38 296

原创 【BZOJ4827】礼物(AHOI&HNOI2017)-FFT

测试地址:礼物 做法:本题需要用到FFT。 为了方便讨论,我们把装饰物的编号设为000~n−1n−1n-1,并把所有的调整操作都仅视为对第一串手环进行,显然这样并不失一般性。 不难看出,第一串手环旋转kkk位,并增加ccc的亮度(如果原操作是对第二串手环亮度增加ccc,那么这里就是增加−c−c-c)的差异值为: ∑n−1i=0(x(i+k)%n+c−yi)2∑i=0n−1(x(i+k)%n...

2018-02-22 21:44:42 302

原创 【CF103D】Time to Raid Cowavans-分块+离线处理

测试地址:Time to Raid Cowavans 题目大意:维护一个长为n(≤3×105)n(≤3×105)n(\le 3\times 10^5)的数列AAA,要求处理m(≤3×105)m(≤3×105)m(\le 3\times 10^5)个询问,每次询问给出一个数对(a,b)(a,b)(a,b),询问Aa+Aa+b+Aa+2b+...+Aa+kbAa+Aa+b+Aa+2b+...+Aa+...

2018-02-22 13:59:15 374

原创 【BZOJ3992】序列统计(SDOI2015)-NTT+循环卷积+快速幂

测试地址:序列统计 做法:本题需要用到NTT+循环卷积+快速幂。 这个题我们很快就想出状态转移:令f(i,j)f(i,j)f(i,j)为前iii个数的乘积模mmm的结果为jjj的数列方案数,那么有: f(i,j)=∑0≤k<m∑l∈S[(k×l)%m=j]f(i−1,k)f(i,j)=∑0≤k<m∑l∈S[(k×l)%m=j]f(i−1,k)f(i,j)=\sum_{0\le k...

2018-02-21 12:07:04 624

原创 【BZOJ3527】力(ZJOI2014)-FFT

测试地址:力 做法:本题需要用到FFT。 把题目所给式子中的qjqjq_j除掉,我们发现题目要求: Ej=∑i<jqi(i−j)2−∑i>jqi(i−j)2Ej=∑i<jqi(i−j)2−∑i>jqi(i−j)2E_j=\sum_{ij}\frac{q_i}{(i-j)^2} 然而本人自己做到这里就并不会推了(即使在知道要使用FFT的情况下)。在本人看了题解之后,发...

2018-02-20 22:28:25 228

原创 【HDU4609】3-idiots-FFT+生成函数

测试地址:3-idiots 题目大意:有nnn条线段,问从里面随机取333条线段,能组成三角形的概率。 做法:本题需要用到FFT+生成函数。 首先,求概率就是用合法方案数除以总方案数,这里总方案数显然是n(n−1)(n−2)/6n(n−1)(n−2)/6n(n-1)(n-2)/6,因此我们只需要求合法方案数。最暴力的思路就是O(n3)O(n3)O(n^3)枚举,但是这样显然无法通过本题,需要...

2018-02-15 21:41:11 801

原创 【LuoguP3803】多项式乘法-FFT/NTT模板题(附带FFT/NTT简单介绍)

测试地址:多项式乘法 做法1:本题需要用到大名鼎鼎的FFT——快速傅里叶变换(Fast Fourier Transform)。 FFT是一个……计算向量卷积的东西(大概吧,才疏学浅,还请各位大佬见谅),而向量卷积,说白了就是多项式乘法。在学习FFT之前,先简单介绍DFT(离散傅里叶变换)和IDFT(逆离散傅里叶变换)的概念,简单来说,DFT是将多项式由系数表示法变为点值表示法的过程,而IDFT...

2018-02-14 17:29:23 546 1

空空如也

空空如也

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

TA关注的人

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