目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定 n, a, b, p,其中 n, a 互质.定义一个长度为 n 的 01 串 c[0..n-1],其中 c[i] == 0 当且仅当 (ai+b) mod n < p. 给定一个长为 m 的小 01 串,求出小串在大串中出现了几次. input 第一行包含整数 n, a, b, p, m (2<=n<=10^9, 1<=p, a, b, m&…
简单题. 考虑没有修改数字的条件的限制,我们直接用双指针扫描就可以计算出答案了. 然后考虑加入修改数字的条件,只要用单调队列维护出当前两个指针表示的区间中长度为$d$的一段区间的最大值,用总和减掉这个最大值更新答案即可. 时间复杂度$O(n)$. Code: #include <cstdio> #include <cstring> using namespace std; typedef long long ll; ; int n, d, q[N]; ll lim, a[N], s…
题目链接:https://www.luogu.org/problemnew/show/P1583 题目描述一共有n(n≤20000)个人(以1--n编号)向佳佳要照片,而佳佳只能把照片给其中的k个人.佳佳按照与他们的关系好坏的程度给每个人赋予了一个初始权值W[i].然后将初始权值从大到小进行排序,每人就有了一个序号D[i](取值同样是1--n).按照这个序号对10取模的值将这些人分为10类.也就是说定义每个人的类别序号C[i]的值为(D[i]-1) mod 10 +1,显然类别序号的取值为1--…