摘要:
在无向图中, 若从顶点v1到顶点v2有路径, 则称顶点v1与v2是连通的。如果图中任意一对顶点都是连通的,则称此图是连通图。 强连通和弱连通的概念只在有向图中存在。 强连通图:在有向图中, 若对于每一对顶点v1和v2, 都存在一条从v1到v2和从v2到v1的路径,则称此图是强连通图。 弱连通图:将有向图的所有的有向边替换为无向边,所得到的图称为原图的基图。如果一个有向图的基图是连通图,则有向图是弱连通图。 强连通分量学习:http://blog.csdn.net/justlovetao/article/details/6673602 缩点:http://hi.baidu.co... 阅读全文
摘要:
题意就不说了,刚开始做我竟然傻傻地去模拟,智商捉急啊~~超时是肯定的 求出 a ,b 的最小公倍数,因为n够长的话,就会出现循环,所以就不要再做不必要的计算了。如果最小公倍数大于n的话,就直接计算n吧。 除了可以应用循环来节省计算,还可以成段计算来节省。#include#include#define i64 __int64i64 abs(i64 x){ if(x(b-i%b)?(b-i%b):(a-i%a); if(tmp+i>len) tmp=len-i; ans+=abs(i%a-i%b)*tmp; i+=tmp... 阅读全文
摘要:
题意:给出笛卡尔坐标系上 n 个点,n不大于100,求出这些点中能围出的最小面积。 可以肯定的是三个点围成的面积是最小的,然后就暴力枚举,计算任意三点围成的面积。刚开始是求出三边的长,然后求面积,运算步骤多,超时鸟~~,后来看了别人的代码,计算步骤挺少啊,不过我不会推这个式子。#include#include#includestruct node{ double x,y;};node point[105];const double inf = 99999999;double Deal(node a,node b,node c){ return ((b.x - a.x) * ... 阅读全文
摘要:
一道简单的搜索题目,建一个树,根节点是 0 ,连接的两个节点的距离是 1 ,求 到 根节点长度是2的节点的个数。 #include#includestruct node{ int next,to; int step;};node edge[100010];int tot;int head[100010];int N,D,ans;void Add(int x,int y){ edge[tot].to=y; edge[tot].next=head[x]; head[x]=tot++;}void DFS(int x,int step){ if(head[x]=... 阅读全文