数据结构
文章平均质量分 53
数据结构学习
善良的大铁牛
在校菜狗 求指教
展开
-
洛谷 Floating point exception: 8 Floating-point exception. 报错
#include using namespace std;const int N = 50010;#define int long longstruct Query{ int id, l, r;} q[N];set st; // 开一个set维护当前区间出现的袜子int cnt[N], block;int n, m, a[N], ans[N], ans2[N], sum;int gcd(int a, int b){ retu...原创 2022-08-15 23:28:21 · 2280 阅读 · 0 评论 -
POJ 2828 Buy Tickets 两种写法(线段树、树状数组上二分)
POJ 2828 Buy Tickets 两种写法(线段树、树状数组上二分)插队的问题,每个案例给出 n ,代表有 n 个插队的,每个给出 p, v,意思是代号为 v 的人插在了第 p 个人的后面,问最后的队伍的排列。 一开始的队列是空的,如果输入i,j:代表代号为 j 的人插在代号为 i 的人的后面,也就是说他前面一定有了 i 个人,而他是第 i + 1 个人。......原创 2022-08-05 00:23:49 · 177 阅读 · 0 评论 -
【扫描线+树状数组或者线段树】Codeforces Round #665 (Div. 2) E - Divide Square
【扫描线+树状数组或者线段树】Codeforces Round #665 (Div. 2) E - Divide Square原创 2022-05-16 00:36:11 · 326 阅读 · 0 评论 -
树状数组总结
树状数组简介用大的节点表示小的节点的信息,在操作的时候可以通过某种方式快速得到小节点的信息。上图中吧原数组a1~a8划分成了若干大块的c数组来维护。如何分块?这里就引入了二进制,能够体会到其精妙。具体实现c数组存的是某一段区间的和如何构建c数组?又是如何c数组快速求出区间的和呢?lowbit这个操作可以得到数字二进制下最低位1的位置例如lowbit(111)—> 001lowbit(10100) —> 00100int lowbit(int x){ return x原创 2022-05-14 00:51:49 · 166 阅读 · 0 评论