图论
文章平均质量分 76
冷月残星
这个作者很懒,什么都没留下…
展开
-
图论(PolandBall and White-Red graph,cf 755E)
道理还是那么的简单,多动脑子,少动键盘。如果解法不对,写代码只是在浪费时间。如果解法正确,写代码是分分钟的事情。1k的范围看上去那么正常,这是出题人用来迷惑你的,事实上k>3都无解。如果让自己去证明G和G的补图G'的直径不能同时>3,那么我兴许会证出来。但是如果没有这个方向感觉真的很难想到。其实所有的“很难想到”都是因为自己不熟练或者根本不会。其实现在自己有点后悔翘了图论去搞ACM,本以为原创 2017-01-16 14:25:34 · 1025 阅读 · 0 评论 -
拓扑排序(猜序列,LA 4255)
看来自己图论建模的功底还不够。百度百科说图论〔Graph Theory〕是数学的一个分支。它以图为研究对象。图论中的图是由若干给定的点及连接两点的线所构成的图形,这种图形通常用来描述某些事物之间的某种特定关系,用点代表事物,用连接两点的线表示相应两个事物间具有这种关系。可见图论是将事物建立关系的数学模型。因此想要利用图论建模,首先就要发现问题中的事物与关系。原创 2017-02-07 18:22:27 · 574 阅读 · 0 评论 -
双连通分量,二分图(圆桌骑士,LA 3523)
#include#define rep(i,a,b) for(int i=a;i<=b;i++)using namespace std;const int maxn = 1010;int pre[maxn],iscut[maxn],bccno[maxn],dfs_clock,bcc_cnt;vectorG[maxn],bcc[maxn];struct Edge{ int原创 2017-02-08 16:37:23 · 683 阅读 · 0 评论 -
邻接表与链式前向星
ZOJ 3877 Earthstone Keeper又遇到了一道卡空间常数的题目。如果用链式前向星就刚好卡过,如果用邻接表就超空间。原因是本题点巨多(1e5),但边相对来讲巨少(每个点最多8条边)。如果用邻接表来实现的话,一般就用vector嘛,我们都知道vector都是自动扩容的,在空间满了以后,就自动申请多一倍空间。如下代码所示。#include#defi原创 2017-04-20 15:35:57 · 3876 阅读 · 0 评论 -
拓扑排序(ZOJ 3780,Paint the Grid Again)
如果给定一个DAG和其按字典序拓扑排序的结果,那么对这个DAG所有边取反后一定能够得到一个新的DAG,且这个新的DAG的逆字典序拓扑排序结果就是原来拓扑排序结果的逆序。因为如果将拓扑排序的结果倒序来看的话,首先拓扑结构肯定是倒着的,其次同级之间的字典序也肯定是倒着的。所以我是一开始没想清楚,然后反着建图,然后逆字典序序拓扑排序,然后反着输出就过了。如果你要正原创 2017-04-24 18:23:33 · 264 阅读 · 0 评论