自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 9/28B题

传送门~~~这道题最有意思的地方在于,我们如果能够采用逆向思维,从后向前把图给拆开来,就变得很简单,不用想从前开始的先后顺序了(例如,当前可拆点权值全一样,但下层的点点权影响结果,就有先后顺序了)所以我们倒过来拆,就只用考虑当前了。(woc,大神们果然nb啊//B#include <bits/stdc++.h>using namespace std;typedef long...

2019-09-28 22:18:18 141

原创 模板积累——2-3-4树

#include<iostream>#include<algorithm>#include<stack>#include<cstdio>#include<map>#include<queue>#include<cstring>using namespace std;typedef long long...

2019-09-13 20:25:48 137

原创 模板积累——中国剩余定理

void exgcd(int a1,int b,int &x,int &y){ if(b==0) { x=1; y=0; return ; } exgcd(b,a1%b,x,y); int t=x; x=y; y=t-(a1/b)*y;}int CRT(int a[],in...

2019-09-08 10:15:44 118

原创 ACM之路——2019南京网络赛A题

题目链接传送门这道题上来应该是找规律(打表不现实,也很浪费空间,就算允许也应该先考虑规律),这个规律也比较简单,就是按照主对角线对矩阵进行拆分,这样可以发现所有元素都呈现如下规律ll ind(ll x,ll y,ll n){ ll qs=n/2,q=min(n-y+1,min(n-x+1,min(x,y)))-1; if(x==qs+1&&y==qs+1){ retur...

2019-09-03 13:53:42 419

原创 模板积累——katalan数

#include <iostream> #include <stdio.h> #include <memory.h> #include <cmath> using namespace std; long long h[45]; long long f[45][45]; void catalan2() /...

2019-08-19 16:09:17 134

原创 模板积累——交互题

#include<bits/stdc++.h>using namespace std; int main(){ int l=1,r=1000000; while (l<r){ int mid=(l+r+1)/2; printf("%d\n",mid); fflush(stdout); ...

2019-08-15 22:18:48 287

原创 模板积累——LCA

#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>using namespace std;const int MAXN = 80080;const int MAXQ = 20020; int father[MAXN],Head[MAXN],QHe...

2019-08-15 22:16:16 98

原创 模板积累——LCA求最近公共祖先(树形图最短路)

#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#include <vector>using namespace std;const int Max=1e5+6;const int N=31;int n,m;int fa[...

2019-08-14 23:04:47 136

原创 模板积累——数位DP

#include <stdio.h>#include <string.h>#include <algorithm>using namespace std;int bit[15];int dp[15][15][3];//dp[i][j][k]//i:数位//j:余数//k:3种操作状况,0:末尾不是1,1:末尾是1,2:含有13int df...

2019-08-14 09:01:31 129

原创 模板积累——记忆化hash数组

#include<bits/stdc++.h>#define N 110009using namespace std;typedef unsigned long long ull;const int bas=27;char s[N];ull lh[N],rh[N],p[N];int a,b,ans,len;int get(int maxl,int a,int b){...

2019-08-14 09:00:31 172

原创 模板积累——tarjan(gui)算法

#include <cstdio>#include <algorithm>#include <iostream>#include <cstring>#include <stack>#include <vector>using namespace std;const int Max=12000;vector&lt...

2019-08-14 08:55:44 150

原创 模板积累——字典树建树及查询

/**UTix*/#include <cstdio>#include <algorithm>#include <iostream>#include <string>#include <cstring>using namespace std;int tot,rt;int flag;struct node{ int t...

2019-08-12 16:08:26 238

原创 模板积累——KMP算法

#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<algorithm>using namespace std;int nxt[1000005];string T,S;int n;void getnext(int len)...

2019-08-12 16:07:13 124

原创 模板积累——spfa算法求最短路

#include <iostream>#include <cstdio>#include <cstring>#include <stdlib.h>#include <math.h>#include <queue>#include <algorithm>using namespace std;#def...

2019-08-12 15:30:55 114

原创 模板积累——最小生成树、并查集

#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int a[110];int pa[110]; int n,m;int i ,j;struct node{ int u,v,w;}arr[5500];void init(){ for(i=1;i...

2019-08-12 13:22:10 118

原创 模板积累——Dijkstra算法

# include<cstdio># include<iostream># define MAX 1000+4# define inf 1e9using namespace std;int n,t;int edge[MAX][MAX];int dis[MAX];int vis[MAX];int u,v;/*void init(){ for ( ...

2019-08-12 13:19:10 97

原创 模板积累——AC自动机(结构体类方法版)

#include <stdio.h>#include <string.h>#include <iostream>#include <algorithm>#include <queue>using namespace std;struct Trie{ int next[220*500][128],fail[220*5...

2019-08-12 09:00:14 145

原创 AC自动机模板——结构体类方法版

#include <stdio.h>#include <string.h>#include <iostream>#include <algorithm>#include <queue>using namespace std;struct Trie{ int next[210*500][128],fail[210*5...

2019-08-12 07:41:17 123

原创 模板积累——后缀数组(最长公共子串、回文、子串个数)

#include<cstdio>#include<cstring>#include<iostream>#include<queue>#include<algorithm>using namespace std;typedef long long ll;const int maxn=1000+7;char s[maxn];...

2019-08-09 14:28:36 234

原创 模板积累——AC自动机(写了也不能自动AC)

#include <queue>#include <cstdlib>#include <cmath>#include <cstdio>#include <string>#include <cstring>#include <iostream>#include <algorithm>usi...

2019-08-09 08:17:05 178

原创 模板积累——线段树建树,修改,查找,延迟更新

#include <bits/stdc++.h>#define ull unsigned long longusing namespace std;const int M=100100;ull tree[4*M];//数的节点数要开叶子节点的四倍ull lazy[4*M];ull a[M];int n;void pushdown(int rt,int m){ if(l...

2019-08-07 16:51:12 189

原创 模板积累——匈牙利算法

#include <cstdio>#include <algorithm>#include <iostream>#include <cstring>#include <stack>#include <vector>#include <map>using namespace std;int n,wan...

2019-08-07 16:26:02 122

原创 模板积累——网络流建图及dinic算法

#include <bits/stdc++.h>typedef long long ll;const int MAXN = 11000;const int INF = 1e9;struct Edge { int u, v; int cap, flow; Edge(int u_, int v_, int cap_, int flow_) : u(u_...

2019-08-07 16:17:45 170

原创 模板积累——EK算法(求最大流问题)

#include<cstdio>#include<cstring>#include<iostream>#include<queue>#include<algorithm>#define M 500 #define inf 0x3f3f3fusing namespace std;int cap[M][M],pre[M],c[...

2019-08-07 16:14:54 226

原创 类似邻接矩阵的存放二分图方式

例题:poj1274这道题只给了10000kb的内存,按以前的vector存就炸了(然而我一开始不信邪,结果被疯狂罚时),所以联想了一下,发现二分图也是图,那可以使用拓展后的邻接矩阵来存。于是就搜了一下,还真有:#include<cstdio>#include<cstring>#include<iostream>#include<queue&gt...

2019-08-07 13:19:46 494

原创 搜索基础加难题(规律型动态地图)

例题为UVA-11624本题中出现了类似动态地图的变量火焰,这时我们需要知道不同变量到达相同位置的时间关系,所以本题需要两次bfs并对时间信息进行记录,所以采用如下代码。#include<iostream>#include<stdio.h>#include<vector>#include<map>#include<cstring&g...

2019-08-05 10:46:18 115

原创 关于基础搜索中的加难题(穿墙术)的讨论

例题为UVA-1600本题中不同于普通搜索的是加入了穿墙和穿墙回复效果,所以即使是同样的一个点,在前来的路上所经历的墙也是不同的,是需要分类讨论的。在代码上的实现便是为vis数组增加维数,而这样的思路同时也适用于一些其他情况,例如有多个人在一起搜索(CSL的学生卡)。不使用结构体中的改变是因为那样我们在初始化时会多敲代码也会增加整体空间复杂度,同时不易理清思路。这样的方法是值得掌握的。#inc...

2019-08-05 10:08:42 202

原创 UVA-12096解题原理分析及局限性论证

UVA-12096解题原理分析及局限性论证本题具有一定的特殊性,在于其新集合的大小永远大于等于先前集合,所以我们可以采用set.insert进行排列,并使用str.size()-1求得相应的id。如果本题中有类似集合减法的操作的话,本段代码并不能实现这种操作。囿于时间复杂度,本题不允许遍历查找,所以上述减法情况以什么方法实现仍不是很清楚。本题的实现原理在于实现str和id间的双射,每种集合对应...

2019-07-30 08:56:11 190

空空如也

空空如也

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

TA关注的人

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