摘要:
原题链接 题解 1.在处理最短路的时候,我们采用优先队列的方法,即第一个出现的点一定是最小的,之后出现的点都是在其他点的基础上叠加的值,肯定不小于第一个。那么依然是这个思路,第二个出现的点一定是次短的。 代码 #include<bits/stdc++.h> using namespace std; 阅读全文
posted @ 2023-12-26 19:17
纯粹的
阅读(28)
评论(0)
推荐(0)
摘要:
设想有一条竖线代表大串当前匹配到的字符的右边,一格一格往后移,同时小串已经匹配的位置和竖线右对齐。 如果竖线右移一格之后大小串下一个字符不匹配,就把小串往后移,直接移到最长的公共前后缀前缀盖过后缀,直到下一格字符匹配或下一个字符是小串的头字符。 为什么要计算前后缀呢? 在下一个字符之前的已匹配串中, 阅读全文
posted @ 2023-12-26 17:40
纯粹的
阅读(25)
评论(0)
推荐(0)
摘要:
原题链接 思路 找到所有入度为零的点,然后消除其子节点的入度,再把入度为零的点塞入队列中 为什么可以这么做呢? 一个点能弹出队列,其父节点一定比他先入队,以此类推。。 代码 #include<bits/stdc++.h> using namespace std; vector<int> G[1000 阅读全文
posted @ 2023-12-26 17:25
纯粹的
阅读(19)
评论(0)
推荐(0)

浙公网安备 33010602011771号