自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 斜率DP十连测

最近学校里很多题目都没时间做,顺便来写一下博客 斜率DP十连: A[征途] 注意到,原题的式子,等价于m∑a2i−(∑ai)2m∑ai2−(∑ai)2后面部分是常数 那么我们就可以写出dp方程f[i,j]=min{f[i−1,k]+(sj−sk)2},k<jf[i,j]=min{f[i−1,k]+(sj−sk)2},k<j ...

2018-08-13 00:00:00 158

转载 数学公式测试

Testing 癌症,而且是恶性程度很高的哪一种。 一开始,全家人都不相信,妈妈带着我把本地所有三甲医院都转遍了。 确诊,我爸说,瞬间天昏地暗,站不稳。 手术前一天,妈妈做梦去世的奶奶要带我走,梦里哭着喊着把我拉了回来。 术前签字是我妈签的,因为我爸不敢。 在手术室呆了大概七个小时,对我来说就像睡了一觉,而我父母,在跟死神抢我。 生病前,我...

2018-08-09 16:06:00 953

转载 51Nod1038 X^A Mod P

题目看这里 经典的n次剩余问题,用到很多数论知识点 1.扩展gcd 2.原根 3.离散对数 4.n次剩余 说一下这个算法的流程 首先,我们的方程为xn=a(modm)xn=a(modm) m为质数 那么,我们首先要找m的原根g,这里g要满足的性 质就是对于任意i<j<m,gi≠gj(modm)任意...

2018-08-02 09:54:00 158

转载 51Nod2026 Gcd and Lcm

题目看这里 一个非常好的题! 好的,看到题目就很懵逼 首先这个f不就是ϕϕ吗,认真一看才发现不对 让后问题?f(lcm)*f(gcd)? 肯定有问题,推了一会没有结论,去看看题解: 有这么一个神奇结论f(gcd(x,y))∗f(lcm(x,y))=f(x)∗f(y)f(gcd(x,y))∗f(lcm(x,y))=f(x)∗f...

2018-08-02 09:32:00 158

转载 51Nod1192 Gcd表中的质数

题目看这里 又到了推式子的时候了,莫比乌斯反演入门题 ∑i=1n∑j=1m[prime(i,j)]∑i=1n∑j=1m[prime(i,j)] 首先搞一个f(d)f(d)表示有多少对(i,j)的gcd就是d 那么原式=∑nd=1[prime(d)]∗f(d)=∑d=1n[prime(d)]∗f(d) 设F(x)=∑x|df(d)=[...

2018-08-02 09:12:00 111

转载 51Nod1239 欧拉函数之和

题目看这里 最近才学的杜教筛,顺便就写一写模板题吧 杜教筛简易教程 直接上代码了 #include<map>#include<stdio.h>#include<string.h>#include<algorithm>#define N 10000010#define ...

2018-08-02 08:49:00 99

转载 51Nod1472 取余最大值

题目看这里 又是一个七级题目 妥妥的分治啊,枚举右端点,左边分两段计数就好啦~ 关于标解: 网上好像很多都是前缀和+二分之类的,反正应该差不多快吧 #include<stdio.h>#include<string.h>#include<algorithm>#define N 300010#...

2018-08-01 14:16:00 76

转载 51Nod1592 数列积

题目看这里 无比暴力的大分块,极端不优美 听说很多人用莫队水过去了,我还是被最后一个点卡WAing(本地都过了) 说下解法: 首先,将整个序列分块,分成n−−√n块 将区间分成三个部分:前面多出来的+中间若干整块+后面多出来的 价值就可以这样计算:中间若干块+前面部分自身价值+后面部分价值+前面和后面与中间产生的价值+前面和后面产生的价值...

2018-08-01 09:05:00 85

转载 [笔记]杜教筛核心原理

∑ni=1∑mj=1gcd(i,j)∑i=1n∑j=1mgcd(i,j) =∑nd=1d∗f(d)=∑d=1nd∗f(d) =∑nd=1d∗∑d|jμ(j/d)∗F(d)=∑d=1nd∗∑d|jμ(j/d)∗F(d) =∑i×j<=ni∗μ(j)∗F(i∗j)=∑i×j<=ni∗μ(j)∗F(i∗j) =∑nT=1F(T)∗ϕ(T)=...

2018-07-29 18:44:00 85

转载 51Nod1306 高楼和棋子

题目看这里 一个非常好的逆向思维题(都是套路233) 如果直接做发现其实可以做,但是数据范围太大不能过了,具体做法参考这里 开始正文: 首先,我们设f[i,j]表示f[i,j]表示在有i个棋子的情况下,扔j次能保证测出的楼层最高是多少,显然如果n可以被测出,那么n-1也可以被测出 于是考虑一下最优策略是什么 在高度h扔一个棋子下...

2018-07-29 11:30:00 75

转载 51Nod1037 最长的循环节 V2

题目看这里 小学奥数题目23333 首先我们知道,0.0˙0...001˙=1/99..90.0˙0...001˙=1/99..9 那么任意一个循环小数都可以写成以10k−110k−1为分母的分数 让后稍加分析就知道,满足条件的最小的k就是循环节的长度 那么题目就变成了求一个数s,使得满足10k=1(mods)10k=1(...

2018-07-28 23:17:00 125

转载 51Nod1594 Gcd and Phi

题目看这里 一个简单的反演题目: ∑i=1n∑j=1nϕ(gcd(ϕ(i),ϕ(j)))∑i=1n∑j=1nϕ(gcd(ϕ(i),ϕ(j))) 首先做一下变换 ∑ni=1∑nj=1ϕ(gcd(ϕ(i),ϕ(j)))∑i=1n∑j=1nϕ(gcd(ϕ(i),ϕ(j))) =∑nd=1ϕ(d)∗f(d)=∑d=1nϕ(d)∗f(d) 这里f(...

2018-07-27 20:19:00 71

转载 51Nod1543 铁人两项

题目点这里 一个非常好玩的题目 一开始各种推结论没有推出来,后来看到一位大佬提到“凸包”突然明白 首先去掉所有两项速度都比某个人慢的那些,让后开始分析剩下的人 我们设函数Ti(x)=x/ri+1/siTi(x)=x/ri+1/si 令R/S=xR/S=x我们就可以通过比较Ti(x)Ti(x)得到各个选手的用时大小关系 又因为显然...

2018-07-26 17:55:00 92

转载 51nod1803 森林直径

题目看这里 (为什么xhEditor不能支持字体了,不管了,那就用markdown吧) 一个非常有意思的题目,首先考虑离线做法,把所有的询问按照l排序,所有的边倒序插入整个树中 我们需要维护两个东西: 1.f[x][i]表示当整颗树有[x,f[x][i]]这一个区间内的所有边时,以x为根的子树存在一个深度为i的儿子,满足条件最小的f[x][...

2018-07-25 17:59:00 101

转载 圆周率 π 是否隐藏了本个宇宙的设计者留给这个宇宙的智慧文明的某种信息?...

还是太naive了。我要是宇宙设计者,我就把信息藏在蔡廷常数里,这才是对人类最大的嘲讽。蔡廷常数,其含义是找随机生成一段程序,这段程序不会陷入死循环的概率。可以证明这是一个确定存在的无理数,但是同样可以证明它是不可以被计算出来的。实际上,能被计算出来的实数的集合是可数无穷的,所以说不能被计算出来的实数是可以计算出来的实数的无穷多倍。像 这种能计算出...

2018-06-29 21:56:00 327

转载 开普勒第三定律

开普勒第三定律也叫行星运动定律。开普勒第三定律的常见表述是:绕以太阳为焦点的椭圆轨道运行的所有行星,其各自椭圆轨道半长轴的立方与周期的平方之比是一个常量。德国天文学家约翰尼斯·开普勒根据丹麦天文学家第谷·布拉赫等人的观测资料和星表,通过开普勒本人的观测和分析后,于1609年在他出版的《新天文学》上发表了关于行星运动的前两条定律,又于1618年,在《宇宙谐...

2018-06-24 21:16:00 1312

转载 ∂^9f/∂x^9

∂^9f/∂x^9(x^sin(x))=(x^sin(x)*sin(x)^9+((9*x^(sin(x)+1)*cos(x)-36*x^(sin(x)+2))*log(x)-36*x^sin(x))*sin(x)^8+((36*x^(sin(x)+2)*cos(x)^2-252*x^(sin(x)+3)*cos(x)+378*x^(sin(x)+4))*...

2018-05-23 14:00:00 86

转载 51Nod1190 最小公倍数之和 V2

题目看这里繁衍反演真好玩来看看这个题的式子求Σlcm(i,b) (a<=i<=b)首先不难发现以下这样的变换让后做一下差分就得到答案,注意这题比较卡时间,需要比较好的优化#pragma GCC opitmize("O3")#pragma G++ opitmize("O3")#include<stdio.h>#include&...

2018-05-15 22:09:00 80

转载 不可能三角

“不可能三角”(Impossible trinity)是指经济社会和财政金融政策目标选择面临诸多困境,难以同时获得三个方面的目标。在金融政策方面,资本自由流动、汇率稳定和货币政策独立性三者也不可能兼得。基本内涵“不可能三角”即一个国家不可能同时实现资本流动自由,货币政策的独立性和汇率的稳定性。也就是说,一个国家只能拥有其中两项,而不能同时拥有三项。如果一...

2018-05-05 23:19:00 299

转载 GDOI2018

前言该拿的分一分不失,是我本次GDOI最成功的地方Day0考前延续了在JZ腐败的习惯,直到十点半还在淦CR,突然意识到我自己可能真的完蛋了,于是删了安卓模拟器来复习模板(事实证明并没有对后面的解题起到作用但是直到心情恢复了一点)带着非常慌张的心,抱着自己带的抱枕,还是睡着了Day1早餐超级好吃直到走到了一中才发现天气热到爆炸,还好考场里面有空调,路上一直...

2018-05-05 22:04:00 175

转载 51Nod1364 最大字典序排列

题目看这里一道比较简单的贪心题容易想到从前到后确定每一位我们可以用一个splay来维护当前未确定的部分的顺序假设当前剩下k次操作机会那么我们可以求出splay中前k+1个元素中的最大元素i,令k减少rank(i),让后将其输出并从splay中删掉最后k=0时,输出splay中剩余元素比题解那个线段树好写多了,主要是不用想,而且splay还挺快的#incl...

2018-04-27 22:04:00 73

转载 51Nod1537 分解

题目看这里基于一个思想,如果x=y+1 那么一定有x%M=y+1%M可以发现1+√2和复数有着类似的运算法则,可以用快速幂加取模来计算所以我们考虑用几个不同的模数来判断,如果都有x=y+1,那么就可以认为问题有解#pragma GCC opitmize("O3")#pragma G++ opitmize("O3")#include<stdio....

2018-04-27 21:42:00 93

转载 51Nod1353 树

题目看这里题意很简单,大概是有多少种删边方法使得每一块大小不小于k我们设一个树形dp,f[i][j]表示i的子树中,i所在联通块的大小为j的方案数有多少特别的,我们用f[i][0]表示∑f[i][j] (j>=k)那么可以写出以下转移:f[x][i+j]+=f[x][i]*f[v][j] (j>0)f[x][i]=f[x][i]*f[v][0...

2018-04-27 21:09:00 65

转载 51Nod1257 背包问题 V3

题目看这里01分数规划入门题这道题有非常经典的错误解法:按照pi/wi排序这样是不能保证答案最大的,反例(本体样例)已经有了那么我们来考虑怎么做首先我们二分这个答案ans让后我们给每个物品i设置一个权值v[i]=p[i]-ans*w[i]所有物品按照v排序,取前k大求和那么如果ans是正确答案,那么显然,这个和S=0如果ans大于正确...

2018-04-27 20:01:00 61

转载 51Nod1225 余数之和

题目看这里数论好题我们以前在做反演的时候,常常用到一个叫做分块除法的东西具体来说,[n/i]只会有不超过√n种取值那么这题也可以这样做 因为n%i=n-[n/i]*i我们可以对i分块,对于[n/i]取值相同的一起计算,那么每次就是一个等差数列求和,总复杂度O(√n)#include<stdio.h>#include<string.h&...

2018-04-27 19:45:00 105

转载 破窗理论

“破窗理论”是法国19世纪经济学家巴斯夏作为批评的靶子而总结出来的,见其著名文章《看得见的与看不见的》,下面是这一段的译文: 你是否见过这位善良的店主——詹姆斯·B·萨姆纳先生生气的样子?当时,他那粗心的儿子不小心砸破了一扇窗户玻璃。如果你置身于这样的场合,你恐怕会看到这样的情景,每个看客,看到这种局面的每个人,都会不约而同地如此这般地安慰这位不幸的...

2018-04-27 19:37:00 305

转载 51Nod1215 数组的宽度

题目看这里各种求和最好玩的啦看到题目就应该知道要单独考虑每个元素的贡献那么一个元素i的贡献肯定是a[i]*(l[i]-i)*(i-r[i]),这里l,r分别表示左边和右边第一个比i大的数的位置最大值部分的贡献算完了最小值是类似的考虑怎么求这个l和r,直接上单调栈就可以了(code很难看当时不知道在想什么写成这样)#pragma GCC ...

2018-04-27 17:38:00 106

转载 51Nod1204 Parity

题目看这里+一看求和就知道是要先用前缀和的让后看到类似相等和不相等的条件,可以考虑并查集当然这道题由于变量的值一定是0,1所以关系只有不等号也有反传递性,可以直接拆点来做如果s[i]=s[j]那么我们就将i,j所在的并查集合并,将i'和j'所在的并查集合并否则我们将i'和j合并,i和j'合并当一次合并之后发现i和i'在同一个集合里时,直接输...

2018-04-27 17:30:00 64

转载 51Nod1158 全是1的最大子矩阵

题目看这里想到了NOIP普及组当年那道题做法非常显然,O(n^2)枚举矩形的上下边界,让后用一个dp+前缀和就搞定了f[i]表示以第j列作为结尾的最大子矩形的宽,那么如果第i列在[l,r]的范围都是1,那么f[i]=f[i+1],否则f[i]=0答案就是max{(r-l+1)*f[i]}#pragma GCC opitmize("O3")...

2018-04-27 17:20:00 62

转载 51Nod1120 机器人走方格 V3

题目看这里一个数学题,答案就是卡特兰数*2求卡特兰数要用到组合数求法f[n]=C(2n-2,n-1)/n由于模数较小,可以Lucas定理直接做,但是这样是有问题的因为n不一定和模数互质,但是还是A了,数据比较水#pragma GCC opitmize("O3")#pragma G++ opitmize("O3")#include<s...

2018-04-27 17:11:00 50

转载 51Nod1084 矩阵取数问题 V2

题目看这里一个经典的dp题,典型的错误思想就是做两遍我们考虑直接做,f[i][j][x][y]表示第一次取道i,j这个位置,第二次到了x,y这个位置考虑这个i,j和x,y分别是从哪里转移过来,就可以得到方程f[i][j][x][y]=max(f[i-1][j][x-1][y],f[i][j-1][x-1][y],f[i-1][j][x][y-1...

2018-04-27 17:03:00 128

转载 51Nod1294 修改数组

题目看这里一个非常好的结论题发现题目要求要严格递增而且要求要正整数,所以直接做LIS不行我们令原序列s变为s[i]-i那么如果s[i]-i是一个负数,肯定不符合题意答案加一去掉所有负数以后,就可以对s做一个LIS了,这里LIS可以是严格非降的就可以了#include<stdio.h>#include<string.h&...

2018-04-27 16:16:00 129

转载 51nod1122 机器人走方格V4

题目看这里看一看知道可以dp设f[i][s1][s2][s3][s4]表示走了i步,每个机器人分别在哪个格子里用矩阵优化但是发现状态数过于巨大,会TLE考虑设f[i][j][k]表示走了i步,从j格子走到k格子的方案数那么显然f[i]=T^i 其中T是全1矩阵减掉单位矩阵那么可以快速幂求出f接下来枚举4的全排列g,表示第i个机器人走到g...

2018-04-27 11:50:00 58

转载 多项式相关模板#1

一个模板,功能大概就是加减,乘法,求逆和除法,后面(可能)会加上exp,ln,多点求值,插值,取模#pragma GCC optimize("O3")#pragma G++ optimize("O3")#include<stdio.h>#include<string.h>#include<algorithm&g...

2018-04-23 16:30:00 70

转载 51Nod1514 美妙的序列

题目看这里需要开一个新的分类了,生成函数相关这道题确实非常的入门分析得知,不合法方案就是存在一个i<n使得s[1..i]是一个1..i的排列那么设f[n]表示n的答案,可以得到f[n]=n!-∑f[i]*(n-i)! (i<n)移项得到∑f[i]*(n-i)!=n! (i<=n)发现可以生成函数设F(x)=∑f[i]*...

2018-04-23 16:10:00 111

转载 Jzoj5674 香槟

有一棵n 个节点的树,初始时所有节点都为空。Alan 和Bob 在树上玩游戏,双方轮流进行,Alan先手。每轮中,Alan 可以选择一个空节点x,在x 上放一个波澜哥;Bob 每轮可以选择一个空节点y,将y 节点以及所有与y 相邻的节点上都放置一个面筋哥。可能存在节点既有波澜哥,又有面筋哥。当所有节点非空时,游戏结束。由于面筋哥比较得劲...

2018-04-20 21:43:00 146

转载 Jzoj5669 排列

有n 个数x1 ~xn 。你需要找出它们的一个排列,满足m 个条件,每个条件形如x_a 必须在x_b之前。在此基础上,你要最大化这个排列的最大子段和。神题,这里先orz一下当场切掉的神犇wjw看下数据范围,n<=500感觉是网络流,结果就是构图方式,每个点拆开成a[i],b[i]如果x[i]>0,那么S->a[i],b...

2018-04-20 21:29:00 169

转载 Jzoj5665 奥立卡的诗

终于又遇到SAM的题了好好玩,而且就这道题让我弄清楚了广义SAM和Trie上SAM的区别其实两者是没有多少区别的,不过Trie上SAM可以更快关于Trie上SAM,是用bfs的方法来构建的,相比起广义SAM用dfs建少了一个深度之和的部分但是如果原题给的就是Trie那么就只能用bfs了,因为dfs会被卡成O(n^2) (考虑一个扫把)回到本题...

2018-04-20 21:18:00 143

转载 Jzoj5644 凫趋雀跃

经典套路容斥题直接dp做是O(TxTyRk)的可以60分满分做法又要用到经典的容斥法我们设f[i][x][y]表示走i步,走到x,y的方案(不考虑不合法向量)设g[i][x]表示走了i步不合法的向量,走到了(x,x)的方案数二项式反演得Answer=∑(-1)^i*C(R,i)*g[i][x]*f[R-i][Tx-x][Ty-x]考虑...

2018-04-20 21:07:00 75

转载 Jzoj5661 药香沁鼻

有依赖关系的树形背包,算是又积累了一种做法一个经典的做法就是设f[x][j]表示在x子树内,容量为j的最大获利那么转移可以写成 f[x][j]=max{f[x][j],f[x][j-k]+f[v][k]} v是x的子树我们在dp时记录背包的剩余空间,就可以得到80分一个更好的优化就是用dfs序,复杂度直接下降为O(nm)当然最快的做法还是直...

2018-04-20 20:57:00 61

空空如也

空空如也

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

TA关注的人

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