CodeForces 1107F. Vasya and Endless Credits
Posted tinywong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CodeForces 1107F. Vasya and Endless Credits相关的知识,希望对你有一定的参考价值。
题目简述:给定 $n leq 500$ 个贷款方式,其中第$i$个贷款额为$a_i$元,需要$k_i$个月偿还,每月还贷$b_i$元。在每个月月初可申请其中一个贷款,而在每个月月底时需要还贷。求:(在某一时刻)可获得的最多贷款。
观察1:获得最多贷款的时刻一定在$n$月以内。
观察2:倒数第$j$个月申请的第$i$个贷款,在获得最多贷款的时刻之前,需要还贷$b_i*min{k_i,j-1}$元。
解1:(二分图最佳匹配,最小费用最大流)code
设$X$部有$n$个点,记为$X_i$,表示第$i$个贷款方式;$Y$部有$n$个点,记为$Y_j$。$X_i$和$Y_j$之间的连线表示倒数第$j$个月申请第$i$个贷款。
连边$(X_i, Y_j)$,权值为$max{a_i-b_imin{k_i,j-1},0}$。二分图最佳匹配即为答案。使用KM算法求二分图最佳匹配,时间复杂度为$O(n^3)$。
解2:
以上是关于CodeForces 1107F. Vasya and Endless Credits的主要内容,如果未能解决你的问题,请参考以下文章
Codeforces1107 E. Vasya and Binary String(区间dp)
Codeforces 1107 E - Vasya and Binary String
CodeForces - 837E - Vasya's Function | Educational Codeforces Round 26
UVA - 10559 Blocks 和 Vasya and Binary String CodeForces - 1107E (dp OR 记忆化搜索)