摘要:
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=25835思路:对每一个连通块将其染色,然后取颜色相同的最多的点,最后全部加起来即可。PS:一开始没考虑到有可能有些点不出现,WA了好多次,然后改成将出现的点标记即可。 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 #define MAXN 222222 8 9 struct Edge{10 int v,next;11 }edge[MAXN >.. 阅读全文
摘要:
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=25957思路:由于路线为一个环,将路径上的权值改为c-p*d,那么然后建图,那么我们只需判断图中是否存在权值和为正的环,这个用spfa即可。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 #define MAXN 222 9 #define inf 1 >g;22 23 void spfa(int st)24 {25 me. 阅读全文
摘要:
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=26823思路:题目的意思是求出所有的能够到达负环的点。负环很好求,spfa即可,然后要求那些可以到达负环的点,其实我们可以反过来想,从负环出发,看能够达到那些顶点。于是我们可以建反图搞定。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 #define MAXN 1111 9 #define inf 1 >g;22 23 vo 阅读全文