『做题记录』种函数
[复旦营]种函数——最小权匹配笑传之CC标
这tm是二分图最小权匹配???
Description
给定 \(n\) 对整数 \((x_i,y_i)\) 和正整数 \(C\) ,求一个定义域和值域都是 \(Z\) 的函数 \(f(x)\),满足 \(\forall x\in Z\),\(f(x)+C=f(2f(x)−x+1)\) ,使得 \(\sum|f(x_i)−y_i|\) 最小。
\(n\le 10^4, C\le 200,x_i,y_i\le 10^9\) 。
Solution
s1monG场切,恐怖如斯。
非常强的一道推导题。对于这种题我们很难一眼看懂其中要义,所以我们可以先尝试代入一些函数。我们把 \(f(x) = w\) 代入原式可以得到 \(f(2w-x+1) = w+C\) ,然后我们把原式中的 \(x\) 替换为 \(2w-x+1\) 再次代入得到 \(f(2C+x) = w+2C\) ,以此类推可以得到 \(f(2w+2C-x+1) = w+3C\) 。
我们把上面推出的式 \(1\) 和 式 \(3\) 放在一起,式 \(2\) 和式 \(4\) 放在一起,不难得到 \(f(x) = f(x-2C)+2C\) ,也就是说,这是个周期函数,我们可以把所有的 \(x_i, y_i\) 挪到区间 \([0, 2C)\) 处理。
然后就是转化成匹配,不太会,明天问问高指。
正确的复杂度似乎要写 km ,不会(((
Code
点击查看代码
Summary
遇到看不懂的东西先尝试代入一些特殊值进行运算,尝试推导出一些有用的性质,然后再根据这些性质解决问题。