
拆分
ACkingdom
这个人很懒,什么都没有留下
展开
-
洛谷-P3397 地毯(二维拆分)
题目链接 题意: 在n * n的格子上有m个地毯。给出这些地毯的信息,问每个点被多少个地毯覆盖。 思路: 二维拆分,将一维拆分的思路一层一层的用到二维的每一层上。 代码: #include<bits/stdc++.h> using namespace std; #define int long long #define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); const int N=3e5+5; const int mod原创 2020-07-06 21:17:09 · 476 阅读 · 0 评论 -
2017-CCPC杭州-I - Master of GCD(拆分or线段树or树状数组)
题目链接 题意: 给你一个初始全为1的数组,对区间做乘法,乘法的数为2或3,求所有运算结束后的所有数字的gcd是多少。 思路: 利用拆分标记哪一部分被乘上了2或3(这一部分也可用线段树或树状数组实现),并且记录乘了多少次,答案就是乘上2最少次的平方乘以3最少次的平方。 代码: #include<bits/stdc++.h> using namespace std; #define int long long #define IOS ios::sync_with_stdio(false);cin.原创 2020-06-22 20:21:54 · 251 阅读 · 0 评论 -
洛谷-P3372-线段树 1(区间修改,区间求和)
题目链接 题意: 给你一个数组,对该数组进行区间修改和区间求和操作。 思路: 差分进行区间修改,再开一个数组对拆分后的数组求和。 代码: #include<bits/stdc++.h> using namespace std; #define int long long #define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); const int N=5e5+5; const int inf=0x3f3f3f3f; int n原创 2020-06-04 20:26:24 · 236 阅读 · 0 评论 -
洛谷-P3368 树状数组模板2(利用树状数组与拆分实现或线段树实现)
题目链接 题意: 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数数加上 xx; 2.求出某一个数的值。 思路: 将拆分的数组放入树状数组中求和 代码: #include<bits/stdc++.h> using namespace std; //#define int long long #define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); const int N=5e5+5; const int in原创 2020-06-02 20:32:45 · 217 阅读 · 0 评论 -
Codeforces Round #643 (Div. 2)-C. Count Triangles(差分,前缀和)(避免标题重复率的小括号)
题目链接 题意: 给你a,b,c,d,保证a<=b<=c<=d,问你有多少个x,y,z符合a<=x<=b<=y<=c<=z<=d,并且x,y,z能组成三角形。 思路: 先算x,y两条边能组成多少种三角形,然后计算每一种三角形z能够满足的数量,相加就是结果。 代码: #include<bits/stdc++.h> using namespace std; #define int long long #define IOS ios::sync_w原创 2020-05-17 20:40:44 · 397 阅读 · 0 评论