HDU 3639 Hawk-and-Chicken
题意:孩子们在幼儿园非常喜欢老虎抓小鸡的游戏。但是有一个比较大的问题:每一个人都想演老虎的角色。
因此老师提出一个建议:选举。每个孩子手里面有一些漂亮的手帕,如果他认为某个人适合老虎的角色,
他就拿出一个手帕给他,也就是说得到手帕就是得到支持的一票。注意支持是可以传递的。最后得到支持
票数最多的人将扮演老虎的角色。(注意:如果A赢得B的支持,A只能得到B的一票,不管B有多少票,既是说A = B得到的选票 + 1,A不能投自己一票)如果多个人获得同样多的票,我们称他们都是赢家。
例子:三个人 A,B,C。A拿一个手帕给B, B拿一个手帕给C, 因此 C得到2个手帕,C被选为扮演老虎。
先输入一个测试样例数T,然后输入n 和 m,n是人数(0 ~ n - 1),下面是m行 A B (A!= B)代表A支持B。
输出最大得票数,和得票者。
这题我做的时候求强连通分支、缩点都很顺利,后来还是WA了,后来看了别人的代码才发现我的问题:在计算每个点(已缩)的最大值除了问题。见下图.
缩完点有可能出现图中的情况(因为上图并不是强连通的,只是个弱连通,所以有可能出现),在我原来的程序中DFS计算点4的票数时会把点3 的贡献给忽略了,从而点5的值也就错了。正确的做法是按照上图建个逆图(边的方向相反,如下图),这样从逆图的根(准确来讲是入度为0的点,因为这样的点在图中可能不只一个)开始DFS计算根的值,就能方便正确地得到点5 的值了。
至于为什么要选择从入度为0的点开始DFS并比较这些点的值的大小(换句话说为什么答案一定出自这些点)?如果假设最大值存在于一个入度不为0的分量中,那么连接这个分量的 那个分量票数支持肯定大于这个分量,假设不成立。
逆向图DFS的伪代码:
void dfs(int u) { num[u]=n[u];for each(u,v) in 逆向图{dfs(v);num[u]+=num[v];} }
转载于:https://www.cnblogs.com/wuminye/archive/2013/03/14/2960381.html
HDU 3639 Hawk-and-Chicken相关推荐
- Week8 作业 C - 班长竞选 SCC Kosaraju HDU - 3639
题目描述 大学班级选班长,N 个同学均可以发表意见 若意见为 A B 则表示 A 认为 B 合适,意见具有传递性,即 A 认为 B 合适,B 认为 C 合适,则 A 也认为 C 合适 勤劳的 TT 收 ...
- 直接在Visual Studio代码编辑器中加密字符串文件
String encryption is used everywhere in desktop & mobile software. You might not even know about ...
- 查看数值类型python_python 查询数据库返回的数据类型
self.conn=MySQLdb.connect(host='localhost',port=3306, user='keystone', passwd='OptValley@4312', db=s ...
- 【转载】图论 500题——主要为hdu/poj/zoj
转自--http://blog.csdn.net/qwe20060514/article/details/8112550 =============================以下是最小生成树+并 ...
- HDU ACM Steps 攻略
HDU ACM Steps 攻略- Admin 2011年10月14日 名人名言:未来是光明而美丽的,爱它吧,向它突进,为它工作,迎接它,尽可能地使它成为现实吧!--车尔尼雪夫斯基 总结了一下ACM ...
- HDU——1106排序(istringstream的使用、STLvector练习)
排序 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...
- hdu 5438 Ponds 拓扑排序
Ponds Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/contests/contest_showproblem ...
- HDU 1248 寒冰王座(全然背包:入门题)
HDU 1248 寒冰王座(全然背包:入门题) http://acm.hdu.edu.cn/showproblem.php?pid=1248 题意: 不死族的巫妖王发工资拉,死亡骑士拿到一张N元的钞票 ...
- hdu 1312 Red and Black 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1312 第二条深搜,题目并不难,但是做了我好久好久,由于一个细节,让我赌上了一个晚上的时间. 题目大意: ...
- HDU 1429 胜利大逃亡(续) (BFS+位压缩)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1429 胜利大逃亡(续) Time Limit: 4000/2000 MS (Java/Others) ...
最新文章
- CGpoint,CGSize,CGRect,NSRange
- Flex通信-Java服务端通信实例
- 微信账号,欢迎一起探讨信息、知识、学习和管理!
- C#中实现命令行交互输入输出
- BZOJ 1951: [Sdoi2010]古代猪文 [Lucas定理 中国剩余定理]
- 正式发布!Azure Functions OpenAPI Extension
- stringstream实例
- 线程创建-结束-回收 教程
- 数据结构链表之单链表的快慢指针——3
- 传送带(洛谷-P2571)
- Bootstrap使用 .dropdown-menu 类创建下拉菜单
- java doc转mht_Word文档格式doc转为mht.doc
- [文摘20080226]领导法则 - 陈安之
- ROS常用命令及脚本
- android 定时响铃,Android开发振动和响铃
- 操作系统 计算机操作系统教程笔记
- R语言线性回归和时间序列分析北京房价影响因素可视化案例
- Java 开发实习生面试题(1)
- 有理数化简,结构体C/C++
- 银行SWIFT/BIC编码介绍
热门文章
- ChannelHandler 接口继承关系图
- Netty 整合 MessagePack 序列化框架 + LengthFieldBasedFrameDecoder 自定义解码器
- Git命令之查看及设置用户名邮箱
- 阶段3 1.Mybatis_01.Mybatis课程介绍及环境搭建_07.环境搭建的注意事项
- java自动化学习笔记
- C++基础——new与delete
- Response.ContentType 控制输出文件类型(讨论下载文件问题)
- from pristine store, because no checksum is recorded for this file
- spring mvc 的上传图片是怎么实现的?
- javaee--学生成绩录入与显示--Struts2标签的使用