摘要:
博主太弱了,只能回去搞学科了。 如果能回来,寒假这篇就会消失了。 $$QAQ$$ 阅读全文
摘要:
"题目传送门" 题目大意: 给你一个长度为$N$的数列,求满足$a_i = a_j$且$l1\leq i \leq r1 , l2 \leq j \leq r2$的$(i,j)$对数。 看到这种题目,第一反应就是莫队啦,但一看这个询问有点奇怪,不好算,怎么办呢? 这个时候就要用到 容斥原理 了 至于 阅读全文
摘要:
这是一道差分约束的小清新题,不需要求出差分约束的解,那么直接上DFS~~大力~~判断负环即可,有负环就无解嘛。 $Code:$ cpp include define re register define ll long long define MAX(A,B) (A B?A:B) define MI 阅读全文
摘要:
写在前面: 这里会挂一些自己认为很重要的模板,没理解的就没有注释了,等理解了就更 排序算法模板: 快速排序(简单分治思想,时间复杂度从$O_(n\log{n})$~$O_(n^2)$不等,及其不稳定) $code:$ $Dijkstra$(没有$SPFA$的时候要坚强,多写写堆优化,时间复杂度$O_ 阅读全文
摘要:
刚刚A了网络最大流,其实仔细思考网络流的过程还是挺简单的,只是因为它的修正思路比较独特,会让人有点难懂,但是最大流本身还是好理解的。 先上EK的代码: cpp include define inf 0x3f3f3f3f using namespace std; const int maxn=1e4+ 阅读全文
摘要:
写在前面: 建议大家先去看 "洛谷P3375" 这道题,~~结合题目食用风味更佳~~ 算法的原型:~~暴力~~朴素算法(不上代码了~~因为我懒~~):将原串与用于匹配的串一位一位的匹配,时间复杂度$O_(nm)$ 改进方法:使用一个next数组来记录用于匹配的串的这个点之前的串前缀与后缀的最大匹配位 阅读全文
摘要:
高斯消元是一种解方程的很巧妙的方法,核心是把方程转换成矩阵形式,然后再通过加减消元,求出值后再回带,就解出了这个方程,这里我就不赘述了。 我一般用高斯-约旦消元法,这种方法是直接转换成单位矩阵求解,减少回带次数,提高精确度,实现方式如下: 下方是一个方程 把它转换成矩阵形式就是: 我们可以这样对其进 阅读全文
摘要:
怎么会有这么优秀的脑斧 首先题目把题意写得很清楚了,SPFA不会被卡但我没写,就是求一个次小生成树嘛。 考虑Dijkstra,那么就需要修改一小部分: 我们用dis[0][x],dis[1][x]表示从某一个出口到x这个点的最短路与次短路,在读入出口的时候将出口的dis都设为0,压入优先队列,用次短 阅读全文
摘要:
数据这么水,跑SPFA也不会被卡哈哈哈。 首先看题,题目大意是在一个无向图中求构造不同的最小生成树的方法,对此引发思考:怎样才能满足题意(新图与原图的最短路长度一致)。 想了想,觉得暴力能够水过去,然后写了下T了,这不就是个最短路计数+组合数学乘法原理吗? 想法确定了,怎么写呢? 这样,答案就出来啦 阅读全文