摘要: lianjie 注意设置标志的妙用,在重复判断边界中,设置一个越界岗哨可以避免重复的判断。把越界位置根据题意设置成inf,就不用一次次的判断 #include<bits/stdc++.h> #define ll long long using namespace std; int n; const 阅读全文
posted @ 2021-08-04 16:40 DuJunlong 阅读(2) 评论(0) 推荐(0) 编辑
摘要: newcode dfs的时候,先想搜的是什么。 1.规定——每次都搜待搜索的点 2.dfs进去后先写边界条件 3.还原现场 #include<bits/stdc++.h> #define ll long long using namespace std; const int N=100,Mod=1e 阅读全文
posted @ 2021-08-01 16:27 DuJunlong 阅读(3) 评论(0) 推荐(0) 编辑
摘要: newcode 三维:要从头跑到尾,才能把整个dp更新完整,不然dp更新不完整 #include<bits/stdc++.h> #define ll long long using namespace std; int n,H,S; ll h[1010],s[1010],w[1010]; ll dp 阅读全文
posted @ 2021-08-01 10:40 DuJunlong 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 长沙理工H //总的是DP的思想,前一遍dp,后一遍dp,然后枚举中间点得到最大值 #include<bits/stdc++.h> #define ll long long #define inf 0x3f3f3f3f //int #define linf 0xffffffffff // long 阅读全文
posted @ 2021-07-30 15:27 DuJunlong 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 链接 //快速幂 是把k展开,看哪一位是1,就乘 // ans+=s*c%m erro #include<bits/stdc++.h> #define inf 0x3f3f3f3f #define ll long long using namespace std; const int N=1e5+1 阅读全文
posted @ 2021-07-30 10:52 DuJunlong 阅读(8) 评论(0) 推荐(0) 编辑
摘要: #include<bits/stdc++.h> using namespace std; const int N=1e5+100; int a[N],n,tmp[N]; void merge_sort(int a[],int l,int r) { if(l>=r) return ; int mid= 阅读全文
posted @ 2021-06-14 20:26 DuJunlong 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 归并排序实际上也是把序列进行了分块,二分分块。 树状数组也是分块。 先分再合。 分到底的序列就是原序列 #include<bits/stdc++.h> #define ll long long using namespace std; const int N=1e5+100; int a[N],n, 阅读全文
posted @ 2021-06-14 20:24 DuJunlong 阅读(10) 评论(0) 推荐(0) 编辑
摘要: #include<bits/stdc++.h> using namespace std; const int N=1e5+100; int n,p[N]; void quick_sort(int q[],int l,int r) { if(l>=r) return ; int i=l-1,j=r+1 阅读全文
posted @ 2021-06-14 12:29 DuJunlong 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 邻接矩阵表示的图: 油田 dfs #include<bits/stdc++.h> using namespace std; const int maxn=104; char G[maxn][maxn]; int n,m; int ans=0; int x[8]={0,0,-1,1,1,1,-1,-1 阅读全文
posted @ 2021-04-28 20:55 DuJunlong 阅读(13) 评论(0) 推荐(0) 编辑
摘要: auto的使用 阅读全文
posted @ 2021-04-25 17:25 DuJunlong 阅读(14) 评论(0) 推荐(0) 编辑