2012 Dhaka

2012 Dhaka

B - Wedding of Sultan

题目描述:给出一棵树的\(dfs\)序(只要经过就会记录),求每个点的度

solution
\(dfs\)序的规则还原这棵树就好了。

时间复杂度:\(O(n)\)

C - Memory Overflow

solution
模拟

D - Laptop Chargers

题目描述:有\(n\)台电脑,每台电脑的电量,电容量,功耗都可能不同,现在有功率相同的充电器若干个,问最少需要多少个充电器,以及只给一定数量的充电器时,最早没电的电脑的运行时长。

solution
因为拔充电器是不需要时间的因此可以看成一个充电器给所有的电脑同时充电,功率均分,因此最少的充电器个数等于功耗最大的除以充电器的功率。第二个问题就二分一下即可。

时间复杂度:\(O(nlogn)\)

E - Poker End Games

题目描述:有两个人在玩游戏,分别有金币\(A, B\)个,设\(C=min(A, B)\),每一轮输的人给赢的人\(C\)个金币。每个人赢的概率是相等的,问期望在多少轮结束游戏,以及第一个人赢的概率。

solution
第一个人赢的概率为\(\frac{A}{A+B}\), 对于期望轮数,只有考虑金币少的那个人赢的情况就好了,通过计算可得,当金币数数对有循环时,期望轮数为\(2\),当金币数均分时,期望轮数为\(2^{经过多少轮后金币均分}\).

时间复杂度:\(O(能过)\)

F - Overlapping Characters

solution
暴力枚举

G - Reduce the Maintenance Cost

题目描述:有一个图(不一定联通)每条边交给一个点看守,看守的费用为删掉这条边后不连通的点对数乘边权,每个点的重要值为看守总费用加这个点的重要值,求重要值最大的点的最小值。

solution
一道思路清晰却非常难打的题。
对于每个连通块,求出每条边看守的费用,将环里的边删掉。
原题就变成了一个森林,然后对于每棵树二分答案,先考虑度为\(1\)的点,能看守父边的就看守,最后判断是否全都能看守,所有数的最小值的最大值就是答案。

时间复杂度:\(O(nlogn)\)

H - Team Mathematics Olympiad

题目描述:有\(n\)道题,有些题需要上一题的答案才能解,有\(m\)个人解题,要求每个人解题数的最大值减最小值最小,给出每个人答每道题的正确率,问正确题数的期望值。

solution
暴力七维\(dp\)

时间复杂度:\(O(能过)\)

I - Learning Vector

题目描述:有\(n\)个向量,从中选择\(m\)个,从原点出发,依次相连,使得与\(x\)轴围成的面积最大(最后一个向量的\(x\)坐标为右边界),求最大值。

solution
将向量极角排序,当加入一个新的向量在最后时,面积增加值为原高度乘向量宽度再加向量围成的三角形,所以可以用\(dp\)求出到第\(i\)个向量,已经选了\(j\)个,高度为\(k\)的最大值,而高度只枚举有效状态即可。

时间复杂度:\(O(2500n^2)\)

J - Guards II

题目描述:有一个\(n \times m\)的网格图,每个格子都可以放一个守卫,每个守卫会守护它所在的行和列。问网格图的最外层都被守护的方案数。

solution
比较恶心的分类讨论。

posted @ 2018-09-13 23:13  GerynOhenz  阅读(93)  评论(0编辑  收藏