[伯俊]2631列-javascript
📌 質問する
https://www.acmicpc.net/problem/2631
📌 に答える
const fs = require('fs');
const filePath = process.platform === 'linux' ? '/dev/stdin' : 'input.txt';
let input = fs.readFileSync(filePath).toString().trim().split('\n');
const N = +input.shift();
const arr = input.map((i) => +i);
const longest = new Array(N).fill(1);
for (let i = 1; i < N; i++) {
let cnt = 0;
for (let j = 0; j < i; j++) {
if (arr[j] < arr[i]) cnt = Math.max(cnt, longest[j]);
}
longest[i] = cnt + 1;
}
console.log(N - Math.max(...longest));
✔アルゴリズム:DP✔は異動者を順番に配置する必要がある問題です
✔現在の順序で並べられている最大部分の数列の長さを求め、全体の人数を差し引くと、最小の順序で並べられます
✔二重forゲート、最大増加部分数列の長さを求め、減算すればよい.
✔難易度:標準プラチナ5
Reference
この問題について([伯俊]2631列-javascript), 我々は、より多くの情報をここで見つけました https://velog.io/@ywc8851/백준-2631-줄세우기-javascriptテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol