2019-09-14 23:16:25

总体感受:节奏尚可,难度尚可。然而还是卡在了最后一题,完全没有想到使用dp。

注意点

1)Contest的最后一题往往是DP,Graph,这个敏感度需要提高;

2)DP的题目还是远远不够熟练。

  • 801. Minimum Swaps To Make Sequences Increasing

问题描述:

问题求解:

keep[i] : 保留i位置的数字,使得[0, i]两个数组递增的最小交换次数。

swap[i] : 交换i位置的数字,使得[0, i]两个数组递增的最小交换次数。

    public int minSwap(int[] A, int[] B) {
int n = A.length;
int[] keep = new int[n];
int[] swap = new int[n];
Arrays.fill(keep, n);
Arrays.fill(swap, n);
keep[0] = 0;
swap[0] = 1;
for (int i = 1; i < n; i++) {
if (A[i] > A[i - 1] && B[i] > B[i - 1]) keep[i] = Math.min(keep[i], keep[i - 1]);
if (A[i] > B[i - 1] && B[i] > A[i - 1]) keep[i] = Math.min(keep[i], swap[i - 1]);
if (B[i] > A[i - 1] && A[i] > B[i - 1]) swap[i] = Math.min(swap[i], keep[i - 1] + 1);
if (B[i] > B[i - 1] && A[i] > A[i - 1]) swap[i] = Math.min(swap[i], swap[i - 1] + 1);
}
return Math.min(keep[n - 1], swap[n - 1]);
}

  

  • 1187. Make Array Strictly Increasing

问题描述:

问题求解:

    public int makeArrayIncreasing(int[] arr1, int[] arr2) {
int n = arr1.length;
int[] keep = new int[n]; Set<Integer> set = new TreeSet<>();
for (int num : arr2) set.add(num);
int m = set.size();
int[] sorted = new int[m];
int idx = 0;
for (int num : set) sorted[idx++] = num;
int[] swap = new int[m]; Arrays.fill(keep, n + 1);
keep[0] = 0;
for (int i = 0; i < m; i++) swap[i] = 1;
for (int i = 1; i < n; i++) {
if (arr1[i] > arr1[i - 1]) keep[i] = keep[i - 1];
int cur_min = n;
for (int j = 0; j < m; j++) {
int cur_swap = n + 1;
if (arr1[i] > sorted[j]) keep[i] = Math.min(keep[i], swap[j]);
int temp = cur_min;
cur_min = Math.min(cur_min, swap[j]);
if (sorted[j] > arr1[i - 1]) cur_swap = Math.min(cur_swap, keep[i - 1] + 1);
cur_swap = Math.min(cur_swap, temp + 1);
swap[j] = cur_swap;
}
}
int res = Math.min(n + 1, keep[n - 1]);
for (int i = 0; i < m; i++) res = Math.min(res, swap[i]);
return res > n ? -1 : res;
}

  

Contest 153的更多相关文章

  1. AtCoder Beginner Contest 153 题解

    目录 AtCoder Beginner Contest 153 题解 A - Serval vs Monster 题意 做法 程序 B - Common Raccoon vs Monster 题意 做 ...

  2. noip-2006普及组-数列- 【模拟-找规律-快速幂】

    链接:https://ac.nowcoder.com/acm/contest/153/1047 来源:牛客网 题目描述 给定一个正整数k( ≤ k ≤ ),把所有k的方幂及所有有限个互不相等的k的方幂 ...

  3. 坑爹CF April Fools Day Contest题解

    H - A + B Strikes Back A + B is often used as an example of the easiest problem possible to show som ...

  4. 「CometOJ」Contest #11

    Link Aeon 显然字典序最大就是把最小的字母放在最后 Business [动态规划] 简单dp dp[i][j]dp[i][j]dp[i][j]表示到第iii天,当前有jjj块钱,最后返还的钱最 ...

  5. Programming Contest Problem Types

        Programming Contest Problem Types Hal Burch conducted an analysis over spring break of 1999 and ...

  6. hdu 4946 2014 Multi-University Training Contest 8

    Area of Mushroom Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) ...

  7. 2016 Multi-University Training Contest 2 D. Differencia

    Differencia Time Limit: 10000/10000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tot ...

  8. 2016 Multi-University Training Contest 1 G. Rigid Frameworks

    Rigid Frameworks Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) ...

  9. hdu-5988 Coding Contest(费用流)

    题目链接: Coding Contest Time Limit: 2000/1000 MS (Java/Others)     Memory Limit: 65536/65536 K (Java/Ot ...

随机推荐

  1. SpringBoot 处理 POST Json 传参枚举

    在 Spring 框架中对枚举类型的序列化/反序列化是有限制的. 假设如下面这样在某些情况下就不能正常工作: 123456789 public enum PayChannelEnum implemen ...

  2. 微软推出中文学习AI助手Microsoft Learn Chinese

    ​ 编者按:美国总统特朗普访华期间,他6岁的外孙女阿拉贝拉用中文普通话演唱和背诵传统诗歌的视频在中国社交媒体上引起广泛关注,可以感受得到,越来越多的人对中文学习充满了兴趣.智能私教微软小英帮助很多中国 ...

  3. 阿里大数据竞赛season1 总结

    关于样本测试集和训练集数量上,一般是选择训练集数量不小于测试集,也就是说训练集选取6k可能还不够,大家可以多尝试得到更好的效果: 2. 有人提出归一化方面可能有问题,大家可以查查其他的归一化方法,但是 ...

  4. 强制迁移、合区 APP太强势伤害用户同时是否违法?

    APP太强势伤害用户同时是否违法?" title="强制迁移.合区 APP太强势伤害用户同时是否违法?"> 对于经常混迹在国内各大手游的玩家来说,"合区& ...

  5. JavaScript中prompt的使用

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.js * 作者:常轩 * 微信公众号:Worldhel ...

  6. python 生成随机数、生成 uuid

    1. 使用 uuid.uuid1 产生一个随机数 2. 在使用 random.sample() 产生一个随机字符串 3. 将两者进行拼接 import uuid import random def r ...

  7. Zabbix自动发现并监控磁盘IO、报警

    本文转载自: https://www.93bok.com 引言 Zabbix并没有提供模板来监控磁盘的IO性能,所以我们需要自己来创建一个,由于一台服务器中磁盘众多,如果只有一两台可以手动添加,但服务 ...

  8. MySql5.7.28下载、安装、登陆详解

    进入MySql官网下载,页面如下 根据自己需求,选择适合自己的进行下载 然后解压安装包到自己的喜欢的路径 配置环境变量 添加环境系统变量 MYSQL_HOME:D:\Program Files\mys ...

  9. 前端每日实战:132# 视频演示如何用纯 CSS 创作一只思考的手

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/WgdVyx/ 可交互视频 此视频是 ...

  10. XCTF---easyjava的WriteUp

    一.题目来源     题目来源:XCTF题库安卓区easyjava     题目下载链接:下载地址 二.解题过程     1.将该apk安装进夜神模拟器中,发现有一个输入框和一个按钮,随便输入信息,点 ...