
数据结构
文章平均质量分 54
pigpigwin
这个作者很懒,什么都没留下…
展开
-
名哥的完全平方数
题目链接题意:给一个长度为n的数组,做q次询问,每次询问区间[l,r]里有多少对数的乘积为完全平方数?如(1,4)是一对,但(1,-4)就不是一对,0也是完全平方数1<=n,q<=3e5-1e6<=a[i]<=1e6考虑两个数什么时候才能组成完全平方数,那么首先肯定要同号,其次其所有的质因数上面的幂次加起来一定得是偶数,所以我们将a[i]所有偶数次幂的质因数除掉,并把奇数次的化为1,那么如果两个数可以组成完全平方数那么要满足处理完后两个数完全相同。其外对于没有修改的询问,并原创 2021-08-10 09:28:09 · 253 阅读 · 0 评论 -
数列互质(莫队)
数列互质题目链接题意:给定长度为n的数列,m次询问,每次询问给定三个数l,r,k,询问在区间[l,r]内有多少个数的次数与k是互质的1<=n,m<=500001<=l[i],r[i].k[i]<=n询问区间数的次数,可以想到用莫队维护,用siz[x]统计数x出现的次数,cnt[x]统计出现次数为x的数有几个。这些在add,del函数中都可以O(1)实现,因为要统计有多少数与k互质,所以如果我们将出现次数从1到n枚举那么时间复杂度是O(mnlogn),妥妥T。对此我们是否可原创 2021-08-08 16:13:27 · 369 阅读 · 0 评论 -
牛客 VVQ 与线段
VVQ 与线段题目连接题意:给你n个线段,问你所有两个相邻的线段,用它们的并的长度减去交的长度最大是多少很有意思的一道题,两个线段相邻只有两种情况,一个是相交一个是包含。我们先将所有线段按照 l , r 从小到大排序(我们l将first和second用l和r来表示)。下面分类:1.如果是相交,那么ans=a[j].r-a[i].l-(a[i].r-a[j].l)=a[j].r-a[j].l-(a[i].l+a[i].r);2.如果是包含,那么ans=a[j].r-a[j].l-(a[i].r-a原创 2021-07-18 16:26:44 · 287 阅读 · 0 评论 -
2021-06-14
E. Card Game Again题目链接题意:给你一个序列和k,问你其有多少个子区间,满足乘积是k的倍数n<=1e5网上大多数是维护因子的个数,然后双指针来做,时间复杂度是O(nn)O(n \sqrt n)O(nn),根号分解因子。当还可以用线段树维护是否是k的倍数,即维护一段区间的乘积即可。若是0则指针l往后移答案加n-r+1,直到不是0为止,否则r不断后移。#include <bits/stdc++.h>using namespace std;typedef lo原创 2021-06-14 22:35:58 · 172 阅读 · 1 评论 -
2021-05-31
珂朵莉与GCD题目链接题意:给你n个元素,m次询问,每次询问[l,r]这个区间所有的子区间的gcd的和%pn<=1e5固定右端点r,如果[1,r-1]的子区间gcd和都求出来了,那么对于r这个点,将其贡献加入到[1,r-1]这个区间里就是[1,r]的所有子区间gcd的和。循环r的时候不要忘记更新右端点为r的询问。我们知道对于右端点r来说,其往左看的不同gcd的个数最多为log2a[i]log_2a[i]log2a[i]个,因为最多情况是将a[i]看成2的倍数这样分解。所以我们可以对其暴力求原创 2021-06-03 21:26:51 · 215 阅读 · 0 评论 -
AcWing 250. 磁力块 (分块+贪心)
250. 磁力块题目链接题意:给你n个散落在二维平面的磁铁,有(m,p,r)三个属性。m表示重量,p表示磁力,r表示作用半径。A磁铁可以将B磁铁吸引过来,当且仅当pA>=mB AND r>=dis(A,B)p_{A}>=m_{B} \ \ AND \ \ r>=dis(A,B)pA>=mB AND r>=dis(A,B) ,一开始我们在点(x0,y0)(x_{0},y_{0})原创 2021-04-27 14:30:27 · 204 阅读 · 0 评论 -
AcWing 249. 蒲公英 (分块+预处理+离散化)
249. 蒲公英题目链接题意:给你n个数,m次询问。每次询问给出区间[l,r],回答[l,r]里出现次数最多的数是啥,如果有若干个数出现次数相同,则输出种类编号最小的那个。要求强制在线。数据范围:1≤n≤400001≤m≤500001≤ai≤109分块+前缀和+预处理对于线段树、树状数组这些数据结构,很难维护这样区间没有联系的信息。所有我们考虑暴力美学分块。数据很大,先离散化。预处理sum[i][j]sum[i][j]sum[i][j]数组,表示在前i块中数字j出现的次数,用于下面比较大原创 2021-04-26 21:39:23 · 316 阅读 · 2 评论