摘要: 用新模板阿姨了一天,换成原来的一遍就ac了= =题意很重要。。最关键的一句话是说:若走A->B这条边,必然是d[B] 2 #include 3 #include 4 using namespace std; 5 6 const int MAXN=1111; 7 const int INF =0x0fffff; 8 9 int G[MAXN][MAXN],vis[MAXN],d[MAXN],n;10 int mark[MAXN],dp[MAXN];11 12 void dij(int n)13 {14 memset(vis,0,sizeof(vis));15 for(int ... 阅读全文
posted @ 2013-08-11 19:38 Thousand Sunny 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 坑了我一天的题目。。跑了20ms挂了,就知道有个小毛病= =无向图转有向图判强连通。首先要知道什么样的无向图可以转化为强连通图?连通分量(环)自然是可以的;那么扩大范围(存在割顶),发现点连通分量也是可以的;再扩大范围(存在桥),明显不能满足。所以边连通分量是实现无向图与强连通图转化的界限。那么如果原图本身不是边连通的呢?先缩点,问题转化为——怎样把无向无环图(森林)构建成边连通图:从度入手。其实真正要考虑的是叶子节点(degree==1),和部分根节点(degree==0或degree==1)。degree==0,需要加两条边;degree==1,一条;degree>=2,不需考虑。注 阅读全文
posted @ 2013-08-11 10:38 Thousand Sunny 阅读(252) 评论(0) 推荐(0) 编辑