链接:http://codeforces.com/contest/1020
上分啦
A:n个楼每个楼h层,在每栋楼的[a,b]层上都有一个横向的通道,可以从一个楼去任意楼。现在给你两个位置,问最少要走多少步。
对两个位置和通道区间进行讨论,然后抠一下就行了。
1 |
|
B:意思就是让你从每个人出发找第一个遍历2次的点。
1 |
|
C:n个人要给m个政党投票,每个人都有自己的投票目标以及花钱收买他的代价。现在希望让1号政党的票数超过其他所有政党的票数,问你至少要花多少钱。
考虑贪心地选花费最少的,但是直接这样选相当于确定了收买人数,实际上可以买某一个政党的一些票就可以减少收买人数。于是我们考虑枚举1号政党的目标票数,超过该票数的政党则购买所有最少价格的差票,如果还不足我们的目标票数则从剩下的票里选最便宜的买。
1 |
|
v1.5.2