摘要:
题意: \(q\) 次询问,每次给一个正整数 \(n\),问有多少个不超过 \(n\) 的正整数 \(i\) 使得 \(i\) 和 \(n\bmod i\) 都是质数。 挺有趣一道题,一开始以为是打表的,然后发现有代码长度限制。 转化一下题意发现求的是有多少对 \(i,j\) 使得 \(n=i\ti 阅读全文
posted @ 2025-10-10 15:22
zhuoheng
阅读(1)
评论(0)
推荐(0)
摘要:
莫队典题了算是。 先转化一下题意。 对 \(a\) 序列做一个异或前缀和。 然后就转化为了查询 \(l-1,r\) 区间内前缀和互相异或能得到 \(k\) 的对数。 直接莫队做完了。 点击查看代码 #include<bits/stdc++.h> #define p_b push_back #defi 阅读全文
posted @ 2025-10-10 15:19
zhuoheng
阅读(1)
评论(0)
推荐(0)
摘要:
一开始读错题意了。 然后以为自己做法假了,实际并没有。 有 \(O(n)\) 做法但我写的是 \(O(n^2)\) 的。 换根dp就行了,每次判断一下能不能成功。 注意如果到最后根是 \(1\) 也是可以成功的。 点击查看代码 #include<bits/stdc++.h> #define p_b 阅读全文
posted @ 2025-10-10 15:15
zhuoheng
阅读(1)
评论(0)
推荐(0)
摘要:
查询区间众数。 先分块然后双指针把每两个块之间的答案算出来。 然后对于每个数在块间的出现次数做一个前缀和方便计算散块的答案。 整块直接得到答案。 散快用前缀和来计算即可。 点击查看代码 #include<bits/stdc++.h> #define fir first #define sec sec 阅读全文
posted @ 2025-10-10 15:11
zhuoheng
阅读(1)
评论(0)
推荐(0)
摘要:
给你一个长为 \(n\) 的序列 \(a\) 每次两个操作: 修改 \(x\) 位置的值为 \(y\) 查询区间 \([l,r]\) 是否可以重排为值域上连续的一段 我写的是一种保证了正确性的做法。 带修莫队+线段树。 用线段树来查询区间最大最小,用莫队来查询区间是否有重复数字。 一个小优化是当线段 阅读全文
posted @ 2025-10-10 15:07
zhuoheng
阅读(4)
评论(2)
推荐(0)