There is nothing more deceptive than an obvious fact.|Simplicity.
追踪最近的用户名外显变动记录。
最近的文章、讨论、云剪贴板与社区记录
### Day -2 上午加下午都在打板子,中间夹杂了一些 MC。到晚上回家的时候总算打完了。 回家再敲了敲不熟悉的模板。 ### Day -1 合法划水日,从早上九点就开划了。 历程大概是:只看不写板子 -> 空洞骑士 -> 丝之歌 -> 空洞骑士 -> 唱跳 rap 篮球 -> MC -> 扑克牌 -> 空洞骑士…
在讨论《如果你只能通过 sub#3,40 分 WA》回复:
没被hack掉的30pts怎么办? 求助QAQ ```cpp #include using namespace std; const int N = 1e4 + 10; bool fl; int n, m, k; int len[N], f[N][18], g[N][18]; vector > G[N]; set st…
连边不能相交,还要是一颗树,有趣的条件,不错的题。 把点拉成链来看: - “不能相交”,就意味着两条线段只能“相离”(无公共端点),“相切”(有一个公共端点),“相互包含”(一个线段在另外一个线段内)。 - “一颗树”,就意味着 $(i,j)(j,k)$ 这样的边与 $(i,k)$ 不能共存。 观察到数据范围不大,很容…
序列分治套路题。 注意到区间的 $\gcd$ 最多只有 $O(\log V)$ 种取值。 考虑跨过 $mid$ 的区间一定是一个左半边的后缀 $[L',mid]$ 拼上一个右半边的前缀 $[mid+1,R']$。 可以预处理左半区间所有后缀以及右半区间所有前缀的 $\gcd$ 的出现次数,用两个数组存下来。 统计答案时…
在讨论《O(n * sqrt(n) * log(n)) 暴力能卡过吗?》回复:
此贴结
2025.8.14 修改了一处关于时间复杂度的错误,感谢 @[zj余能](luogu://user/20360) 指出错误。 --- 发一种题解区没有的做法。 真是序列分治好题。 假如现在递归到了区间 $[L,R]$,最大的子序列无非是在左半边/右半边/横跨 $mid$。 主要是横跨 $mid$ 的情况,通常将区间分成…
## [CF1799D1 Hot Start Up (easy version)](https://www.luogu.com.cn/problem/CF1799D1) 记 $f_{i,j,k}$ 表示考虑了前 $i$ 个任务,一个 cpu上一个完成的任务是 $j$,另一个是 $k$ 的最小代价。 考虑运行完第 $i$…
记录 $b_i$ 表示计数器 $i$ 的数值。 一次有必要的修改,当且仅当 $a_i=b_i$。 我们可以考虑每次暴力修改一个 $a_i=b_i$ 的位置(用一个队列维护),由于每个点至多只能修改一次,所以暴力修改的复杂度是 $O(n)$ 的。 至于本来不相等,但被相邻点“牵连”了之后变成相等的点,就直接扔进队列里。…
# 根号算法全家桶 第一弹 ps:没有莫队,莫队由 Po7ed 负责。 ## 1.根号分治 ### 简介 根号分治本质上是一种 **按规模大小分类讨论** 的思想(不是算法)。 对于规模为 $x$ 的问题,如果我们能在 $O(x)$ 和 $O({n\over x})$ 的时间内解决,可以考虑根号分治:$x\le \sq…
考虑一种暴力做法。记 $tx_i$ 表示前 $i$ 位中 $x$ 的个数,$ty_i$ 表示前 $i$ 位中 $y$ 的个数。那么区间 $[l,r]$ 合法,当且仅当 $tx_r-tx_l=ty_r-ty_l\ne 0$,移项一下,就是 $tx_r-ty_r=tx_l-ty_l$,不妨记 $p_i=tx_i-ty_i$…
# 线段树全家桶 ## 权值线段树 [P3372 【模板】线段树 1](https://www.luogu.com.cn/problem/P3372) [P3373 【模板】线段树 2](https://www.luogu.com.cn/problem/P3373) [P8862 「KDOI-03」还原数据](http…
首先,可以很明显地感受到这题可以用 dp 解决。 设 $f_i$ 表示乘坐第 $i$ 辆车走到 $t_i$ 的方案数。 转移时,考虑上一次乘坐的是哪辆车,假设上一辆乘坐的是第 $j$ 辆车,那么 $j$ 需要满足 $t_j\in[s_i,t_i-1]$,那么 $f_i$ 就等于这些 $f_j$ 的和。还有一种要特判的就…
在讨论《FhqTreap求调,玄关,码风优良,有注释。》回复:
@[happy_zero](luogu://user/731925) 收到,感谢 Orz。不过还有其次吗?
在讨论《FhqTreap求调,玄关,码风优良,有注释。》回复:
其他的点都是 WA 了。
20pts,只过了 #1 和 #6 ```cpp #include using namespace std; mt19937 rnd(chrono::steady_clock::now().time_since_epoch().count()); const int N = 1e5 + 10; struct node…
在文章《关于魏忠浩学长的两场比赛...》发表评论:
Orz
线段树合并,#48 TLE。 把 `vector` 改成链式前向星。 还有就是值域不一定是 n,可以先求一下 dep 的最大值。 [Result1](https://codeforces.com/contest/570/submission/304206239) -> [Result2](https://codefor…
在讨论《如果你线段树合并 RE#131》回复:
感谢救命恩人。
经典套路。 考虑每个点能被多少个矩形覆盖。 以该点为原点,建立平面直角坐标系。那么其他点就被分成了四类。  接下来分为两种情况: - 第一种,选出的点集里包含原点 $O$,那么 $O$ 必选,其…
在讨论《求助,动态开点线段树要么RE要么MLE》回复:
此贴结
在讨论《求助,动态开点线段树要么RE要么MLE》回复:
@[mysterys](luogu://user/659165) 拜谢
以下代码,数组怎么开都会有问题,不知道为什么。 ```cpp #include #include using namespace std; const int N = 3e5 + 10; const int M = N * 50; int n, q, node_cnt = 0; struct SGT { int ls[…
在讨论《O(n * sqrt(n) * log(n)) 暴力能卡过吗?》回复:
@[happy_zero](luogu://user/731925) 你说的对。
50 分暴力做法,求卡常。 ```cpp #include using namespace std; const int N = 5e5 + 10; int n, q, block; int stk[N], top; int v[N], ans[N]; struct node { int x, y; bool oper…
考场上时间很赶,T1 一个小时貌似好像做出来了。 T2 开题,感觉比 T1 难,实际上被心里作用骗了,去写了 50 分暴力+特殊性质,结果判断 $n=m$ 的特殊性质写挂了,最后只剩下 30 分。所以 T2 不一定会比 T1 难。 T3 开题,暴力好像很困难,直接写不一定写得完,即使写完也不一定能挑出来。 T4 开题,…
在讨论《建议降绿》回复:
@[minstdfx](luogu://user/100250) @[_bzy](luogu://user/213388)
在讨论《TLE求助,感谢》回复:
@[Ryoo](luogu://user/1100140) 求关注。 讲个笑话,你快读写挂了,正确写法如下: ```cpp inline int read() { int s = 0, w = 1; char chr = getchar(); while(chr '9') { if(chr == '-') { w =…
在讨论《70tps求条》回复:
话说你之前的代码为什么可以即关同步流,又用 `getchar()` 的?
在讨论《70tps求条》回复:
@[jzy_CSPJ_AK](luogu://user/1034698)