AtCoder Regular Contest 128 部分题题解

关于鄙人罚坐两小时那件事...该开始看A题,这不就是个DP记录路径吗?Wrong了,嗯,我没用double,又Wrong,怎么回事,使劲检查自己的算法和细节问题,一个小时过去了,...这没错啊,又反复的看了题目五六遍,咦,这数据范围有点大哎,woc,该不会爆double了吧,用了一个小数据,靠,果然爆double了...你们这个题就是卡DP做法的,应该是需要找到某种神奇的性质,直接贪心大的做就行了。于是就又罚坐了一个小时...

A - Gold and Silver

这个题真的狗,好吧,还是我太菜了...首先思考贪心的做法,我们优先想到的最优做法就是先金换银乘一个大的(A_i),后来银换金除以一个小的(A_i),这样其实也就是乘以(frac{A_i}{A_j}),所以我们枚举一个i,找到对应的j,若i后面是一个连续的递减区间的话,我们一定选最小的最优,例如两个交易(a,b),(c,d) ,a到d递减。(frac{a}{b} imesfrac{c}{d}<=frac{a}{d}),所以我们直接找i的连续的递减的区间即可。还有一个做法就是对DP取log,乘除变成加减就行,我怎么没想到......

原文地址:https://www.cnblogs.com/gcfer/p/15416523.html