摘要:
这题乍看很吓人,其实就是一个贪心。每次取最近的两个点所在的块合并,直到只剩下k块,输出答案。 1 /************************************************************** 2 Problem: 1821 3 User: zhuohan123 4 Language: C++ 5 Result: Accepted 6 Time:136 ms 7 Memory:18492 kb 8 ***********************************************************... 阅读全文
posted @ 2013-08-04 23:34
zhuohan123
阅读(349)
评论(0)
推荐(0)
摘要:
呼~终于是过了这道题了,开始伟大的计算几何!这道题做法不是很难想到吧,输入的三个合金的比例,因为三者之和等于1,所以只需任取两个即可确定第三个(样例还有错我去!)。我们将每种合金的两个参数看做平面上的点,那么两种合金互相混合可以得到的合金的成分必然是在以这两个点为端点的线段上。而三种及以上种合金混合,得到的合金的成分必然是在所有合金所形成的凸包上。那么,这道题目就可抽象成这样:所取的合金集合的凸包要完全“包住”客户所需合金的集合的凸包。又由于n,m都小于等于500,所以我们可以采取暴力的O(n3)的算法:直接枚举从合金i到合金j的向量ij,若所有点均在ij的左边,那么在一张有向图G中由i向j连 阅读全文
posted @ 2013-08-04 22:52
zhuohan123
阅读(1114)
评论(0)
推荐(0)

浙公网安备 33010602011771号