``` //桥:删掉之后,图就不连通 //边双连通分量:极大的不含有桥的连通块 //不管删掉哪条边,都是连通的 //任意两个点之间,至少存在两条不相交的路径 //割点:如果把某个点和它所关联的所有边都删掉,图就不连通 //每一个割点至少属于两个双连通分量 //点双连通分量:极大的不包含割点的连通块 ... ...
分类:
其他好文 时间:
2020-05-08 18:31:37
阅读次数:
56
算法 最小生成树 思路 我们把每个点看成一个部落,每次取最小距离的两个抱团,同时部落也减少了一个....然后减减减,直到部落数==目标数,此时下一个不同部落的距离就是最短的距离! 代码 #include<iostream> #include<cstring> #include<algorithm> ...
分类:
Web程序 时间:
2020-05-01 18:49:02
阅读次数:
70
P1966 火柴排队 求逆序对+数学 题意描述 有 a,b 两个数列,它们的距离为∑(ai bi)2。 每列中相邻的两个数均可进行交换,求至少交换多少次,可以使 a,b 的距离最短。 看不懂你 "这题" 就别做了。 算法分析 首先你应该知道:顺序和≥乱序和≥逆序和(好像没有什么关系) 然后你应该知道 ...
分类:
其他好文 时间:
2020-03-07 21:08:27
阅读次数:
75
```#include #includeusing namespace std;typedef double dou;typedef long long ll;typedef pair pii;typedef map mii;#define pai acos(-1.0)#define M 40005... ...
分类:
其他好文 时间:
2019-12-09 19:25:52
阅读次数:
87
传送门 分析 清华集训真的不是人做的啊嘤嘤嘤 我们可以考虑按操作时间把每个操作存进线段树里 如果现在点x正好使一个整块区间的右端点则更新代表这个区间的点 我们不难发现一个区间会因为不同的操作被分成若干块,每块对应序列上不同的区间 于是查询时对于每个线段树上区间查询时二分查找当前点在哪一块中即可 代码 ...
分类:
其他好文 时间:
2019-02-14 11:50:20
阅读次数:
165
链接 一个邮递员要从一号点到每个点再回来,求最短路 题目说一次只能去一个点,这样就简单了,求每个点最短路 怎么求回来的最短路?每个点跑一次dijkstra?这样会T 只要反向建边,再求点1到各点的最短路不就行了吗?(可以画个图手算一遍) 代码: ...
分类:
其他好文 时间:
2019-02-04 10:26:23
阅读次数:
176
二分图匹配的问题都可以用网络流来做,但是二分图匹配的一些思想还是得了解一下。 匈牙利算法: 我们将左边集合记为S,右边集合记为T, 加边的时候只需要加S >T的边,∞后面会提到原因。 我们枚举点进行增广,增广的时候只访问当次增广没有访问到的点。 什么情况下才算是成功的增广? u >v的v点没有匹配过 ...
分类:
编程语言 时间:
2018-10-02 22:30:47
阅读次数:
239
题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1250 看了半天... 把第一问想成逆序对的话似乎很容易想了,新加入一个数,可以往前挪动,增加的逆序对数就是它后面那些数的个数; 所以 f[i][j] = ∑(k = ...
分类:
其他好文 时间:
2018-09-07 19:14:03
阅读次数:
136
1. 复化梯形法公式以及递推化 复化梯形法是一种有效改善求积公式精度的方法。将[a,b]区间n等分,步长h = (b-a)/n,分点xk = a + kh。复化求积公式就是将这n等分的每一个小区间进行常规的梯形法求积,再将这n的小区间累加求和。 公式如下: 使用复化梯形法积分时,可以将此过程递推化, ...
分类:
编程语言 时间:
2018-05-31 22:06:27
阅读次数:
364