【算法】树状数组心得 – boshi
It self 名称:树状数组 (Binary-Indexed-Tree),顾名思义,是一种树形的结构。但他的树形体现在索引上 (Indexed),本体依旧是数组。 性质:树状数组支持以下几种操作: 1. 单点加 (logN) 与区间求和 (logN) 2. 区间加 (logN) 与单点求和 (lo 阅读更多…
It self 名称:树状数组 (Binary-Indexed-Tree),顾名思义,是一种树形的结构。但他的树形体现在索引上 (Indexed),本体依旧是数组。 性质:树状数组支持以下几种操作: 1. 单点加 (logN) 与区间求和 (logN) 2. 区间加 (logN) 与单点求和 (lo 阅读更多…
前景 可持久化数组在许多地方有广泛的应用:可持久化并查集、支持回退操作的字符串、可持久化数据结构。 准备工作 我们需要对应的头文件和命名空间,这都是标准 c++支持的。 #include <ext/rope> using namespace __gnu_cxx; rope 的原理与基本操 阅读更多…
1. 题目 传送门 题目很长,大意如下: 你有 30000 条队列, 最开始每条队列头部有一个元素, 元素编号 1~n。有 k 条指令,1. 合并 指令,M i j, 将 i 号元素所在队列整体 (队列内相对位置不改变) 移动到 j 号元素所在队列 尾部;2. C i j, 查询 i j 是否在一个 阅读更多…
题意: 给你一个 $n\times m$的棋盘 (n,m<=1e6),每个方格里填入 1 或 0,要求每个 $2\times 2$的方格中 1 为奇数个.有一些格子已经填了 1 或 0,求总方案数. 分析: 题意可以转化为:每 $2\times 2$方格中的异或值为1. 假设我们在棋盘上选择了 阅读更多…
题意: 一个代码等式就是形如 x1x2…xi=y1y2…yj,这里 xi 和 yj 是二进制的数字(0 或 1)或者是一个变量(如英语中的小写字母)。每一个变量都是一个有固定长度的二进制代码。例如: a,b,c,d,e 是变且它们的长度分别是 4,2,4,4,2。考虑等式:1 阅读更多…
T1.relation(亲戚) 题意:给定一些人是亲戚的关系,并询问某两人是不是亲戚 分析:利用并查集维护每个亲戚集合。 #include <iostream> #include <cstring> #include <cstdio> #define MX 500 阅读更多…
考试策略 T1->T2->T5->T4->T3 这样的吧,除了 T3 以外的题目都还是很水滴! 只不过忽然对 T4 的 32M 空间表示疑惑了一下子而已。 经验和教训: 这次考试没有什么特别的感悟,就是平时练好就行了,考试的时候发散思维,难题能想到就想到,不能想到就拿稳暴力分 阅读更多…
食物链 – POJ1182 题意:A 国有3个物种,A 捕食 B,B 捕食 C,C 捕食 A.某人对 A 国的 n 个动物发表评价,内容如下: 1 x y : x 和 y 是一个物种 2 x y : x 捕食 y 如果这个人的某个评论与前文的真话出现矛盾或x,y>n,这个评论成为假话,反 阅读更多…
1. 题目 传送门= ̄ω ̄= 2. 题解 写完才发现原来正方形的边不一定平行于 x 或 y 轴。。。 首先无图言 diao: 如图,设正方形左上角的点的坐标是 (x1,y1),右上角的点是 (x2,y2) 那么 y=x2-x1,x=y2-y1,那么很显然,左下角的点的坐标是 (x1+x,y1-y), 阅读更多…
三个半小时五道题,CY 说考的就是心理素质… 考试策略: 做题顺序:T5->T3->T1->T2->T4 T5 是哈希水题,花 30 分钟搞定,T3 是一道搜索,花了 30 分钟,不过剪枝力度不够就挂了 QAQ,T1 考场花 1h 手打 splay(QAQ),T2 阅读更多…