06 2022 档案

摘要:字符哈希就是为字符添加一个数字编号 程序: #include<bits/stdc++.h> using namespace std; const int maxn=1e4; char s[maxn]; const int p=13131; const int mod=1e9+7; int Hash[ 阅读全文
posted @ 2022-06-18 20:04 王浩泽 阅读(61) 评论(0) 推荐(0) 编辑
摘要:这道题目是一道Dijkstra的题目。 我们先来回顾一下加边函数 void add(int u,int v,int w) { edge[k].to=v; edge[k].w=w; edge[k].next=head[u]; head[u]=k++; } 这道题目可以用优先队列也可以用手写队列(我要用 阅读全文
posted @ 2022-06-18 16:58 王浩泽 阅读(30) 评论(0) 推荐(0) 编辑
摘要:这道题目要用到Floyd算法。(也就是那个n³复杂度的东东) 小细节: 1.x==y的f数组要一并设为true 小知识: |(一个|)是运算符只要在参与判断的二个bool之内有一个是一()也就是true就返回true。 &(一个&)是运算符在参与判断的两个bool内必须二个都是true才返回true 阅读全文
posted @ 2022-06-18 10:28 王浩泽 阅读(34) 评论(0) 推荐(0) 编辑
摘要:这道题目又要用到新的算法:并查集 其实就是一个向上的递归过程,但我们只关心x点的祖先是谁,这里就可以用到路径压缩(让x直接指向祖先) 👇 int find(int x) { if(fa[x]!=x) { fa[x]=find(fa[x]); } return fa[x]; } 并查集已经弄好了查就 阅读全文
posted @ 2022-06-17 23:02 王浩泽 阅读(29) 评论(0) 推荐(0) 编辑
摘要:这道题目需要用到 Dijkstra plus 版(堆优化) 模板还是一样就是有几个点值得注意 1.这里用的是优先队列,原版需要搜出最小,并且没用过的点,省时间就剩在这里用小根堆就可以完美解决这个问题。 2.模拟链表(我认为有亿 一点难度)需要h,e,w,ne来模拟。 3.还有一个add(a,b,c) 阅读全文
posted @ 2022-06-11 09:47 王浩泽 阅读(138) 评论(0) 推荐(0) 编辑
摘要:这道题目又是一个新算法,名叫Dijkstra 主要思路是:输入+dist和vis初始化(都初始化为0x3f)+输入g(邻接矩阵)+Dijkstra函数 Dijkstra函数:先将dist[1]设为1(起点到起点当然0代价),然后将每个点都更新一遍。在循环里面我们先找出最小但没更行新的点然后用这个点更 阅读全文
posted @ 2022-06-10 23:15 王浩泽 阅读(27) 评论(0) 推荐(0) 编辑
摘要:这道题目涉及到一个新算法:Floyd 这里不放洋屁了,大体就是 DP! 就是一个固定格式的dp 它的核心代码非常简单(也非常像dp) for(int k=1;k<=V;k++) { for(int i=1;i<=V;i++) { for(int j=1;j<=V;j++) { if(dis[i][j 阅读全文
posted @ 2022-06-10 21:42 王浩泽 阅读(34) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示