当前位置:网站首页>LeetCode 1029 Two City Scheduling (dp)
LeetCode 1029 Two City Scheduling (dp)
2022-06-11 01:39:00 【_ TCgogogo_】
A company is planning to interview 2n people. Given the array costs where costs[i] = [aCosti, bCosti], the cost of flying the ith person to city a is aCosti, and the cost of flying the ith person to city b is bCosti.
Return the minimum cost to fly every person to a city such that exactly n people arrive in each city.
Example 1:
Input: costs = [[10,20],[30,200],[400,50],[30,20]] Output: 110 Explanation: The first person goes to city A for a cost of 10. The second person goes to city A for a cost of 30. The third person goes to city B for a cost of 50. The fourth person goes to city B for a cost of 20. The total minimum cost is 10 + 30 + 50 + 20 = 110 to have half the people interviewing in each city.
Example 2:
Input: costs = [[259,770],[448,54],[926,667],[184,139],[840,118],[577,469]] Output: 1859
Example 3:
Input: costs = [[515,563],[451,713],[537,709],[343,819],[855,779],[457,60],[650,359],[631,42]] Output: 3086
Constraints:
2 * n == costs.length2 <= costs.length <= 100costs.lengthis even.1 <= aCosti, bCosti <= 1000
Topic link :https://leetcode.com/problems/two-city-scheduling/
The main idea of the topic : Yes 2n personal , Everyone goes to the city A and B There are two cost, Let each city have its own n The minimum total number of people going cost
Topic analysis : It's easy to think of a range of data n^3 Of dp,dp[i][a][b] To i personal , On the required page i The personal situation has gone down A City a personal , Went to the B City b Minimum total personal cost , Easy to get transfer equation :
dp[i][a][b] = min(dp[i - 1][a - 1][b] + cost[i][0], dp[i - 1][a][b - 1] + cost[i][1])
because dp The equation determines each i Will choose at least one city , Therefore, one-dimensional space can be omitted
18ms, Time beats 5%
class Solution {
public int twoCitySchedCost(int[][] costs) {
int n = costs.length, m = n >> 1;
int[][] dp = new int[n + 1][m + 1];
for (int i = 1; i <= n; i++) {
for (int a = 0; a <= m; a++) {
for (int b = 0; b <= m; b++) {
if (a == 0 && b == 0) {
continue;
}
if (a + b <= i) {
if (a == 0) {
dp[i][a] = dp[i - 1][a] + costs[i - 1][1];
} else if (b == 0) {
dp[i][a] = dp[i - 1][a - 1] + costs[i - 1][0];
} else {
dp[i][a] = Math.min(dp[i - 1][a - 1] + costs[i - 1][0], dp[i - 1][a] + costs[i - 1][1]);
}
// System.out.println("dp["+i+"]["+a+"]["+b+"] = " + dp[i][a]);
}
}
}
}
return dp[n][m];
}
}边栏推荐
- [mavros] mavros startup Guide
- Middleware_ Redis_ 05_ Persistence of redis
- 【ROS】ROSmsg cakin_ Make compilation error
- How to download web photos
- SAS因子分析(proc factor过程和因子旋转以及回归法求因子得分函数)
- Inventory management and strategy mode
- Detailed explanation of classic papers on OCR character recognition
- Set up a flag -- Reconstruct promise
- Norme de soutien à la culture des entreprises de haute technologie du district de Mentougou à Beijing, subvention de 100 000 RMB
- Beijing Yanqing District high tech enterprise cultivation support standard, with a subsidy of 100000 yuan
猜你喜欢
![[ongoing update...] 2021 National Electronic Design Competition for college students (III) interpretation of the anonymous four axis space developer flight control system design](/img/63/3193186820215b9babc3d00e1ef20b.jpg)
[ongoing update...] 2021 National Electronic Design Competition for college students (III) interpretation of the anonymous four axis space developer flight control system design

Sealem finance builds Web3 decentralized financial platform infrastructure

云呐|省级行政单位固定资产管理系统

云呐|PDA无线固定资产盘点管理系统

如何使用自定义注解进行参数校验
![[path planning] week 1: hodgepodge](/img/80/074b847c6826b306318aeb9866a829.jpg)
[path planning] week 1: hodgepodge

threejs:如何获得几何体的boundingBox?

云呐|庆远固定资产管理及条码盘点系统

简述自定义注解

中间件_Redis_05_Redis的持久化
随机推荐
ROS参数服务器
Sealem Finance打造Web3去中心化金融平台基础设施
使用 CompletableFuture
IRS application release 15: application security self test guide
Negative number +0+ positive number
简述自定义注解
懒汉式单例模式
Merge sort and cardinality sort
Garbled code when the command parameter contains% in VisualStudio debugging
A/B机器正常连接后, B机器突然重启, 问A此时处于TCP的 什么状态?如何消除服务器程序中的这个状态?
About mobx
Summary of SAS final review knowledge points (notes on Application of multivariate statistics experiment)
There is a problem with numpy after CONDA installs pytoch
Support standard for cultivation of high-tech enterprises in Miyun District, Beijing, with a subsidy of 100000 yuan
QGC地面站使用教程
Application of object storage S3 in distributed file system
2.0、ROS与PX4通信详解
Using MySQL database in nodejs
How to write this with data and proc without SQL
Project_ Visual analysis of epidemic data based on Web Crawler