自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (3)
  • 收藏
  • 关注

原创 归并排序(nxd)

#include<bits/stdc++.h>using namespace std;int n,m,i,j,a[1111111],t[1111111],ans;void gbpx(int l,int r){ if(l==r) return; int mid=(l+r)/2; gbpx(l,mid); gbpx(mid+1,r); int tega=l,q=l,h=mid+1; while(q<=mid&&h<=r) { if(a[q]&lt

2021-11-19 19:48:28 223

原创 树状数组求逆序对

【GDOI2017模拟7.19】小X调顺序 (Standard IO)Time Limits: 1000 ms Memory Limits: 262144 KB Detailed LimitsDescriptionInputOutputSample Input3 12 2 1Sample Output1Data ConstraintFormula30 pts#include<bits/stdc++.h>using namespace std;int .

2021-11-13 15:27:04 345

原创 单调队列的模板

#include<bits/stdc++.h>using namespace std;int q[1111111],h,t,i,j,n,k,a[1111111];int main(){ scanf("%d%d",&n,&k); for(i=1;i<=n;i++) { scanf("%d",&a[i]); } h=1;t=0; t++; q[t]=1; for(i=1;i<=n;i++) { while(h<=t&

2021-10-18 19:58:36 85

原创 逆元总结

逆元是个好东西,但太久不写就忘了。3777. 最短路(shortest) (Standard IO)Time Limits: 3000 ms Memory Limits: 262144 KB Detailed LimitsGoto ProblemSetDescription小Y最近学得了最短路算法,一直想找个机会好好练习一下。话虽这么说,OJ上最短路的题目都被他刷光了。正巧他的好朋友小A正在研究一类奇怪的图,他也想凑上去求下它的最短路。 小A研究的图可以这么看:在一个二维平面上有任意点(

2021-10-05 16:01:48 62

原创 二分图匹配 模板

#include<bits/stdc++.h>using namespace std;int n,m,i,j,kkg[1111][1111],used[1111111],g[1111111],ans=0;bool dfs(int st){ for(int i=1;i<=m;i++) { if(used[i]==0&&kkg[st][i]==1) { used[i]=1; if(g[i]==0||dfs(g[i])==1) { g

2021-08-18 16:50:26 42

原创 dijk及其堆优化 模板及例题

朴素的dijk#include<bits/stdc++.h>using namespace std;int n,m,i,j,v[1111111],dis[1111111],head[1111111],tot;struct erwt{ int ne,to,wi;}e[1111111];void add(int u,int v,int t){ e[tot].to=v; e[tot].wi=t; e[tot].ne=head[u]; head[u]=tot++;}int d

2021-08-17 16:41:42 843

原创 st表 模板

#include<bits/stdc++.h>using namespace std;int n,m,i,j,x,y,ln[3333333],f[3333333][22];int cs(int a,int b){ int kkg=ln[(b-a+1)]; return max(f[a][kkg],f[b-(1<<kkg)+1][kkg]);}int main(){ scanf("%d%d",&n,&m); for(i=1;i<=n;i++)

2021-08-16 21:52:45 757

原创 并查集及其优化及其扩展(加权) 学习笔记及其模板

首先普通并查集大家都诙谐。。。#include<bits/stdc++.h>using namespace std;int fa[1111111],i,j,x,y,z,m,rk[1111111];int finds(int xx){ if(fa[xx]==xx) return xx; else return finds(fa[xx]);}void unions(int xx,int yy){ int xxx=finds(xx),yyy=finds(yy); if(xxx=

2021-08-13 22:10:46 100

原创 堆 模板及例题

#include<bits/stdc++.h>using namespace std;int n,m,i,j,x,y,h[1111111],k;void up(){ int kkg=k; while(kkg>1&&h[kkg]<h[kkg/2]) { h[0]=h[kkg]; h[kkg]=h[kkg/2]; h[kkg/2]=h[0]; kkg/=2; }}void down(){ int kkgx=1,kkgy=2; wh

2021-08-12 21:51:13 978

原创 多维前缀和 学习笔记 模板及例题

一维前缀和大家都会,二维就更好理解了。一维初始化: for(i=1;i<=n;i++) { q[i]=(q[i-1]+a[i]); }二维初始化其实花个图就可以了,这里直接上模板: q[1][1]=a[1][1]; for(i=2;i<=m;i++) { q[1][i]=(q[1][i-1]+a[1][i]); } for(i=2;i<=n;i++) { q[i][1]=(q[i-1][1]+a[i][1]); } for(i=2;i<=n;i

2021-08-12 18:39:57 107

原创 树状数组求最值 模板+例题

单点修改+最值查询不知道我为什么怎么喜欢树状数组(hdu 1754)#include<bits/stdc++.h>using namespace std;int n,i,m,j,a[1111111],c[1111111],xx,yy;char zpl;inline int lb(int x){ return ((-x)&x);}void add(int x){ while(x<=n) { c[x]=a[x]; for(int i=1;i<l

2021-08-10 20:42:40 98

原创 字符串 例题

4889. 【NOIP2016提高A组集训第14场11.12】最长公共回文子序列 (File IO): input:lcps.in output:lcps.outTime Limits: 2000 ms Memory Limits: 233000 KB Detailed Limits DescriptionYJC最近在学习字符串的有关知识。今天,他遇到了这么一个概念:最长公共回文子序列。一个序列S,如果S是回文的且分别是两个或多个已知序列的子序列,且是所有符合此条件序列中最长的,则 S 称为

2021-08-09 19:42:41 732

原创 二分 例题

【NOIP2015模拟10.20】平均数 (File IO): input:average.in output:average.out Time Limits: 1000 ms Memory Limits: 65536 KBDetailed Limits Special JudgeDescription 给出包含一个N个整数的数组A。找出一段长度至少为K的连续序列,最大化它的平均值。请注意:一段子序列的平均值是子序列中所有数的和除以它的长度。Input 第一行包含两个整数N(1&lt..

2021-08-09 16:07:53 225

原创 trie 模板

不说了,上模板。#include<bits/stdc++.h>using namespace std;int n,m,fla=0,i,j,root=0,ans;struct ert{ int num; int son[26];}e[1111111];int lens;char s[1111111];void jian(){ int app=root; for(int i=0;i<=lens;i++) { if(e[app].son[s[i]-'a']==0)

2021-08-08 21:48:11 58

原创 kmp 模板+例题

kmp,太久没写,神奇20,要开long long…#include<bits/stdc++.h>using namespace std;char s[1111111],t[1111111];long long n,k,i,j,kkg=0,pa=0,bz,slen,tlen,f[1111111];int main(){ scanf("%lld",&n); scanf("%s",s); scanf("%s",t); tlen=strlen(t)-1; slen=st.

2021-07-22 16:25:32 57

原创 树剖 学习笔记与例题与模板

首先就是7个树剖要用到的数组:fa[i]:i的父亲dep[i]:i的深度size[i]:以i为根的子树的大小son[i]:i的重儿子编号top[i]:i所在链的顶端节点编号dfn[i]:i的dfs序编号rnk[i]:dfs序中第i个枚举节点的编号显而易见,有rnk[dfn[i]]=i;什么花花绿绿的功能咱先不说,先把这7个数组求出来。方法是DFS*2;DFS1:求fa,dep,size,son.dep[1]=1;dfs1(1);void dfs1(int st){ son[s

2021-07-21 22:07:39 233 1

原创 树状数组 mini模板

单点修改+区间最值#include<bits/stdc++.h>using namespace std;int c[1111111],n,m,i,j,k,kk[1111111],cc[1111111];int lb(int x){ return (x&(-x));}void add(int x,int y){ c[x]=y; while(x<=n) { cc[x]=y; for(j=1;j<lb(i);j<<=1) { i

2021-07-21 21:30:16 42

原创 换根DP 例题(爆栈了。。。)

【SHTSC2014】概率充电器著名的电子产品品牌SHOI刚刚发布了引领世界潮流的下一代电子产品——概率充电器:“采用全新纳米级加工技术,实现元件与导线能否通电完全由真随机数决定!SHOI概率充电器,您生活不可或缺的必需品!能充上电吗?现在就试试看吧!”SHOI概率充电器由n-1条导线连通了n个充电元件。进行充电时,每条导线是否可以导电以概率决定,每一个充电元件自身是否直接进行充电也由概率决定。随后电能可以从直接充电的元件经过通电的导线使得其他充电元件进行间接充电。作为SHOI公司的忠实客户,你无法

2021-07-20 21:51:57 78

原创 状压DP 例题及学习笔记

玉米田农民 John 购买了一处肥沃的矩形牧场,分成 M * N个格子。他想在那里的一些格子中种植美味的玉米。遗憾的是,有些格子区域的土地是贫瘠的,不能耕种。精明的 FJ知道奶牛们进食时不喜欢和别的牛相邻,所以一旦在一个格子中种植玉米,那么他就不会在相邻的格子中种植,即没有两个被选中的格子拥有公共边。他还没有最终确定哪些格子要选择种植玉米。 作为一个思想开明的人,农民 John 希望考虑所有可行的选择格子种植方案。由于太开明,他还考虑一个格子都不选择的种植方案!请帮助农民 John 确定种

2021-07-20 11:58:23 99

原创 最小生成树 模板

prim:略。。。kruskal:#include<bits/stdc++.h>using namespace std;int n,m,i,j,x[1111111],y[1111111],z[1111111],f[1111111],ans=0;int fi(int xx){ if(f[xx]==xx) return xx; else return f[xx]=fi(f[xx]);}void kp(int l,int r){ int i=l,j=r,mid=z[(l+r)/

2021-07-19 20:01:39 592

原创 快速排序 模板

void kp(int l,int r){ int i=l,j=r,mid=a[(l+r)/2]; while(i<=j) { while(a[i]<=mid) i++; while(a[j]>=mid) j--; if(i<=j) { a[0]=a[i]; a[i]=a[j]; a[j]=a[0]; i++; j--; } } if(i<r) kp(i,r); if(l<j) kp(l,j);}

2021-07-19 14:24:08 39

原创 网络流之最大流 模板

FF算法:有了Dinic,谁还用FF…EK算法:有了Dinic,谁还用EK…Dinic:#include<bits/stdc++.h>using namespace std;int tot,st,ed,i,j,n,m,head[1111111],ans,dep[1111111],q[1111111];struct eat{ int wi,to,ne;}e[1111111];void add(int x,int y,int z){ e[tot].wi=z; e[tot].t

2021-07-18 22:03:13 797

原创 链式前向星 模板

初始化int tot=0,head[1111111];struct eatint{ int wi,to,ne;}e[1111111];int main(){ memset(e,-1,sizeof e); memset(head,-1,sizeof head);}输入void add(int x,int y,int z){ e[tot].wi=z; e[tot].to=y; e[tot].ne=head[x]; head[x]=tot++;}int main(){ i

2021-07-18 20:18:20 372

原创 树状数组 学习笔记

树状数组有两个低级模式,一个高级模式(万能)。详细模板低级模式一:区间查询+单点修改(相当于有了单点查询)初始化:add(i,x)单点修改:cin x,y add(x,y) 把编号为x的修改为y值。万能查询:cin x,y cout qu(y)-qu(x-1) 单点查询时x,y相等。低级模式二:单点查询+区间修改(相当于有了单点修改)初始化:y=0–> i 1-n add(i,x-y) y=x万能修改:cin x,y,z add(x,z) add(y+1,-

2021-07-16 20:53:45 980

原创 树状数组 三大操作模板

单点修改+区间查询#include<bits/stdc++.h>using namespace std;int c[1111111],n,m,i,j,kk;int lb(int x){ return (x&(-x));}void add(int x,int y){ while(x<=n) { c[x]+=y; x+=lb(x); }}int qu(int x){ int tot=0; while(x>0) { tot+=c[x]

2021-07-16 20:24:46 1173

原创 gcd以及exgcd 模板

GCD:int gcd(int a,int b){ if(b==0) return a; else return gcd(b,a%b);}EXGCDint exgcd(int a,int b,int x,int y){ if(b==0) { x=1; y=0; return a; } int r=exgcd(b,a%b,x,y); int t=x; x=y; y=t-(a/b)*y;}

2021-07-15 22:02:39 1462

原创 ...

药药!切克bai闹!煎饼果du子来一套!一个鸡zhi蛋一块钱!喜欢脆的多放面!辣椒dao腐乳小zhuan葱花!铁板铁铲小木刷!药药!切克闹!放点面酱些许甜!趁热吃了似神仙!艾瑞巴蒂!黑喂够!跟我一起来一套!动词大次动词大次!我说煎饼你说要!“煎饼”“要”“煎饼” “要” 切克闹切克闹!金黄喷香好味道!...

2021-03-01 20:22:00 37

原创 马甲

https://baike.baidu.com/item/马甲/2611954?fr=aladdin

2021-01-29 07:33:40 82

原创 小程序

#include<cstdlib>using namespace std;int main(){ while(1) malloc(2000); }娱乐专用整人小程序。。。

2020-12-14 19:28:00 78 18

原创 扩展GCD gcd解法

扩展gcd要解决的问题:已知ax+by=gcd(a,b),求一组可行的x,y。①由gcd(a,b)gcd(b,a%b)得ax+bybx+(a%b)y,继续化下去,化成ax1+by1的形式即为递归转移式,因为递归过程中a,b不能改变,改的是x,y。bx+(a%b)y == bx+ (a-(a/b)b) y == bx+ay-(a/b)by == ay + b(x-a/by)即exgcd(ax+by)== exgcd( ay + b(x-a/b*y) )然后就可以递归求解了,共用相同的x,y,可以全局

2020-11-18 19:22:51 233 1

原创 荒岛野人 扩展GCD

荒岛野人 (Standard IO)时间限制: 1000 ms 空间限制: 262144 KB 具体限制题目描述克里特岛以野人群居而著称。岛上有排列成环行的M个山洞。这些山洞顺时针编号为1,2,…,M。岛上住着N个野人,一开始依次住在山洞C1,C2,…,CN中,以后每年,第i个野人会沿顺时针向前走Pi个洞住下来。每个野人i有一个寿命值Li,即生存的年数。下面四幅图描述了一个有6个山洞,住有三个野人的岛上前四年的情况。三个野人初始的洞穴编号依次为1,2,3;每年要走过的洞穴数依次为3,7,2;寿.

2020-11-11 20:01:00 135

原创 自然周注解

自然周指的是星期一到星期天。注意:它是从一个周的周一开始,到周日结束,并非是从本周的某一天开始,至下周的同一天结束。如果非要这么表示,可以用非自然周,即这个星期三到下个星期三。它可以指代非自然周,即这个星期三到下个星期三。另外,还有每月第一个自然周,指每月第一个周1开始的那个自然周,上个月跨月的那周不算。...

2020-11-06 20:19:11 1314

第二轮注意事项.docx

CSP-J/S 2020(第二轮)广东地区认证考生注意事项

2020-11-06

GDKOI 2004 真实试题源代码及讲解

GDKOI 2004 真实试题源代码及讲解,适合初学者及进阶者,十分便宜。 GDKOI 2004 真实试题源代码及讲解,适合初学者及进阶者,十分便宜。 GDKOI 2004 真实试题源代码及讲解,适合初学者及进阶者,十分便宜。 GDKOI 2004 真实试题源代码及讲解,适合初学者及进阶者,十分便宜。 GDKOI 2004 真实试题源代码及讲解,适合初学者及进阶者,十分便宜。

2020-10-31

矩阵乘法源代码及思路.txt

矩阵相乘最重要的方法是一般矩阵乘积。它只有在第一个矩阵的列数(column)和第二个矩阵的行数(row)相同时才有意义 [1] 。一般单指矩阵乘积时,指的便是一般矩阵乘积。一个m×n的矩阵就是m×n个数排成m行n列的一个数阵。由于它把许多数据紧凑地集中到了一起,所以有时候可以简便地表示一些复杂的模型,如电力系统网络模型。 [2]

2020-10-30

空空如也

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

TA关注的人

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