aLIEz
決めつけばかり
自惚れを着たチープな hokori で
音荒げても
棚に隠した哀れな
恥に濡れた鏡の中
都合の傷だけひけらかして
手軽な強さで勝取る術を
どれだけ磨いでも気はやつれる
ふらついた思想通りだ
愛-same-CRIER 愛撫-save-LIAR
Eid-聖-Rising HELL
愛してる game 世界の day
Don't-生-War Lie-兵士-War-World
Eyes-Hate-War
A-Z Looser-Krankheit-Was IS das?
受け売り盾に見下してても
そこには地面しかない事さえ
気付かぬままに壊れた
過去に負けた鏡の奥
どこまで叫べば位置を知れる
とどめもないまま息が切れる
堂々さらした罪の群れと
後ろ向きにあらがう
愛-same-CRIER 愛撫-save-LIAR
Aid-聖-Rising HELL
I'll-ness Reset-Endじゃない Burst
Don't-生-War Lie-兵士-War-World
Eyes-Hate-War
A-Z 想像High-de-Siehst YOU das?
偽の態度な臆病loud voice
気高さを勘違いした心臓音
狙い通りの幻見ても
満たせない何度も目を開けても
どこまで叫べば位置を知れる
とどめもないまま息が切れる
堂々さらした罪の群れと
後ろ向きにあらがう
愛-same-CRIER 愛撫-save-LIAR
Eid-聖-Rising HELL
愛してる Game世界のDay
Don't-生-War Lie-兵士-War-World
Eyes-Hate-War
A-Z Looser-Krankheit-Was IS das?
Leben was ist das?
Signal siehst du das?
Rade die du nicht weisst
Aus eigenem willen
Leben was ist das?
Signal siehst du das?
Rade die du nicht weisst
Sieh mit deinen augen
P2305 [NOI2014] 购票
有点牛的题。
在序列上的部分是显,考虑上树。
发现加可撤销直接上,但是可撤销李超要精细卡空间,有没有不用卡空间的呢?
-
可撤销单调栈:
就是你每次插入都二分最终位置而不是依次弹出,这样复杂度就不基于均摊了,并且每次最多修改 \(O(1)\) 个位置,撤销直接撤。
然后用树状数组套一下即可优秀空间。
-
点分治:
有根树的点分确实有点牛。
具体的就是对于一颗以 \(R\) 为根的树,先找到它的重心 \(T\),分治上下部分,在统计上部分对下部分的贡献即可。
-
树剖:
朴素树剖是 \(log^3\) 的。
考虑一个很牛的 trick。我们发现对于每个链的划分都是一些重链的前缀和一个重链的中段,考虑预处理出所以重链的贡献,就可以做 \(log^2\) 了。
实现时可以考虑直接将查询挂在重链上先扫一遍,也可以在处理到这条链时考虑对子树的贡献,如果按照第二种写法,就会写成广为人知的链分即 dsu on tree(每次先贡献所有轻儿子,在跑重儿子,最后清空跑轻儿子)。
这里给出可撤销的代码:
Code
#include <bits/stdc++.h>
using namespace std;
using llt = long long;
using ull = unsigned long long;
using llf = long double;
#define endl '\n'
#ifdef LOCAL
FILE *InFile = freopen("in_out/in.in", "r", stdin), *OutFile = freopen("in_out/out.out", "w", stdout);
#endifconst int N = 2e5 + 3;
int n, t; llt cq[N], cp[N], cl[N];class Stk{
private:vector<pair<llt, llt>> stk; int top = -1;stack<tuple<pair<llt, llt>, int, int>> clr;
public:void Epl(llt x, llt y){auto Chg = [&](int p){if(stk.size() == p)stk.emplace_back(0, 0);clr.emplace(stk[p], p, top);stk[top = p] = {x, y};};auto Chk = [&](int k){auto &[xa, ya] = stk[k - 1]; auto &[xb, yb] = stk[k];return (ya - yb) * 1. / (xa - xb) > (yb - y) * 1. / (xb - x);};int l = 1, r = top;while(l <= r){int mid = l + r >> 1;if(Chk(mid)) r = mid - 1;else l = mid + 1;}Chg(r + 1);}bool Ept(){return top < 0;}pair<llt, llt> &Get(llt s){auto Chk = [&](int k){auto &[xa, ya] = stk[k - 1]; auto &[xb, yb] = stk[k];return (ya - yb) * 1. / (xa - xb) > s;};int l = 1, r = top;while(l <= r){int mid = l + r >> 1;if(Chk(mid)) r = mid - 1;else l = mid + 1;}return stk[r];}void Re(){auto &[sk, p, tp] = clr.top(); clr.pop();stk[p] = sk, top = tp;}
};class Bit{
private:Stk a[N];int Low(int x){return x & -x;}
public:void Ins(int p, llt x, llt y){for(int i = p; i; i -= Low(i))a[i].Epl(x, y);}llt Get(int p, llt k){auto Val = [&](const pair<llt, llt> &t){auto &[x, y] = t;return -k * x + y;};llt ans = 0x3f3f3f3f3f3f3f3f;for(int i = p; i <= N; i += Low(i))if(!a[i].Ept()) ans = min(ans, Val(a[i].Get(k)));return ans;}void Re(int p){for(int i = p; i; i -= Low(i))a[i].Re();}
} bt;struct Gph{vector<pair<int, llt>> to[N];void Add(int u, int v, llt w){to[u].emplace_back(v, w);}void ADD(int u, int v, llt w){Add(u, v, w), Add(v, u, w);}
#define For_to(i, u, v, w, g) for(auto &[v, w] : g.to[u])
} g;llt dp[N], dep[N]; int stk[N], top;
void Dfs(int u, llt ds){dep[stk[++top] = u] = ds;int l = 1, r = top - 1;while(l <= r){int mid = l + r >> 1;if(dep[stk[mid]] + cl[u] >= ds) r = mid - 1;else l = mid + 1;}dp[u] = bt.Get(l, cp[u]) + cp[u] * ds + cq[u];bt.Ins(top, ds, dp[u]);For_to(i, u, v, w, g)Dfs(v, ds + w);bt.Re(top), --top;
}int main(){ios::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);cin >> n >> t;for(int i = 2; i <= n; ++i){int f; llt s;cin >> f >> s >> cp[i] >> cq[i] >> cl[i];g.Add(f, i, s);}bt.Ins(1, 0, 0), stk[top = 1] = 1;memset(dp, 0x3f3f3f3f, sizeof(dp)), dp[1] = 0;For_to(i, 1, v, w, g)Dfs(v, w);for(int i = 2; i <= n; ++i)cout << dp[i] << endl;
}
zzz 体验
想了想还是放好了。
早想玩玩二游,在开学的前四天晚上经过不怎么仔细的考虑选择了 zzz。
事实上一共就玩了一坤天,感觉不错。
好像说大改了走格子,反正改了以后的感觉十分不错。
感觉第五章的剧情太赶了,但考虑 1.4 大改,也还能接受。
打斗很爽,难度还是有的,可能是我懒得养,一个二游被我玩出了魂类游戏的感觉也是没救了,感谢闪避,感谢弹刀。
三分钟日常喜了,三分钟日常也没人给我做恼了。
就是抽嘉音结果吧猫又的队都抽出来了确实是地狱了,最后拼尽全力也没出……
某涛:我有理由合理的怀疑一下你这东西的抽取概率(
本来这里应该有一张 zzz 的图,因为没有机会找,所以不放了。
P