- 博客(35)
- 收藏
- 关注
原创 visual studio不会报错,但会爆零的CE“错误“(或反过来)
缺少return 0比较函数不写const变量引用正确写法:const struct &a, const struct &b
2022-05-19 14:05:32
443
原创 dp优化方法
[总结]一些 DP 优化方法DP 优化方法大杂烩 I. DP 优化方法大杂烩 II.未学插值(未学)差值(未学)分类背包 DP区间 DPDAG 上的 DP树形 DP状压 DP数位 DP插头 DP计数 DP动态 DP概率 DP其它数据结构优化矩阵优化单调队列斜率优化四边形不等式...
2022-04-24 08:03:16
706
原创 P5304 [GXOI/GZOI2019]旅行者
P5304 [GXOI/GZOI2019]旅行者文章目录总的思路一开始写的没考虑清楚的次短路正解一个错误的初始化方式关于官方题解总的思路要求给定的二元点对中距离最小的那个非常神奇的思路,我不会。。。可以建立超级源点,与所有给定点连权值为1的边,把多个源点的最短路缩短为一个源点的最短路,这样,复杂度可以大大降低。从超级源点开始跑正反两次,同时染色,颜色是给定点的编号,当为最短路是标号。最后枚举边数,两个顶点的颜色不一,更新答案。考虑答案中的最短路径(假设从v到u),一定有一条边的两端颜色不一样
2021-10-28 20:21:28
486
原创 P3366 【模板】最小生成树
P3366 【模板】最小生成树文章目录primkruskalprim#include <bits/stdc++.h>using namespace std;int n,m;int dis[5001],vis[5001],cnt,pre,ans;struct no2{ int d,w;};struct no1{ int v,d; bool operator < (const no1 &x) const { return d > x.d; }
2021-10-27 21:31:38
93
原创 线段树与树状数组
文章目录树状数组线段树树状数组P3374 【模板】树状数组 1#include <bits/stdc++.h>using namespace std;int n,m;typedef long long ll;ll tre[500001],k,a;int opt;ll lowbit(ll x){ return (x & (-x));}void add(ll x,ll k){ for ( ; x <= n; x += lowbit(x)) {
2021-10-26 22:10:13
83
原创 P1462 通往奥格瑞玛的道路
P3811 【模板】乘法逆元好的blog文章目录目标4种方法扩展欧几里得费马小定理线性关系阶乘#include <bits/stdc++.h>using namespace std;long long n,p;long long inv[3000001],fac[3000001],finv[3000001];typedef long long ll;void xianxing()//线性{ inv[1] = 1; cout << 1 << endl
2021-10-26 22:05:45
109
原创 lca总结
P3379 【模板】最近公共祖先(LCA)#include <bits/stdc++.h>using namespace std;int n,m,s;vector <int> e[500001];int fa[500001],dep[500001],lca[500001][40];void dfs(int x,int d){ dep[x] = d,lca[x][0] = fa[x]; for (int i = 1; i <= 30; i++) { l
2021-10-26 21:17:02
119
原创 st表总结
P3865 【模板】ST 表#include <bits/stdc++.h>using namespace std;int n,m,x[1000001],lg[1000001],st[1000001][50];inline int read(){ int xx=0,f=1;char ch=getchar(); while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();} while (ch>='0'&
2021-10-26 21:10:06
192
原创 树链剖分总结
P3384 【模板】轻重链剖分/树链剖分#include <bits/stdc++.h>using namespace std;typedef long long ll;ll mo,va[100001],nva[100001];int n,m,r,fa[100001],top[100001],sz[100001],timer,dfn[100001],depth[100001],hson[100001];vector <int> e[100001];ll sum[400
2021-10-22 21:34:49
89
原创 乘法逆元总结
参考:非常好的博客!#include <bits/stdc++.h>using namespace std;long long n,p;long long inv[3000001],fac[3000001],finv[3000001];typedef long long ll;void xianxing()//线性{ inv[1] = 1; cout << 1 << endl; for (int i = 2; i <= n; i++) {
2021-10-22 20:20:10
85
原创 NOI Linux 2.0使用总结
文章目录虚拟机终端指令vscode配置指令建议虚拟机wm tool终端指令ls 显示当前目录下的文件vscode配置设置为中文打开报错 :文件 —— 首选项 ——搜索(C_Cpp.error Squiggles)——调成(Enabled)指令g++ -o name name.cpp 编译,不知道如何查错./name 运行Ctrl + Shift + B 也是编译,可查错建议in,out文件很好用...
2021-10-21 22:42:45
1047
2
原创 割点与割边
文章目录*割点*算法流程割点算法流程#include <bits/stdc++.h>using namespace std;int n,m;vector <int> e[20001];int dfn[20001],low[20001],timer;bool gd[20001];int ans;void tarjan(int x,int fa){ dfn[x] = low[x] = ++timer; int child = 0; for (int i =
2021-10-19 23:14:06
301
原创 对拍程序总结
文章目录std暴力datacheckstd#include <bits/stdc++.h>using namespace std;int a,b;int main(){ freopen(".in","r",stdin); freopen("std.out","w",stdout); cin >> a >> b; cout << a * b; fclose(stdin); fclose(stdout
2021-10-19 21:14:24
79
原创 容器用法汇总
文章目录bitsetstlbitsethttps://www.cnblogs.com/RabbitHu/p/bitset.htmlstlhttps://blog.youkuaiyun.com/u014465639/article/details/70241850?spm=1001.2014.3001.5506
2021-10-19 20:50:01
128
原创 tarjan+缩点
文章目录1158. 受欢迎的牛(tarjan板子)1159. 连通数1160. 抢掠计划atm958. 传球648. 信息传递总述:tarjan缩点可将复杂图变为DAG,后续可配合topo + dp 或者 记忆化搜索(推荐,其实与前面差不多,但更好写),在稠密图中效果更佳,可代替有向基环森林算法1158. 受欢迎的牛(tarjan板子)#include <bits/stdc++.h>using namespace std;int n,m;int scc;int iscc[1000
2021-10-17 16:35:40
291
原创 P4467 [SCOI2007]k短路
P4467 [SCOI2007]k短路#include <cstdio>#include <iostream>#include <algorithm>#include <queue>#include <cstring>using namespace std;int cnt2,poi1[51],nxt1[2501],des1[2501],cst1[2501];int cnt1,poi2[51],nxt2[2501],des2[2
2021-10-16 17:56:38
271
原创 P4568 [JLOI2011]飞行路线
P4568 [JLOI2011]飞行路线#include <bits/stdc++.h>using namespace std;int n,m,k;int s,t;struct node{ int v,d;};struct no1{ int v,d,k; bool operator < (const no1 &y)const { if(d == y.d) { return k > y.k; } return d >
2021-10-16 17:06:48
99
原创 P1266 速度限制
P1266 速度限制#include<bits/stdc++.h>using namespace std;int n,m,d;struct node{ int d,v,l;};struct no1{ int v; double d; bool operator < (const no1 &y)const { return d > y.d; }};vector <node> e[150];double nvdis[150]
2021-10-16 16:05:38
254
原创 P5905 【模板】Johnson 全源最短路
这玩意今天才知道,但感觉用处不大啊。。。P5905 【模板】Johnson 全源最短路#include <bits/stdc++.h>using namespace std;int n,m;struct node1{ int d,w;};vector< node1 > e[30010];struct node2{ int v,d; bool operator < (const node2 &y)const {
2021-10-14 22:44:42
136
原创 dijkstra+堆优化(早年产物2020.11.6)
#include <fstream>#include <cstdio>#include <algorithm>#include <cstring>#include <queue> using namespace std;int n,m,point[1001],last[2001],cnt,dis[1001],vis[1001];bool inq[1001];struct nn{ int y,v;}r[2001];typede.
2021-10-14 20:02:13
62
原创 P1341 无序字母对
链接欧拉回路板题AC代码:#include <bits/stdc++.h>using namespace std; int n,G[151][151];char x,y;int cntIN[151];bool ext[151];int sum;char cc[10000000];int fir,len;void dfs(int now){ for (int i = 1; i <= 150; i++) { if(G[now
2021-10-07 16:28:11
90
原创 二分图最大匹配模板(匈牙利算法)
#include <bits/stdc++.h>using namespace std;int n,m,e;int G[501][501],match[501],vis[501];int x,y;int ans;int dfs(int now){ for (int i = 1; i <= m; i++) { if(G[now][i] && !vis[i]) { vis[i] = 1;.
2021-10-07 13:57:23
70
原创 P7114 [NOIP2020] 字符串匹配
链接代码先行#include <bits/stdc++.h>using namespace std;const int maxx = (1 << 21);string s;int pos[maxx][26],pre[maxx][26],cpos[maxx],cpre[maxx];int cnt[maxx];//辅助统计当前奇数个数为i的个数int temp,postodd,temp2,postodd2;int z[maxx];int T,len;int
2021-10-07 11:40:12
274
原创 z函数(扩展kmp)
两个重要的点:1.i - l 2.r一个简单的证明:(来源:题解-洛谷P5410 【模板】扩展 KMP(Z 函数) - George1123 - 博客园)借助前面处理的两个点来避免重复匹配代码:void exkmp(string x)//匹配本身{ l = 0; lz = x.length(); for (i = 1; i < lz; i++)//最好从1开始,0预处理掉 {...
2021-10-06 14:24:22
415
原创 [CSP-S2019] Emiya 家今天的饭(dp、容斥)
链接总结:有时候状态不好分时,当非法状态与总状态好表示,可尝试容斥。 最好还是画个图,仔细分析一下数据,这样更容易看出怎样分状态
2021-09-05 18:35:41
117
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人