摘要: hdu 3634City Planning题意:给出n个矩形的左下角左边(x1,y1)以及右上角的坐标(x2,y2)以及每个矩形的单位面积所具有的的价值,求如何安排矩形的放置顺序是的总价值最大,输出总价值。思路:首先,这些矩形会有重叠的部分,重叠的部分肯定取val值最大的,所以我们首先按照每个矩形的val值排序,然后然后利用当前的矩形去切割前边切割出来的矩形,重叠部分肯定取当前的矩形的val计算,最后求切割出来的矩形的总价值即可。View Code #include <iostream>#include <cstdio>#include <cmath>#in 阅读全文
posted @ 2013-05-10 17:30 E_star 阅读(552) 评论(0) 推荐(0) 编辑
摘要: 题意:有n个龙珠,分别存放在编号为1-n的城市里面。然后进行如下操作,T,a,b将a龙珠所在城市的所有龙珠都转移到b龙珠所在的城市,Q,a输出a龙珠所在的城市,以及该城市一共有多少个龙珠,同时输出该龙珠被转移的次数,思路:并查集,前两项比较好像,后一项记录转移次数,我们只需要记录每一个点到达父节点所需的转移次数no[i]然后再路径压缩的时候求一个和,压缩完成后该点的no值就是该点的转移次数了。View Code #include <iostream>#include <cstdio>#include <cmath>#include <vector> 阅读全文
posted @ 2013-05-10 08:50 E_star 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 题意:有n个人玩老鹰捉小鸡游戏,每个人都像当老鹰,于是他们决定投票选举,每个人都有一票,不可以投自己。票具有传递性假设A投给了B,B有又给了C则C就会得到两票。求得到票数最多的票数及每个人的编号(0-n-1)思路:其实划一划图就会发现,每个人得到的票数即为能够到达该点点数,中间可能存在环。如果五环的话,我们只要倒着建图,然后找出入度为0的点,搜索他能到达的点的个数即为该点所得到的票数,因为最优值一定在入度为0的点上。 如果存在环的话,我们只需要通过tarjan缩点,改环所能提供的票数为该环内的点数。然后再重新倒着建图就好了。View Code #include <iostream> 阅读全文
posted @ 2013-05-10 08:27 E_star 阅读(252) 评论(0) 推荐(0) 编辑