题目传送门 题目大意:给你一个序列,求子序列为等差数列的子序列个数。序列长度$n<=2000$,最高的塔高$v<=20000$。 这种计数类的题,大概就是dp的套路了⑧。开始设计的是一个错误的状态:设$f[i][j]$为到前$i$个塔选了$j$个的方案数,但是我们再看一看就会发现这是错的,因为等差数 ...
分类:
其他好文 时间:
2018-10-25 11:13:08
阅读次数:
164
一个长度为 n 的序列,最少改变多少个数,使得其成为一个公差为 d 的等差序列。 题解:对于任意一个位置的数 a[ i ] ,如果这个数不变的话,那么所有与它相差 $k d$ 的数都不需要改变。因此,有等式$a[i] a[j]=d (i j)$成立时,这个数也不需要改变,左右移项整理得$a[i]+i ...
分类:
其他好文 时间:
2018-10-21 00:59:21
阅读次数:
188
问:如何快速求出等差数列异或和? 玄学题... 对于异或运算,我们可以分开考虑每一位是1还是0,这样会好做一些 于是我们发现,每一位是一还是0的判别式如下: 设读入的数为x,y,z,等差数列共n项 第i位的值=∑[x+kz/2^i]mod 2 ,k∈[0,n-1] 然后怎么求? 令x=b,k=x,z ...
分类:
其他好文 时间:
2018-10-15 20:34:24
阅读次数:
143
问题 一组数如果长度至少为3,且相邻数的差都相同,则称这组数是算术的(其实就是长度大于2的等差数列)。 数组A包含N个数,如果有0 Input: [1,2,3,4] Output: 3 Explanation: [1, 2, 3], [2, 3, 4] and [1, 2, 3, 4] 思路 用dp ...
分类:
其他好文 时间:
2018-10-06 19:18:36
阅读次数:
136
嘟嘟嘟 这道题就是区间加一个等差数列,然后最后求每一个数的值。 O(n)做法:二阶差分。 其实就是差分两遍。举个例子 0 0 0 0 0 0 0,变成了 0 2 4 6 8 0 0。第一遍差分:0 2 2 2 2 -8 0,然后在这个差分数组上在进行差分,得到 0 2 0 0 0 10 8,完事。 ...
分类:
其他好文 时间:
2018-10-05 16:04:25
阅读次数:
137
利用等差数列公式就行了,可以考虑特判一下m >= n,这时一定输出“AIYAMAYA”。 ...
分类:
其他好文 时间:
2018-09-30 00:55:41
阅读次数:
155
题目 题目大意 输入正整数$n$和$k$($1 ≤ n, k ≤ 10^9$), 计算$\sum_{i = 1}^{n}k\ mod\ i$。 题解 被除数固定, 除数逐次加$1$, 直观上余数也应该有规律: 对于某一个区间$i, i + 1, i + 2, \cdots , j$, 如果$k$除以 ...
分类:
其他好文 时间:
2018-09-29 16:50:01
阅读次数:
153
题目描绘:题目链接 题目中需要求解一个数组中等差数组的个数,这个问题可以利用动态规划的思路来分析。 三步骤: 1:问题归纳。题目需要求解等差数列的和,我们可以用一个数组保存前i个元素可以构成的等差数列的个数。dp[ i ],最后需要的时候再求和。 2:递归关系式的书写:等差数列无非要满足这个关系:a ...
分类:
其他好文 时间:
2018-09-23 18:10:19
阅读次数:
171
题意:一个等差数列,首项为a,公差为b,无限长。操作cz是区间里选择最多m个不同的非0元素减1,最多操作t次,现给出区间左端ll,在t次操作能使区间全为0的情况下,问右端最大为多少。 这么一个简单题吞了我3小时的时间。主要是没考虑全。 首先,得出ll位置的值a1,如果a1>t那么不可行。 然后分2种 ...
分类:
其他好文 时间:
2018-09-15 20:03:29
阅读次数:
109