summaryrefslogtreecommitdiff
path: root/other
diff options
context:
space:
mode:
authormzuenni <michi.zuendorf@gmail.com>2023-03-03 23:45:53 +0100
committermzuenni <michi.zuendorf@gmail.com>2023-03-03 23:45:53 +0100
commit61710d33fddc342904c69b955cc3b5a363473d1e (patch)
treed6d00bf5155eca44ebbecd57d0e243d1fe0c2afb /other
parentf14f56b8f02fe548e83f3e36edb966d17fad0ab4 (diff)
fixed sos
Diffstat (limited to 'other')
-rw-r--r--other/other.tex3
-rw-r--r--other/sos.cpp2
2 files changed, 3 insertions, 2 deletions
diff --git a/other/other.tex b/other/other.tex
index 74e3ba8..cc89503 100644
--- a/other/other.tex
+++ b/other/other.tex
@@ -63,7 +63,8 @@
\paragraph{Quadrangle inequality} Die Bedingung $\forall a\leq b\leq c\leq d:
C[a][d] + C[b][c] \geq C[a][c] + C[b][d]$ ist hinreichend für beide Optimierungen.
- \paragraph{Sum over Subsets DP} $\text{res}[\text{mask}]=\sum_{i\subseteq\text{mask}}\text{in}[i]$
+ \paragraph{Sum over Subsets DP} $\text{res}[\text{mask}]=\sum_{i\subseteq\text{mask}}\text{in}[i]$.
+ Für Summe über Supersets \code{res} einmal vorher und einmal nachher reversen.
\sourcecode{other/sos.cpp}
\end{algorithm}
diff --git a/other/sos.cpp b/other/sos.cpp
index 0fe5dc0..01bc44c 100644
--- a/other/sos.cpp
+++ b/other/sos.cpp
@@ -2,5 +2,5 @@ vector<ll> res(in);
for (int i = 1; i < sz(res); i *= 2) {
for (int mask = 0; mask < sz(res); mask++){
if (mask & i) {
- F[mask] += F[mask ^ i];
+ res[mask] += res[mask ^ i];
}}}