上一页 1 ··· 34 35 36 37 38 39 40 41 42 ··· 65 下一页
摘要: 原题链接 题解 1.任意两点间的异或和等于他们到根节点的异或和的异或,令每个点到根节点的异或值为 \(path[i]\) 2.建立01字典树,塞入所有 \(path[i]\) 然后遍历每个点,找出每个点异或最大对应的点 3.如何找?往当前 \(path[i]\) 的每一位相反的方向移动 code # 阅读全文
posted @ 2024-04-04 15:27 纯粹的 阅读(19) 评论(0) 推荐(0)
摘要: 原题链接 题解 由于题目能使 \(a_i⊕x≤k\) 的 \(x\) 没有限制,所以我们反过来求能使其成立的x的范围 对于a,k二进制下的第i位,如果都为1,我们可以令此时的x在这一位也为一,然后i后面的位去什么都可以,然后x=0的时候也可能可以,就看后面有没有小于的 如果a为1,k为0,那么此时x 阅读全文
posted @ 2024-04-04 14:26 纯粹的 阅读(35) 评论(0) 推荐(0)
摘要: 原题链接 题解 1.当 \(s_2\) 长度大于等于 \(s_1\) 时,我们就令 \(s2\) 的长度为 \(n\) 2.当 \(len(s_2)<n\) 时,我们令此时的 \(s_2\) 无法被自我链接形成,为什么要这么设? 3.此时的 \(s_1\) 与 \(s_2\) 的关系一定张这样,为什 阅读全文
posted @ 2024-04-04 12:33 纯粹的 阅读(51) 评论(0) 推荐(0)
摘要: 原题链接 题解 树上区间修改加单点查询,虽然可以树状数组,但是线段树更通用一点 然而线段树通常处理的是点权,可这里是边权,怎么办呢?我们可以把边权转换成点权,由于每个点的子边有若干个,但父边有且只有一个,这样我们就把边权变成边下方点的点权 然后区间修改和单点求和的时候把lca的点权删掉即可 code 阅读全文
posted @ 2024-04-03 20:13 纯粹的 阅读(30) 评论(0) 推荐(0)
摘要: 原题链接 题解 dalao‘s blog 我自己的认识请看代码区 code #include<bits/stdc++.h> using namespace std; int n,Q,root,mod; int bigson[100005];//和自己在同一条链上的儿子节点 vector<int> G 阅读全文
posted @ 2024-04-03 12:25 纯粹的 阅读(25) 评论(0) 推荐(0)
摘要: 原题链接 题解 树上只有两种颜色,我们把每种颜色的连通块记录下来,只有当路径两端的点属于同一连通块且颜色与朋友喜欢的不同时输出0 code #include<bits/stdc++.h> using namespace std; char s[100005]; int fa[100005]; int 阅读全文
posted @ 2024-04-02 19:37 纯粹的 阅读(36) 评论(0) 推荐(0)
摘要: 原题链接 题解 1.这k个城市一定是连成一团在中间的 2.把树展开,变成散发图,剩下的n-k个城市一定在最边缘的位置 3.拓扑排序 dalao's blog code #include<bits/stdc++.h> using namespace std; vector<int> G[100005] 阅读全文
posted @ 2024-04-02 19:19 纯粹的 阅读(305) 评论(0) 推荐(0)
摘要: 原题链接 题解 1.小模拟+树上差分+lca code #include<bits/stdc++.h> using namespace std; int a[300006]={0}; vector<int> G[300005]; int depth[500005]={0}; int fa[50000 阅读全文
posted @ 2024-04-02 14:24 纯粹的 阅读(18) 评论(0) 推荐(0)
摘要: 原题链接 题解 1.修改树上某一段路径 ,最后问你单个点的最大值,很想区间修改,单点查询,且只查询一遍,所以我们往前缀和方向靠 2.一个节点只有一个父亲,所以从底到根的路径是一条链,我们可以在这里应用前缀和,标记策略为令 \(tree[now]++\) 代表 \(now\) 节点到根节点这条链上所有 阅读全文
posted @ 2024-04-02 13:50 纯粹的 阅读(33) 评论(0) 推荐(0)
摘要: 原题链接 题解 1.看到拼接,有种背包dp的感觉 所以方法1,暴力背包dp \(Code1\) #include<bits/stdc++.h> using namespace std; int vis[200005]={0}; vector<string> a; int main() { strin 阅读全文
posted @ 2024-04-01 22:51 纯粹的 阅读(118) 评论(0) 推荐(0)
上一页 1 ··· 34 35 36 37 38 39 40 41 42 ··· 65 下一页