自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

到处遛鸟刑警

只有经历过痛苦,才能体会幸福的滋味。

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

原创 noip2021游记

(http://music.163.com/song?id=1331593956&userid=477320602)真好听因为发烧的关系,得以机会作此篇游记啊,考前两周就开始停课,不上正常的课,考前两个月就没上过晚修,专心搞竞赛了吧导致期中考试考的稀巴烂,考了个年级150+的好名次,我人麻掉了中间经历了许多的大悲(这个等会会讲),我我觉得要写点东西记录一下最近的一些对于人生的思考啥的。考前两周,每次模拟赛 400分的卷子,都可以在理论上做到100—200,(大概在300人里面有前30多吧

2021-11-22 17:45:44 611

原创 FMT与子集卷积

FMT与子集卷积求Cx=∑i⋃j=xai∗bjC_x = \sum_{i\bigcup j = x}a_i*b_jCx​=∑i⋃j=x​ai​∗bj​sol.构造一个FMT(A)=∑i⊂xaiFMT(A) = \sum_{i\subset x}a_iFMT(A)=∑i⊂x​ai​FMTx(A)∗FMTx(B)=∑k⊂x∑i⋃j=kai∗bj=∑k⊂xCk=FMTx(C)FMT_x(A) * FMT_x(B) = \sum_{k \subset x}\sum_{i \bigcup j = k}a_i

2021-02-12 17:20:09 262

原创 二项式系数

有趣的一些小性质对于杨辉三角来说,有一个非常好的性质你可以发现对于任意一个杨辉三角的3x3格子来说x1,1, x1,2, x1,3x2,1, x2,2, x2,3x3,1, x2,2, x3,3有:x1,1∗x2,3∗x3,2=x1,2∗x3,3∗x2,1x_{1,1} ,\ x_{1,2} ,\ x_{1,3}\\x_{2,1} ,\ x_{2,2} ,\ x_{2,3}\\x_{3,1} ,\ x_{2,2} ,\ x_{3,3}

2021-02-01 21:19:43 199

原创 Sterm-Brocot Tree

比较有趣的结构:还有很多性质令自己与父亲分别为:ab, cd\frac{a}{b} ,\ \frac{c}{d}ba​, dc​ 有c∗b−a∗d=1c*b - a * d = 1c∗b−a∗d=1令自己与对称的自己分别为:ab, cd\frac{a}{b} ,\ \frac{c}{d}ba​, dc​ 有c∗b−a∗d=3c*b - a * d = 3c∗b−a∗d=3任何一个既约真分数(分子分母互质)都出现比如可以二分来查找第k大比如用矩阵来写,

2021-01-31 20:31:05 161

原创 GDKOI2021 day1 拟阵

三条性质 拟阵(E,I)1:空集属于该拟阵2:每个在拟阵的集合 的子集也在拟阵里面3:对于∣A∣|A|∣A∣ < ∣B∣|B|∣B∣ 存在 B/A中 有一个b . 使得{b}+A\{b\} + A{b}+A 属于 I常见 拟阵:base:极大独立集,加上任何一个grand set的元素就不独立可以用base集来定义拟阵rank:任何一个base大小相同,叫r(A),A是grand setr(A + {x}) - r(A) = 0/1A是B的子集r(

2021-01-29 17:11:18 191

原创 成功后面皆是坚持

成功后面皆是坚持我认为,成功的背后一定是坚持,没有坚持,除非拥有出人的才干,不然定不会成功。坚持,乃成功之母也。若非有出人之才干,做事无坚持者,则做事定皆无成也。自古以来,就有很多的名人,靠自己的坚持来获取成功,例如孙中山,毛泽东。。。。。。他们都是自幼家境贫寒,早早的就懂得生存之道,不敢浪费半点光阴,把一切的时光投入到学习生活中,这便是他们成功的原因从古至今,史上列有诸多名人,皆以坚持成功,以孙中山,毛泽东者为例,其幼年家境寒苦,处于立命之年而笃定生存之道,未曾置光阴于琐屑之事,倾其所能于学习生活

2021-01-20 12:36:16 106

原创 网络流小trick

2021-01-06 10:29:19 70

原创 FFT学习笔记

最近终于能干自己想干的事情了问题引入:快速求多项式乘法(卷积)引理:n个不同点的点集可以确定唯一 的n次多项式记相乘的两个多项式为A,BA,BA,BA,BA,BA,B的卷积记为CCCsolution1O(n2)O(n ^ 2)O(n2)的多项式乘法solution2根据引理,可以任意取A,BA,BA,B上 ∣A∣+∣B∣|A| + |B|∣A∣+∣B∣个点然后把 其纵坐标相乘,故在通过这∣A∣+∣B∣|A| + |B|∣A∣+∣B∣个点来求出C复杂度 O(n3)[高斯

2020-12-12 16:29:41 156

原创 T3

题目背景联赛的第三题通常是困难的, 但是并不往往是这样, 当事情发生变化的时候怎么办呢?题目描述STM并没有什么简单的题目想要考你, 于是他询问他的基油LJX来获得一个"简单"的题目.LJX近期痴迷于收集各种石子, 最近他积攒了nnn个石子.石子太多是一件麻烦的事情, 为了方便管理, LJX希望把这n颗石子分成尽量少的堆, 使得每一堆的个数都形如3k2−3k+13(k≥1)3k^2−3k+13(k≥1)3k2−3k+13(k≥1).LJX不会算, 于是希望STM来让你帮他算.样例输入61

2020-12-12 15:33:13 90

原创 递推求逆元证明

有道题要用,发现没用过这个于是随手来学一下inv[mod%i]∗(mod−mod/i)∗i=1[在膜mod意义下]因为inv[mod%i]∗(mod/i)=1你把上两个联立到同一个等号里面,证明就结束了inv[mod \%i] * (mod - mod / i) * i = 1 [在膜mod意义下]\\\\因为inv[mod \% i] * (mod / i) = 1你把上两个联立到同一个等号里面,证明就结束了inv[mod%i]∗(mod−mod/i)∗i=1[在膜mod意义下]因为

2020-11-16 20:37:46 109

原创 CSP2020第二轮游记

今年CSP第二轮在jz考嘛,因为初赛去过了。就没什么感觉了(超大,徒步的话脚直接爆炸)音乐厅没有可以睡舒服的地方差评中午起来后,就是迷迷糊糊的进入考场然后看题之前,密码一直不对。后来发现忘打括号心态–之后看第一题好家伙,等我先打个暴力30min later可以 年1e9 直接二分但就是一直调。。。调。。。。。到3.0h时候才过掉大样例看T2 ,就一直读题,看了10分钟题意,差不多打一下之后随便打了一个暴力就过掉了大样例发现2642^{64}264果断ull惨案开始发现打完之

2020-11-09 07:56:40 682

原创 提高组复赛训练

DAY2A在一个长这样的的一个网格图,每次给你一个起点和终点,并且只能往下以及往右走,问所经过点权和的不同的数量有一个显然的结论:不同的数量为(走最大 - 走最小 + 1)然后可以发现恰好就为(n−1)∗(m−1)+1(n - 1) * (m - 1) + 1(n−1)∗(m−1)+1其中n,mn,mn,m为给定矩形的长宽#include<bits/stdc++.h>typedef long long ll;using namespace std;ll T,a,b,c,d

2020-10-29 07:28:34 116

原创 2020牛客NOIP(第二场)D

暴力做法在网格图上,以(x , y) 代表在y时刻,在第x个位置那么很显然,你把关闭的闸门在图上表示出来就可以了复杂度O(n∗max(C))O(n * max(C))O(n∗max(C))正解做法发现暴力做法的瓶颈在于max(C)max(C)max(C)上,考虑怎么搞掉于是大胆的猜想,跟缝有没有关系我们可以用跑最短路的思想来处理对于两个相邻的缝 ,能否到达对方(非常容易判断,不再赘述)那么直接按照堆优化的disjkra跑一下就可以了复杂度O(m∗logm)O(m * logm)O(m

2020-10-21 07:55:02 115

原创 【LGR-078】洛谷 10 月月赛 II T2深海少女与胖头鱼

显然:设A[i][j]位i只鱼没圣盾,j只鱼有圣盾则转移为A[i][j]=(A[1][i+j−1]+1)∗(j/(i+j))+(A[i−1][j]+1)∗(i/(i+j))[i>=1且转移(1)要求[j>=2]]设A[i][j]位i只鱼没圣盾,j只鱼有圣盾\\则转移为\\A[i][j] = (A[1][i + j - 1] + 1) * (j / (i + j))+(A[i - 1][j] + 1) * (i / (i + j))[i >= 1 且转移(1)要求[j>=2]

2020-10-19 17:47:24 226

原创 结论

对于一个大小为n的数集该数集的所能组成的数的中位数为sigama(数集) / 2对于排除空集外的中位数为原来中位数的后继依次类推思考:如何 删除一个数集 并且动态求中位树(别用平衡树之类的东西)...

2020-09-29 20:37:29 120 1

原创 ?复习计划?

昨天晚上被虐了3场比赛、、、、、、自闭感觉还是要多打点比赛。。。。并且从中吸取教训和经验

2020-09-06 11:35:53 82

原创 牛客IOI周赛18-提高组(自闭,三题快速mi)

A,先把各个区间翻转映射为一段序列----可以发现,通过这段序列转化与原问题等价那么可以套用快速mi的思想。。。。直接做就好了考场上思路假了,打表推式子推了一年。。。。。但还是没找出规律。。。。套路见太少了#include<bits/stdc++.h>#define MAXN 200005typedef long long ll;using namespace std;int n,m,l[15],r[15],num2[MAXN],num[MAXN],num3[MAXN];l

2020-09-06 09:11:29 236

原创 前鬼后鬼的守护/搬运干草捆

题意:给你一个序列A,让你构造一个不降序列,使得sigama(abs(a[i] - x[i]))最小神题待补

2020-09-04 21:30:03 120

原创 可撤销贪心

可撤销贪心是一种思想,使得当前的贪心策略可以优化过去的抉择一般有3个要求1.答案可以分步计算2.具有较明显的最值特点3.可以通过一些数据结构来动态维护4.答案可以在较好的复杂度内还原成之前的答案1.种花:题目大意:在一个长度为n的环型序列中取出m个数使这m个数的和最大,且要求这m个数互不相邻。O(nlogn)O(nlogn)O(nlogn)做法:考虑选择了一个元素:那么他左右的两个元素就不能选,然后这个元素就不能选了那么我们用构造的思想去想,我们能不能再选一次这个元素呢?再选择这个元素,就

2020-09-04 20:53:19 218

原创 codeforces 2000左右的题 一句话题解

CF296B Yaroslav and Two Strings类似数位dp,并不是很会CF41D Pawn裸题,直接根据 get % k get /k dp即可CF362C Insertion Sort根据冒泡排序的交换次数就是逆序对的个数,可以通过BIT等数据结构,来算一个数对于逆序对的贡献,直接n^2枚举交换即可CF229D Towers先对于原序列划分一波区间的增减性,有个很显然的结论是对于 一个先递减再递增的峰谷,要把递增的段,与递减的合并,才能有一个递减的区间,那么

2020-08-29 10:59:10 242

原创 cdq套cdq做三维偏序

首先考虑消掉第一维 (直接按第一关键字排序)然后本来可以套一层cdq然后用BIT来做的,但为了做四维偏序做铺,我又打了cdq套cdq其实,可以浅显的理解为每一次做外层cdq,都打了一个标记,对于一直处在左边的数点,以及对于一直处在右边的数点,很明显有一个偏序关系,也就是可以累加答案。。。。然后就可以扩展到n维偏序#include<bits/stdc++.h>#define MAXN 400005using namespace std;int n,k,tot,cnt[MAXN],

2020-08-27 09:06:32 269

原创 cdq分治

对于能用cdq分治的题目需要满足3个条件可以离线修改不会相互影响询问不会相互影响归并排序求逆序对以及二维偏序很好的对cdq分治做了一个样例这里就不在赘述cdq分治处理单点修改,区间查询,可离线首先,单点修改,区间查询,可离线,刚好满足cdq分治的使用要求那么考虑怎么用cdq分治的思想解决这个问题考虑现在有两段操作 依次按照 操作序号的大小以及先修改再查询有序对于为什么每次只处理左端的修改,以及右端的询问,可以通过一张图来看比如说,我现在有个询问,在划圈处很显然,有两段对他做了操

2020-08-26 17:33:47 102

原创 Pollard-Rho算法

用途:分解大数因数复杂度 : O(很快)基本思路:考虑构造一个序列x1,x2,x3....xnx1,x2,x3....xnx1,x2,x3....xn如果有$d = gcd(abs(xi , xi + 1) , N) > 1 $等价于 d是N的一个因数但,构造序列的方法有很多,该算法选用了一种好写 + 好想的 : (伪随机方法构造序列)令Xi=(Xi−1∗Xi−1+C)令Xi = (Xi - 1 * Xi - 1 + C) % N令Xi=(Xi−1∗Xi−1+C)然后该算法的基础

2020-08-16 21:13:15 244

原创 acwing2280. 最优标号

太久没做网络流的 思维题了,智力急速下降。。。这个题很妙主要分析建图想法摘自注意,多条边的交叉情况也是基于这两种的。发现它具有网络流的性质吧?所以考虑它怎么和网络流联系在一起。把初始点权为1的看做S集合,点权为0的看做T集合。我们其实要做的就是处理完S到T的所有边,使代价最小。把代价当做割开一条路径的花费,所求问题即为割最少的边使得S到T不连通。主要思想就是 :: 划分集合 + 隔绝集合很显然对于一个点来说,任意有两个点权值不同的显然就要给这个点赋权来断开那么对于多叉的同理对于一段连续的无

2020-08-12 14:54:17 179

原创 FHQ-TREAP && 可持久化平衡树

FHQ—TREAP只要学过splay,线段树合并分裂,就非常好学吧。。。。持久化的话,就是在合并分裂的时候,新建一个节点来保存,以免对先前节点造成影响。。。。FHQ-TREAP(持久化)#include<bits/stdc++.h>#define MAXN 10000005#define maxn 600005typedef long long ll;using namespace std;int n,tot,rt[maxn];ll mod;struct node{

2020-08-08 17:51:27 164

原创 luoguP5353 树上后缀排序

刚学完SA,过来送命了我一开始对SA有一点奇妙的误解。。以为他是只能在单字符串里面搞后缀排序的。。。没想到,SA只是一种思想。。。实际上,不管你是线性,树上,甚至是图上。有序,有元素,大力SA(逃)来描述一下这题的思路吧。。。。我们先预处理2^k级祖先。然后再在这树上对每个节点做SA。。。。。。发现完全没想法。。。。自闭ing。。。。先咕掉,做一些关于height数组的题先...

2020-07-29 12:45:51 203

原创 后缀数组个人理解

#include<bits/stdc++.h>#define MAXN 1000005using namespace std;int tong[MAXN],sa[MAXN],tp[MAXN],rank[MAXN],n,m;char a[MAXN];int get(char c) { if(c >= '0' && c <= '9') return c - '0' + 1; if(c >= 'A' && c <= 'Z') r

2020-07-29 11:17:04 120

原创 luoguP4719 【模板】“动态 DP“&动态树分治

很容易写出转移方程以及状态的定义F[i][0/1]:F[i][0/1]:F[i][0/1]:以i节点为根的子树,选/不选i节点的最大权独立集F[i][0]=sigam(max(f[son][0],f[son][1]))F[i][0] = sigam(max(f[son][0] , f[son][1]))F[i][0]=sigam(max(f[son][0],f[son][1]))F[i][1]=val[i]+sigam(f[son][0])F[i][1] = val[i] + sigam(f[son]

2020-07-26 21:18:59 96

原创 P4719 【模板】“动态 DP“&动态树分治

咕咕咕掉。。。。什么玩意啊。。。自闭ing#include<bits/stdc++.h>#define MAXN 100005using namespace std;int n,m,h[MAXN],tot,a[MAXN];int f[MAXN],dep[MAXN],dfn[MAXN],dex,sz[MAXN],ch[MAXN],tp[MAXN],id[MAXN];int ycl[MAXN][2],ans[2];struct node{ int from,to,next;

2020-07-25 17:15:58 101

原创 luogu P1084 疫情控制

#include<bits/stdc++.h>#define MAXN 70005using namespace std;int n,h[MAXN],tot,ff[MAXN][25],cost[MAXN][25],m,g[MAXN],l,r,mid,best,sum[MAXN],f[MAXN];int found[MAXN],vis[MAXN],al;struct node{ int from,to,cost,next;}e[MAXN << 1];int js,j

2020-07-15 15:14:33 126

原创 初三高考放假做题记录part.1

luoguP3243 [HNOI2015]菜肴制作题意:给你一组关系,使得入点必须在出点后做掉。求最小的字典序比较好想,先建个反图,然后用堆套上拓扑排序,实现从后往前字典序最大等价于实现了从前往后字典序最小。。。扩展:一些比较难搞的条件,可以尝试反转,联系类似的算法,对于题目给定的要求要进一步转化。。(需要的话),偏序关系可以往拓扑方向想#include<bits/stdc++.h>#define MAXN 100005using namespace std;int T,n,m

2020-07-08 22:47:50 130

原创 luoguP1429 平面最近点对(加强版)

这个东西比较强。。。。。当然,可以交智商税(开发KD—ree)然后我并不会。。于是乎只能看题解。。。。就是把平面一直分割然后每次根据左右得出的结论进行剪枝。。。然后就可以优化过掉这题大概是O(NlogN)O(NlogN)O(NlogN)上界挺松的#include<bits/stdc++.h>#define MAXN 3000001using namespace std;int n,q[MAXN],js;struct node{ double x,y;}t[MAXN]

2020-07-07 18:26:03 116

原创 luoguP4178 Tree

一开始T了几发。。。发现,出现菊花图的时候,N2N ^ 2N2枚举会炸飞。。。。(结果就直接用个桶就过了)#include<bits/stdc++.h>#define MAXN 80005using namespace std;int n,K,h[MAXN],tot,sz[MAXN],maxl[MAXN],dis[MAXN],vis[MAXN],ZX;int dui[MAXN],js,jjs,ans[20005],sum,zzq[20005];struct node{ in

2020-07-07 11:28:50 100

原创 luoguP2634 [国家集训队]聪聪可可

点分治傻逼题。。。。#include<bits/stdc++.h>#define MAXN 50005using namespace std;int n,h[MAXN],tot,dis[MAXN],sz[MAXN],maxl[MAXN],ZX,vis[MAXN],a1,a2;int dui[MAXN],js,jjs,tp[4],ans[4];struct node{ int from,to,cost,next;}e[MAXN << 1];void add(in

2020-07-07 11:27:33 131

原创 luoguP3806 【模板】点分治1

屑题。。。。调的比较久、、、、、直接每次取重心,暴力检测答案就行了。。。#include<bits/stdc++.h>#define MAXN 80005typedef long long ll;using namespace std;int n,m,k,h[MAXN],tot,vis[MAXN],sz[MAXN],zhong[MAXN],maxl,ask[MAXN],ans[MAXN];int dis[MAXN],js,dui[MAXN],in[40000005],jjs;

2020-07-07 09:56:25 90

原创 luoguP1168 中位数

直接用两个堆,乱搞。。。。#include<bits/stdc++.h>#define MAXN 100005typedef long long ll;using namespace std;ll n,a[MAXN],zz,zz2;priority_queue<ll> q;priority_queue <ll,vector<ll>,greater<ll> > q2;void init(){ cin>>n; fo

2020-07-06 07:10:04 99

原创 luoguP2254 [NOI2005]瑰丽华尔兹

题目比较好,人比较菜。。。#include<bits/stdc++.h>#define MAXN 205using namespace std;int n,m,X,Y,K,f[MAXN][MAXN][MAXN],L,R,D,dx[7] = {0 , 1 , -1 , 0 , 0} , dy[7] = {0 , 0 , 0 , 1 , -1},l,r,q[MAXN],ans = 0;char tu[MAXN][MAXN];int main(){ cin>>n>&

2020-06-25 10:28:23 119

原创 P2569 [SCOI2010]股票交易 以及 单调性优化dp的感悟

。。。这个题方程很好写,以至于我这个dp菜鸡都会。。#include<bits/stdc++.h>#define MAXN 2005using namespace std;int T,MaxP,W,AP[MAXN],BP[MAXN],AS[MAXN],BS[MAXN],f[MAXN][MAXN],l,r,q[MAXN];void init(){ memset(f , -0x3f , sizeof(f)); f[0][0] = 0; cin>>T>>M

2020-06-22 17:39:07 135

原创 [HAOI2009]逆序对数列

脑残题,过#include<bits/stdc++.h>#define MAXN 2005typedef long long ll;using namespace std;int n,k,f[MAXN][MAXN],g[MAXN];int main(){ memset(f , 0 , sizeof(f)); cin>>n>>k; f[0][0] = 1; g[0] = 1; for(int i = 1 ; i <= n ; i++){

2020-06-20 16:28:10 78

原创 四边形不等式及其优化决策单调性

四边形不等式为w(a,d)+w(b,c)>=w(a,c)+w(b,d)(a<=b<=c<=d)w(a , d) + w(b ,c ) >= w(a , c) + w(b , d) (a<=b<=c<=d)w(a,d)+w(b,c)>=w(a,c)+w(b,d)(a<=b<=c<=d)当满足w(a,b+1)+w(a+1,b)>=w(a,b)+w(a+1,b+1)w(a , b + 1) + w(a + 1 , b) >

2020-06-18 16:51:23 156

空空如也

空空如也

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

TA关注的人

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