2016年icpc青岛现场赛 补题
4/13
参考: https://wiki-saltyfish.icpc-camp.org/2016 ACM/ICPC Asia Regional Qingdao Onsite
题目:https://vjudge.net/contest/157801
A 水题
B 模拟
C - Pocky HDU - 5984 [Megumin]
猜公式题,公式是$log(L/d)+1$,当然需要考虑$d>L$的情况。 代码:http://paste.ubuntu.com/24473138/ D 概率dpE 斐波那契 二次剩余(难)
F 递归下降
G 费用流
原题是求被破坏的概率最小,这得转化,考虑反面,不被破坏概率最大,所以结果是一列的\((1-p)\)的乘积,这个怎么跑费用流啊(对脸懵逼),其实去对数就把乘法变成了加法
这题远远没这么容易,考虑\(log(1-p)\)本身为负数,最好要让花费最大只得再对\(log(1-p)\)取负数,这样跑完最小费用流的结果再取反就是最大费用了,还是要自己体会。
建图过程就是令源点连向人数多余的点,汇点连向食物多余的点
这题还有两个坑点,一个是要拆边,一条第一次被走了是不会被破坏的,这个式题目中给的,很容易被忽略
第二个就是精度问题,在比较大小的时候要加eps,我习惯性开成1e-12照样TLE,开成1e-6也是TLE,1e-8才勉强过,好不耿直的一道题目
WQF代码
H 轮廓线dp
I - Travel Brochure HDU - 5990 [Megumin]
对于题中的最后得分公式,可以化为\(\frac{1}{2}*\sum^k_{j=0}\left(\frac{b_{i_j}}{a_{i_j}},b_{i_j}\right)\times\left(\frac{b_{i_{j+1}}}{a_{i_{j+1}}},b_{i_{j+1}}\right)\)。这样,题目就转化成在\(n\)个点中找到一些点,使得有向面积最大,那么很显然就是求凸包面积。需要注意的是,所给点可能重复,因此在求凸包时应跳过重复点。
代码:http://paste.ubuntu.com/24476585/
J 搜索 最大团
K kd-tree
可以考虑三维的kdtree,修改下估值函数,相同时还得判断标号
WQF的代码
L 模拟
M kd-tree