
代码源每日一题
文章平均质量分 53
Gurenge
TA不是很懒,但也还没有添加简介
展开
-
代码源每日一题Div.1 第二大数字和(set)
题目链接题意思路 我们考虑对于每一个数,有多少个区间的第二大数为该数,即可得到该数的贡献; 若当前数 x 位于下标 i 的位置,可向左右找第一个大于该数的数的位置,记为 l,r,继续找第二个大于该数的数的位置,记为 ll,rr,则该数的贡献即为,表示 x 作为第二大数,第一大数分别为右边第一个比 x 的数,或左边第一个比 x 的数; 现在问题转换为如何快速找到,两边比当前数大的第一,第二大的数,如果我们从大到小依次将数,填入数组,则当填入 x 时,在数组中...原创 2022-05-01 16:55:26 · 615 阅读 · 0 评论 -
代码源每日一题Div.1 Rad(数论,思维)
题目链接题意原创 2022-04-17 14:06:53 · 311 阅读 · 0 评论 -
代码源每日一题Div.2 上帝的集合(优先队列,思维)
题目链接题意思路 若我们先只看操作1,3,是不是维护一个小顶堆即可; 但现在加上操作2,对所有的数加上一个 x,用堆没法轻易地改元素的值,这里可以类比线段树中的懒标记,每进行一次操作2,我们不是真的把这个 x 加到每一个数上,而是维护一个 lazy 标记,把 x 存起来,当进行操作3时,将 lazy 加到需要输出的数上即可; 但现在还有一个问题,假设当前堆中的序列为 1,2,3,lazy 为 2,现在要往堆中加一个 4,此时改 lazy 标记不应该作用于 4...原创 2022-04-14 19:22:54 · 341 阅读 · 1 评论 -
代码源每日一题Div.1 拆拆(组合技术,球盒模型)
题意思路 先不考虑正负号的问题,题意是将 X 拆成若干因数放到不同位置上,我们考虑 X 的每个质因子,即对于一个质因子,可以放到任意一个位置上,即“球相同,盒不同,允许空盒”的模型,假设该质因数有 n 个,则将这 n 个数放入 Y 个位置的方案数为; 对于正负号问题,由于 X 为正数,故若存在负号,则负号的数量一定为偶数,即,通过二项式定理可得,值为代码#include <bits/stdc++.h>using namespac...原创 2022-03-23 13:42:31 · 697 阅读 · 0 评论 -
代码源每日一题Div.1 选数(前缀和,抽屉原理)
题目链接题意给定 N 个正整数 a1 ,a2 ,…, an 。 要求从其中选出若干数字, 使得这些数字的和 mod N = 0 (对于每个下标最多只能选择一次)。1 ≤ N ≤ 100000,1 ≤ ai ≤ 10^9思路 原本以为是01背包,1e5的数据范围可以用bitset优化,但只能求出是否有解,没法求解; 若对原数组求取模后的前缀和 sum ,则对于sum数组中的每个数,均位于[0,n - 1],共 n 种取值,而 sum[0 ~ n] 有n + 1 个...原创 2022-03-01 20:32:55 · 416 阅读 · 0 评论 -
代码源每日一题Div.1 平方计数(枚举因子,埃氏筛)
题目链接题意思路 设,则 分别设, 则均为的的因数,且,可枚举每一个的因数,确定的值,若暴力枚举,复杂度,会T;因为对于每一个数 x,我们枚举了每一个数,但其中有很多不是x 的因数,怎样才能只枚举因数,而不枚举其他数; 我们对于每一个因数 x,枚举其能够作为谁的因数,答案显然是 x 的倍数都可以,至此问题转变成了枚举每一个数的倍数,再思考一下枚举倍数的过程,埃氏筛!!!事先保存每一个数出现的次数,通过埃氏筛枚举...原创 2022-03-21 18:39:57 · 373 阅读 · 0 评论