摘要:
javase八股文 基础 JDK,JRE,JVM的区别 JDK JDK,全称Java Development Kit,是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的Java应用程序。JDK是整个Java开发的核心 JRE JRE,全称Java Runtime Environme 阅读全文
摘要:
对luoguP5074oiweik上代码的注解 #include <bits/stdc++.h> using namespace std; const int N = 11; long long f[2][1 << (N + 1)], *f0, *f1; int n, m; int main() { 阅读全文
摘要:
bitset专场 bitset 简介: 利用压位进行运算,降低了32个时间复杂度(讲32个01串变成一个整数) 对于图中两点的可达性求解有着极其暴力的压位方法 bitset中的$\color{#FF0000}{常用函数}$: 假设变量是 bitset<110> b b.set() 数字全部变成1 b 阅读全文
摘要:
Symmetree 解题过程: 使用的是AHU算法实现树哈希,能够保证不会被卡,正确性十分强 刚刚现学的QAQ理解还没到位,但大概的思想还是懂了的 题面翻译 给定一棵树,$1$ 为根。你可以调整一个点的儿子顺序,问这棵树是否有可能对称。 一棵树对称,如果根满足: 根最左边的儿子的子树与最右边的儿子的 阅读全文
摘要:
2568. 树链剖分 原题链接 思路: 先将一颗树进行树链剖分,再将它的dfs序求出来 利用dfs序将线段树模拟出来(build出来) 再将输入的路径进行切割导入线段树处理,直到两个元素进入同一条重链 注意点 1. top数组的元素记录的是自己所在的重链的顶点,但是如果一个元素是轻儿子,那么就自己做 阅读全文
摘要:
永无乡 原题链接(acwing) 可持久化线段树合并与查询(权值的划分) 线段树的合并与查询加上并查集的访问根结点 创建线段树的时候,每一个点对应为一条链式结构,且创建好线段树后,它的空间大小不再发生变化 合并的时候是两条路径都要合并,不仅仅是一条路径的合并 ~~~其实我感觉思路还是挺一目了然的,但 阅读全文
摘要:
题目链接 感觉比普通平衡树易懂 代码: #include<bits/stdc++.h> using namespace std; const int N = 1e5 + 7; struct Node{ int p, s[2], mark; int v, tag, size; void init(in 阅读全文
摘要:
题目链接 题目要求:插入数据,删除数据,查询数的排名,查询排名为x的 数,找前驱,找后继 旋转操作,左旋和右旋,旋转$x$,旋转操作一定要符合先序遍历前后一致 点击查看代码 void rotate(int x){ int y = tr[x].p, z = tr[y].p; int k = tr[y] 阅读全文
摘要:
P1533 可怜的狗狗 可持久化线段树的板子题目 离散化(build); 查找(find); #include<bits/stdc++.h> using namespace std; const int N = 3e5 + 7; int a[N], hs[N]; int rt[N], tl[N << 阅读全文
摘要:
P1352 题目的dfs函数与骑士🔗类似,所以去写了下 代码: #include<bits/stdc++.h> using namespace std; const int N = 6e4 + 7; int f[N][2], a[N], in[N]; int head[N], tot; struc 阅读全文