摘要:
看到“没有就加上,有了就减去”,就应该可以想到异或操作;查询树上一段路径,可以直接树上差分。 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define add(u,v,w) adds(u,v,w 阅读全文
posted @ 2025-07-07 16:35
XiaoZi_qwq
阅读(4)
评论(0)
推荐(0)
摘要:
题目描述 一看 \(n\) 高达 \(2e5\),直接猜时间复杂度为 \(O(NlogN)\) 的算法。 环上问题,先破环为链。 我们可以考虑对于一个区间,它可以转移到左端点在这个区间内的任意一个区间,所以通过贪心的思想可以得到,我们肯定要取左端点最大的一个区间。 同时我们注意到,一个一个区间跳显然 阅读全文
posted @ 2025-07-07 16:30
XiaoZi_qwq
阅读(5)
评论(0)
推荐(0)
摘要:
题目描述 一眼数位dp,预处理很简单,但是统计逆天。 启示:只要不TLE和MLE,不要嫌状态多/麻烦 #include<bits/stdc++.h> #define inf 0x3f3f3f3f using namespace std; inline int max(int x,int y){ret 阅读全文
posted @ 2025-07-07 16:30
XiaoZi_qwq
阅读(3)
评论(0)
推荐(0)
摘要:
其中 \(n,m \leq 1e5\),\(MAXY \leq 1e3\). 注意到每个 \(i\) 只有一个对应的 \(a_{i-1}\),可以发现营地及其传送关系构成了一棵树;每一次询问相当于从书上一点一直跳到根节点,并更新路径上的点的被访问次数。 其次我们注意到,题目问的是 “编号不同” 的询 阅读全文
posted @ 2025-07-07 16:29
XiaoZi_qwq
阅读(8)
评论(0)
推荐(0)
摘要:
其中 \(N \leq 1e18\) , \(T \leq 1e3\) 注意到用于凑数的是斐波那契数列,所以可以用于凑数的数字不超过 \(logn\) 个。 直接搜索,常规剪枝即可 启示:充分剪枝的前提下,可以使用 STL 容器进行记忆化 #include<bits/stdc++.h> #defin 阅读全文
posted @ 2025-07-07 16:29
XiaoZi_qwq
阅读(4)
评论(0)
推荐(0)
摘要:
其中,$n \leq 1e5 $ 看到题,没有头绪;用脑子思考后,没有头绪。因此抛弃脑子,直接打暴力。 通过暴力算法,我们可以发现,符合条件的排列数量一定是严格不上升的。 进一步研究发现:若 \([l,r]\) 不满足条件,则 \([l,r+1]\) 一定不满足条件。 下面是证明:已知 \([l,r 阅读全文
posted @ 2025-07-07 16:29
XiaoZi_qwq
阅读(6)
评论(0)
推荐(0)
摘要:
题目描述 一个很直观的想法是,只要植物的攻击力足以刚好打败需要攻击力最大的僵尸,那么此时的攻击力就是最小的攻击力。 对于每一个僵尸,有 \(\text{击败此僵尸需要最小攻击力} = \text{此僵尸及其之前的僵尸血量之和} \div \text{此僵尸到房子的距离}\)。 如果我们用 \(num 阅读全文
posted @ 2025-07-07 16:28
XiaoZi_qwq
阅读(5)
评论(0)
推荐(0)