摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3760思路:首先是建反图,从点n开始做spfa求出n到各点的最短路,然后从1点开始搜最小序列,对于边(u,v),若dist[u]==dist[v]+1,则要将当前的序号加入当前队列中,然后就是对于那些序号相同点的都要加入当前队列,还要判一下重。至于为什么要建反图从n点开始求最短路,因为在搜最小序列的时候要保证一定能搜到n点。 1 #pragma comment(linker, "/STACK:1024000000,1024000000") 2 #include 3 #includ 阅读全文
posted @ 2013-09-13 21:29 ihge2k 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3912思路:二分覆盖直径,然后判断是否有冲突(即距离小于等于直径的不能使用同一频率),这样可以用二分图染色的办法判断,看是否能将整个图都染上色。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 #define MAXN 1444 9 #define inf 1que;32 for(int i=1;ilimit-eps)cont... 阅读全文
posted @ 2013-09-13 17:26 ihge2k 阅读(560) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=13349题目大意:有N个球队在同一个赛区,已知他们胜利的场数,还剩下的在赛区内的比赛数和跨赛区的比赛数的和,和在赛区内的比赛对阵矩阵。问,1号球队是否可以不小于其余球队胜利场数的最大值。感觉大牛的思路很好:先贪心一下,让1号球队赢得所有比赛,其余球队输掉所有跨赛区的比赛。如果此时有球队比1号球队胜利场次多,显然直接输出NO。否则,对于在同一赛区的比赛,我们这样构图。新增源点S,汇点T。对于每个点I,从S向I连一条容量为和1号球队胜利场数之差的弧。对于赛区内的每一个 阅读全文
posted @ 2013-09-13 15:19 ihge2k 阅读(482) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4291思路:首先保留求出循环节,然后就是矩阵求幂了。 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 typedef __int64 ll; 7 #define MOD2 1000000007 8 #define MOD1 222222224 9 #define MOD0 18312010 11 /*12 暴力求循环节13 int main()14 {15 ll f0=0,f1=1;16 for... 阅读全文
posted @ 2013-09-13 00:47 ihge2k 阅读(345) 评论(0) 推荐(0) 编辑