这个家伙很懒,什么也没有留下
追踪最近的用户名外显变动记录。
最近的文章、讨论、云剪贴板与社区记录
我的想法是先用二分/倍增算出 $0$ 的位置,设为 $l$ 和 $r$,然后开始扩展,接下来需要找到 $f=1$ 的位置,于是: 1. 我首先查询 $f$ 相对于 $[l,r]$ 在左,还是右。 2. 如果是左,可以通过二分,找到 $f$ 的位置 $u$,然后将 $[u+1,l-1]$ 的位置加入栈中,然后将 $l$…
可能是求解同余方程 $a^x\equiv b\pmod p$ 在 $p|a$ 且 $p|b$ 时得到了 $0$,实际上应当是 $1$,因为任何数的 $0$ 次方都等于 $1$。
如果你只 AC 了测试点 $4\sim 6$,可能出现了以下问题: - 没有特判 $a=0$(BSGS 不适用于底数为 $0$); - 你考虑了形如 $ma^{x-1}\equiv n\pmod p$ 的同余方程,但没有特判 $m=0$,或者在 $m=0$ 时没有特判 $n=0$。 如果你只在测试点 $1,2$ WA,…
```cpp #include using namespace std; const int N = 1e5+1; int n, m, op, a, b, k, v; struct Array{ int val[N > 1; L[rt] = build1(l, mid); R[rt] = build1(mid+1, r…
```cpp #include using std::cin, std::cout, std::random_device, std::mt19937, std::max, std::min; const int N = 5e4+1; int n, m, opt, l, r, pos, k, a[N]; random_…
```cpp #include using namespace std; const int N = 1e5+1; int n, m, op, x, y; struct LCT{ int fa[N], ch[N][2], val[N], sum[N]; bool rev[N]; inline bool get(int…
在讨论《40pts 警示后人》回复:
@[Andyxz](luogu://user/1067741) 因为乘积的放大作用,例如:设 `INF=2e9`,如果考虑 `a,b=5e8, c=1`,那么会出现 `a*b>c*INF` 这种情况。可以看出避免这种问题,需要 $\mathtt{INF}>V^2$,其中 $V$ 是数列的绝对值的值域大小
在讨论《这个代码既TLE又MLE》回复:
已经解决 @[abc114514avdf](luogu://user/1125575)
在讨论《64pts求调》回复:
已经解决,问题出在条件 `l==k-1`,还缺少 `l<r`
下面的代码尝试枚举深度 $i$,对深度为 $i$ 的点按照子树深度从大到小排序,然后组合数学计算,但部分测试点 WA ```cpp #include using namespace std; typedef long long ll; const int N = 1e6+1; const ll mod = 998244…
```cpp #include using namespace std; typedef long long ll; struct Point{ ll x, y; Point operator+(const Point &p) const {return {x+p.x, y+p.y};} Point operator-…
```cpp #include using namespace std; const int N = 1e5+1, K = 18; int n, m, a, b, x, y, z; vector e[N]; int tot, dfn[N], dep[N], fa[N], f[N][K]; void dfs(int u)…
```cpp #include using namespace std; const int N = 1e5+1, K = 18; int n, m, a, b, x, y, z; vector e[N]; int tot, dfn[N], dep[N], fa[N], f[N][K]; void dfs(int u)…
```cpp #include using namespace std; typedef long long ll; const int N = 5e4+1, K = 16; int n, m, a[N]; bool vis[N], B[N]; ll f[N][K], g[N][K]; vector > e[N]; v…
Mirror Number是只有数字 $0,1,8$ 的回文数字,更严谨的定义是: >**定义** Mirror Number 是一个自然数 $n$,满足:设 >$$n=a_0+10a_1+10^2a_2+\cdots+10^ma_m,\ m\in\N,a_i\in\{0,1,2,3,4,5,6,7,8,9\…
$x_i$ 只能和 $x_{2i}$、$x_{2i+1}$ 交换,看到 $2i$ 和 $2i+1$ 就能想到**二叉树**。根据 $q=2^p-1$,可以看出这是一个**满二叉树**,而这颗树上的节点 $i$ 的子节点分别是 $2i$,$2i+1$,我们在节点 $i$ 上标记一个数 $x_i$,那么每一步操作,就是将一…
本题就是进行排序的一道题目,将每个学生的信息存入结构体,并重载运算符 ` using namespace std; struct Node{ string s; int a, b, c, id; bool operator i.a+i.b+i.c; } } a[1001]; int n; int main(){ cin…
在讨论《30pts 求调》回复:
本帖结,`dep[u] + dep[v] - dep[lc]`改为`dep[u] + dep[v] - 2*dep[lc]` 即可(我居然忘了乘 $2$,这个错误太低级了)
```c++ #include using namespace std; const int N = 2e5+1, K = 18; int n, k, Q, fa[N][K], dep[N], d[N]; vector e[N]; queue q; bool vis[N]; void dfs(int x){ vis[x…
为什么只有 $46$ 分 ```cpp #include using namespace std; const int N = 8e4+1; int k, n, c; struct Node{ int l, r, m; bool operator v; int mn[N], tag[N]; void pushup(in…
在一棵树上移动 $1$ 步,一定会使深度改变 $1$,所以移动 $2$ 步,深度的改变为 $0$ 或 $2$,所以移动偶数步,深度改变量一定是偶数。 那么可以将深度为奇数的点分为一类,深度为偶数的点分为一类,此时每一类中的点是可以用偶数步互相到达的,而不同类的点无法通过偶数步到达,所以只要统计深度为奇数的点的个数 $s…
# 解析 在 $a_1,\cdots,a_n$ 组成的环中,选取最大的连续和。 遇到环,就先**破环成链**,为了减少分类讨论,我们将链复制一条,也就是要 $a_{n+i}=a_i$,此时问题转化成了,对 $r-l+1\le n$ 时求最大的 $a_l+a_{l+1}+\cdots+a_r$,首先进行前缀和,令 $su…
这个代码提交只有9分(剩下测试点要么TLE要么MLE),但不知道问题出在哪里。 ```cpp #include using namespace std; typedef pair pii; const int N = 4e4+1; int B, E, P, n, m, x, y; bool vis[N]; vector…