大江东去,浪淘尽,千古风流人物。故垒西边,人道是,三国周郎赤壁。乱石穿空,惊涛拍岸,卷起千堆雪。江山如画,一时多少豪杰。遥想公瑾当年,小乔初嫁了,雄姿英发。羽扇纶巾,谈笑间,樯橹灰飞烟灭。故国神游,多情应笑我,早生华发。人生如梦,一尊还酹江月。

随笔分类 -  图论

摘要:第二道构造题 不把金华考生当人系列。 题解OJ上有,这里不赘述 关键是此题代码如果写的好只需50行,写的不好可能要200行。 这里给出100行的丑陋代码(懒人必备STL vector,省了很多代码) c include using namespace std; define go(i,a,b) fo 阅读全文
posted @ 2019-10-11 11:48 White_star 阅读(153) 评论(0) 推荐(0)
摘要:简单构造题 第一道构造题,题目让我们构造一棵树。 其实我们都会构造树,kruskal算法不就构造了一棵树吗? 我们考虑如何构造一棵树,首先数据给出的边必须选,如果给出的这些边已经构成了环,说明无法构成树。 否则我们如果不考虑边的最大/最小条件,我们一定可以构造出一棵树。 但是题目告诉我们一个点相连的 阅读全文
posted @ 2019-10-10 21:35 White_star 阅读(151) 评论(1) 推荐(0)
摘要:算法思路就不说了,其实比较简单 这里讲一下坑点: 1.虽然我们可以将边权压到点上,但是当根不同时,差分数组显然不同。所以我们不能真的将边权看做点权,换根时还是要将其当做边权来考虑。 1.更新时,我们设dp[u]表示u节点为根时的最大价值,由于经过点u后,点v的儿子将变成点u,所以此时我们要更新点v的 阅读全文
posted @ 2019-10-01 21:24 White_star 阅读(177) 评论(0) 推荐(0)
摘要:注意,若负直径指广义的直径——可以缩成一个点,树形DP无法正确求出,需要将初值设为0(若大于0则不更新) 阅读全文
posted @ 2019-09-28 16:08 White_star 阅读(225) 评论(0) 推荐(0)
摘要:费用流 好题 推荐这篇博客 "click here" 注意此题如果不用动态开点的话10000的数组是不够的的,会RE 因此网络流推荐动态开点更方便(原来都是手算的) 阅读全文
posted @ 2019-09-18 21:00 White_star 阅读(98) 评论(0) 推荐(0)
摘要:二分图 此题看书的时候觉得特别难,实际的代码却非常简单 现在分析是什么让代码如此简单的: 1. 首先预处理出第i个防御塔发射第j个导弹的时间(计算发射时间,不计冷却时间) 2. 二分答案,判断时间mid内能否解决问题 3. 利用vector建边,不用管标号的冲突,在二分图中十分方便(一般网络流可能就 阅读全文
posted @ 2019-09-16 11:14 White_star 阅读(219) 评论(0) 推荐(0)
只有注册用户登录后才能阅读该文。
posted @ 2019-09-05 19:08 White_star 阅读(7) 评论(0) 推荐(0)
摘要:Acwing因为位置原因无法AC,洛谷上10ms就跑过了,ACwing说我超时,可能是玄学 另外,我们令S和T不联通,就要不允许删除S和T(拆点时边权为inf),而不能直接以s'为起点,t为终点,我无法证明这样做是正确的,也无法证明这样做是错的,而事实上他就是错的 教训是不要使用为证明的算法,而是采 阅读全文
posted @ 2019-09-03 21:37 White_star 阅读(266) 评论(0) 推荐(0)
摘要:最小割 复杂度:dinic,能跑1e4到1e5的网络,理论复杂度$(n^2m)$ 求将对象划分为两个集合的最小费用常用最小割,但此题难点在于建图 1. 因为每个模块要么在A,要么在B,故向S,T连边,对每个点必须割掉一条边,不多不少,正符合最小割的条件——整张图都不联通,且不割多余的边 1. 又因为 阅读全文
posted @ 2019-09-03 17:18 White_star 阅读(146) 评论(0) 推荐(0)
摘要:``` include using namespace std; define go(i,a,b) for(int i=a;i=b; i) define mem(a,b) memset(a,b,sizeof(a)) const int inf=0x3f3f3f3f,N=1000+10; int n1 阅读全文
posted @ 2019-08-30 20:45 White_star 阅读(206) 评论(0) 推荐(0)
摘要:提供四种复杂度的做法,希望能帮到大家 $O$($n^3$): c include using namespace std; define go(i,a,b) for(int i=a;i=b; i) define mem(a,b) memset(a,b,sizeof(a)) typedef long 阅读全文
posted @ 2019-08-27 09:33 White_star 阅读(188) 评论(0) 推荐(0)

}