From 5ab8a5088b729a9953b8dff1b2a985dc8fb2098b Mon Sep 17 00:00:00 2001 From: mzuenni Date: Mon, 27 Jun 2022 17:19:28 +0200 Subject: updated tcr --- other/pbs.cpp | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 other/pbs.cpp (limited to 'other/pbs.cpp') diff --git a/other/pbs.cpp b/other/pbs.cpp new file mode 100644 index 0000000..45577e2 --- /dev/null +++ b/other/pbs.cpp @@ -0,0 +1,32 @@ +// Q = Anzahl der Anfragen +// C = Anzahl der Schritte der Operation + +vector> focus; +vector low, high, ans; + +ans.assign(Q, C + 1); +low.assign(Q, 0); +high.assign(Q, C); +focus.assign(C + 1, vector()); +for (bool changed = true; changed;) { + changed = false; + for (int i = 0; i <= C; i++) focus[i].clear(); + for (int i = 0; i < Q; i++) { + if (low[i] > high[i]) continue; + focus[(low[i] + high[i]) / 2].pb(i); + } + + // Simulation zurücksetzen + + for (int k = 0; k <= C; k++) { + // Simulationsschritt + + for (int q : focus[k]) { + changed = true; + if (/* Eigenschaft schon erfüllt */) { + // Antwort updaten + high[q] = k - 1; + ans[q] = min(ans[q], k); + } else { + low[q] = k + 1; +}}}} -- cgit v1.2.3