1700回バックアップ:複数タブのスケジュール
複数のタブの配置
1700回バックアップ:複数タブのスケジュール
アイデア
もし次の電気用品が今多機能ラベルに挿入されていない場合は、挿入された電気用品の中で後で再び現れる電気用品を見つけて、彼女を選ぶことができます.
コード#コード#
#include <bits/stdc++.h>
using namespace std;
int N, K;
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> N >> K;
vector<int> v(K);
for (int i = 0; i < K; i++) {
cin >> v[i];
}
vector<int> cur;
auto iter = v.begin();
// 맨 처음 N개 꽂기
while (iter != v.end() && cur.size() != N) {
if (find(cur.begin(), cur.end(), *iter) == cur.end()) {
cur.push_back(*iter);
}
iter++;
}
int ans = 0;
while (iter != v.end()) {
// 다음 전기용품이 멀티탭에 없으면
if (find(cur.begin(), cur.end(), *iter) == cur.end()) {
auto k = iter;
int target = -1;
for (int i = 0 ; i < N; i++) {
// 꽂혀있는 전기용품중 가장 나중에 다시 등장할 전기용품을 찾는다
auto nk = find(iter, v.end(), cur[i]);
if (nk > k) {
k = nk;
target = i;
}
}
// 가장 나중에 등장하는 전기용품 뽑고 다음 전기용품 꽂기
cur[target] = *iter;
ans++;
}
iter++;
}
cout << ans;
return 0;
}
おしゃべり
難しすぎます...しばらくは高度なアルゴリズムを少し置いて、Greyのような問題を解決しようと努力します.
Reference
この問題について(1700回バックアップ:複数タブのスケジュール), 我々は、より多くの情報をここで見つけました
https://velog.io/@ks1ksi/백준-1700번-멀티탭-스케줄링
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
#include <bits/stdc++.h>
using namespace std;
int N, K;
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> N >> K;
vector<int> v(K);
for (int i = 0; i < K; i++) {
cin >> v[i];
}
vector<int> cur;
auto iter = v.begin();
// 맨 처음 N개 꽂기
while (iter != v.end() && cur.size() != N) {
if (find(cur.begin(), cur.end(), *iter) == cur.end()) {
cur.push_back(*iter);
}
iter++;
}
int ans = 0;
while (iter != v.end()) {
// 다음 전기용품이 멀티탭에 없으면
if (find(cur.begin(), cur.end(), *iter) == cur.end()) {
auto k = iter;
int target = -1;
for (int i = 0 ; i < N; i++) {
// 꽂혀있는 전기용품중 가장 나중에 다시 등장할 전기용품을 찾는다
auto nk = find(iter, v.end(), cur[i]);
if (nk > k) {
k = nk;
target = i;
}
}
// 가장 나중에 등장하는 전기용품 뽑고 다음 전기용품 꽂기
cur[target] = *iter;
ans++;
}
iter++;
}
cout << ans;
return 0;
}
Reference
この問題について(1700回バックアップ:複数タブのスケジュール), 我々は、より多くの情報をここで見つけました https://velog.io/@ks1ksi/백준-1700번-멀티탭-스케줄링テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol