From 59f203c0a3ddaedf0c88e78be8a503fc778454cf Mon Sep 17 00:00:00 2001 From: 24OI-bot <15963390+24OI-bot@users.noreply.github.com> Date: Sat, 7 Nov 2020 09:04:54 -0500 Subject: [PATCH] style: format markdown files with remark-lint --- docs/dp/opt/monotonous-queue-stack.md | 104 ++++++++++++++++++---------------- 1 file changed, 54 insertions(+), 50 deletions(-) diff --git a/docs/dp/opt/monotonous-queue-stack.md b/docs/dp/opt/monotonous-queue-stack.md index 4a064ae5..97a72994 100644 --- a/docs/dp/opt/monotonous-queue-stack.md +++ b/docs/dp/opt/monotonous-queue-stack.md @@ -55,34 +55,38 @@ author: TrisolarisHD, hsfzLZH1, Ir1d, greyqz, Anguei, billchenchina, Chrogeek, C #define Cpy(a, b) memcpy(a, b, sizeof(b)) #define Set(a, v) memset(a, v, sizeof(a)) #define debug(x) cout << #x << ": " << x << endl - #define _forS(i, l, r) for(set::iterator i = (l); i != (r); i++) - #define _rep(i, l, r) for(int i = (l); i <= (r); i++) - #define _for(i, l, r) for(int i = (l); i < (r); i++) - #define _forDown(i, l, r) for(int i = (l); i >= r; i--) - #define debug_(ch, i) printf(#ch"[%d]: %d\n", i, ch[i]) - #define debug_m(mp, p) printf(#mp"[%d]: %d\n", p->first, p->second) + #define _forS(i, l, r) for (set::iterator i = (l); i != (r); i++) + #define _rep(i, l, r) for (int i = (l); i <= (r); i++) + #define _for(i, l, r) for (int i = (l); i < (r); i++) + #define _forDown(i, l, r) for (int i = (l); i >= r; i--) + #define debug_(ch, i) printf(#ch "[%d]: %d\n", i, ch[i]) + #define debug_m(mp, p) printf(#mp "[%d]: %d\n", p->first, p->second) #define debugS(str) cout << "dbg: " << str << endl; - #define debugArr(arr, x, y) _for(i, 0, x) { _for(j, 0, y) printf("%c", arr[i][j]); printf("\n"); } - #define _forPlus(i, l, d, r) for(int i = (l); i + d < (r); i++) + #define debugArr(arr, x, y) \ + _for(i, 0, x) { \ + _for(j, 0, y) printf("%c", arr[i][j]); \ + printf("\n"); \ + } + #define _forPlus(i, l, d, r) for (int i = (l); i + d < (r); i++) #define lowbit(i) (i & (-i)) #define MPR(a, b) make_pair(a, b) template inline bool chmax(T& a, T b) { - if(a < b) { - a = b; - return true; - } - return false; + if (a < b) { + a = b; + return true; + } + return false; } template inline bool chmin(T& a, T b) { - if(a > b) { - a = b; - return true; - } - return false; + if (a > b) { + a = b; + return true; + } + return false; } // ============================================================== // @@ -99,45 +103,45 @@ author: TrisolarisHD, hsfzLZH1, Ir1d, greyqz, Anguei, billchenchina, Chrogeek, C int fl = 1; void init() { - memset(f, inf, sizeof(f)); - memset(que, 0, sizeof(que)); - _rep(i, 1, n) f[0][i] = 0; - fl = 1; + memset(f, inf, sizeof(f)); + memset(que, 0, sizeof(que)); + _rep(i, 1, n) f[0][i] = 0; + fl = 1; } void dp() { - init(); - _rep(i, 1, m) { - int l = 1, r = 0; - - int k = 1; - _rep(j, 1, n) { - for (; k <= min(1ll*n, j+d*(t[i]-t[i-1])); k++) { - while (l <= r && f[fl^1][que[r]] <= f[fl^1][k]) r--; - que[++r] = k; - } - - while (l <= r && que[l] < max(1ll, j-d*(t[i]-t[i-1])) ) l++; - f[fl][j] = f[fl^1][que[l]] - abs(a[i]-j) + b[i]; - } - - fl ^= 1; + init(); + _rep(i, 1, m) { + int l = 1, r = 0; + + int k = 1; + _rep(j, 1, n) { + for (; k <= min(1ll * n, j + d * (t[i] - t[i - 1])); k++) { + while (l <= r && f[fl ^ 1][que[r]] <= f[fl ^ 1][k]) r--; + que[++r] = k; + } + + while (l <= r && que[l] < max(1ll, j - d * (t[i] - t[i - 1]))) l++; + f[fl][j] = f[fl ^ 1][que[l]] - abs(a[i] - j) + b[i]; } + + fl ^= 1; + } } int main() { - //freopen("input.txt", "r", stdin); - cin >> n >> m >> d; - _rep(i, 1, m) { - cin >> a[i] >> b[i] >> t[i]; - //debug(t[i]); - } - - // then dp - dp(); - ll ans = inf; - _rep(i, 1, n) chmax(ans, f[fl^1][i]); - cout << ans << endl; + // freopen("input.txt", "r", stdin); + cin >> n >> m >> d; + _rep(i, 1, m) { + cin >> a[i] >> b[i] >> t[i]; + // debug(t[i]); + } + + // then dp + dp(); + ll ans = inf; + _rep(i, 1, n) chmax(ans, f[fl ^ 1][i]); + cout << ans << endl; } ``` -- 2.11.0