该文被密码保护。 阅读全文
摘要:
A:水题 // Author: levil #include<bits/stdc++.h> using namespace std; typedef long long LL; typedef unsigned long long ULL; typedef pair<int,int> pii; ty 阅读全文
摘要:
看了一眼题,内行OS:不就是一个线段树板子题吗,随便过。 仔细读题:好像不太对劲。 分析了一段时间,可以主席树维护i的时间线,然后维护i + a[i]的最远距离就行了。 // Author: levil #include<bits/stdc++.h> using namespace std; typ 阅读全文
摘要:
A:暴力就行 // Author: levil #include<bits/stdc++.h> using namespace std; typedef long long LL; typedef unsigned long long ULL; typedef pair<int,int> pii; 阅读全文
摘要:
比较经典的棋盘模型,但是确实没想到。 首先,对坐标离散化,那么最多就只剩n行,n列。 然后对于每个棋子(x,y)让x行对y列连边,容量为1,代价 = i. 然后考虑s = 0行,e = 0列。 因为我们要从s出发到e。 那么限制就是从i - 1连到i行,i列连到i - 1列。 https://blo 阅读全文
摘要:
比赛的时候一直想的主席树,维护的复杂度已经够了,但是插入又不对了。 最后就卡死了。 莫队老是想不到,太菜了。 正解:莫队离线一下询问。我们从左向右维护点的值。 那么加上每个点的代价,查询一下区间内[a[i] - k,a[i] + k]的个数即可。 减去每个点同理,但是因为自己也会被算在内。所以减去的 阅读全文
摘要:
这题中间转移一直没想明白,一直卡壳。 状态dp[i][j] - i向下最深距离为j的方案数。 状态设置对了,但是发现,子树一直转移维护的时候,枚举i,j一直当成了i + j + 1的深度了。 但是这个其实是距离,我们需要维护的应该是max(i,j + 1)的深度。这样才能转移。 但是这样还是不好考虑 阅读全文
摘要:
只有01的字典树。 大概就是(偷图.jpg) 洛谷:P4551 最长异或路径 维护每个点到根的异或和。 然后我们对于每个点的异或和去找最优的字典树走法。 从最高位开始往另一位走。 // Author: levil #include<bits/stdc++.h> using namespace std 阅读全文
摘要:
https://blog.csdn.net/zuzhiang/article/details/79872805 阅读全文
摘要:
A:签到 // Author: levil #include<bits/stdc++.h> using namespace std; typedef long long LL; typedef unsigned long long ULL; typedef pair<int,int> pii; co 阅读全文