随笔分类 -  树状数组

摘要:AcWing 242. 一个简单的整数问题 // 实例化是抽象的天敌,是抽象的克星 // 通过公式 sn = (i 从 1 ~ n 求积) di * (1 + n) - (i 从 1 ~ n 求积) i * di // 来计算前缀和, 又 (i 从 1 ~ n 求积) i * di 不能由 (i 从 阅读全文
posted @ 2023-04-26 19:13 妃即 阅读(14) 评论(0) 推荐(0)
摘要:AcWing 241. 楼兰图腾 #include <iostream> #include <cstring> using namespace std; const int N = 2e5 + 10; typedef long long LL; int n, a[N], tr[N]; LL high 阅读全文
posted @ 2023-04-26 16:27 妃即 阅读(16) 评论(0) 推荐(0)
摘要:洛谷 P3368——树状数组 树状数组可以进行单点修改和区间查询,这题要区间修改,要想办法把区间操作变为单点操作,于是想到差分。建树时把原数组的差分数组放入树状数组可以满足我们的要求。而要查询修改后单点 u 的值,可以把差分数组的 1 ~ u 加起来,这个和就是单点 u 的值。而差分数组的 1 ~ 阅读全文
posted @ 2023-04-26 15:52 妃即 阅读(54) 评论(0) 推荐(0)
摘要:洛谷 P3374——树状数组 #include <iostream> using namespace std; const int N = 5e5 + 10; int tr[N], a[N]; int n, m; int lowbit(int x) { return x & -x; } void a 阅读全文
posted @ 2023-04-26 15:20 妃即 阅读(22) 评论(0) 推荐(0)