摘要:
题意 给定一个数列以及若干询问,每次询问给定区间任意挑选两个数相等的概率。 思路 对于每一种颜色显然贡献为$cnt[c] (cnt[c] 1)$,由于我们一个个加入,所以说在加上现在贡献的同时需要减去之前的计算,即 $$+cnt[c] (cnt[c] 1) (cnt[c] 1) (cnt[c] 2) 阅读全文
摘要:
题意 待修莫队模板题 思路 待修莫队在普通莫队的基础上,额外维护一个修改操作,每一次根据查询操作的时间加入修改或是撤销修改。 实现蛮显然的,配合代码很容易搞懂。 note:块大小的证明参见 "这里" ,此处不做赘述。 代码 cpp include using namespace std; names 阅读全文
摘要:
题意 给定一个序列以及若干查询,每次查询求不被区间包含的最小正整数值。 思路 复杂度不正确的裸莫队也能过。 删除操作直接取最小值,添加操作暴力寻找最小值。 代码 cpp include using namespace std; namespace StandardIO { templateinlin 阅读全文
摘要:
题意 给定一个初始的序列以及四种操作,问最少操作多少次可以是序列变为回文序列。 操作如下: 1. 在队伍左侧或右侧添加一个数 2. 在队伍中插入一个数 3. 删除一个数 4. 改变一个数的值 思路 看到给定的序列和改数的操作(其实还是因为询问是最少操作次数),可以想到区间dp。 设子状态$dp[i] 阅读全文
摘要:
[TOC] 写在前面 本文解出的通项公式十有八九与使用特征根方程接触的在形式上不同,但是其正确性可以保证。 如有强迫症请自行化简。 范例 对斐波那契通项公式的推导 设生成函数 $$ A=1+x+2x^2+3x^3+5x^4+... $$ 不难发现,$i 1$项系数即为斐波那契数列第$i$项的值。 由 阅读全文
摘要:
[TOC] 写在前面 看懂这篇博客,需要掌握 一般程度的代数知识 入门程度的复数知识 多项式乘法与卷积 对于给定的两个多项式 $$ F(x),G(x) $$ 我们称 $$ S(x)=\sum_k\sum_{i+j==k}F(i)G(j) $$ 为$F,G$的卷积。不难证明,这就是多项式乘法,即 $$ 阅读全文
摘要:
整数分解 题意 对任意数求分解为2的幂之和有多少种分法。 思路 奇怪的递推。。。手玩小样例得知答案序列为n级等差数列。。。貌似碾标算 代码 修改数组 题意 给出一个整数数组 A,你可以将任何一个数修改为任意一个正整数,最终使得整个数组是严格递增的且均为正整数。问最少需要修改几个数? 思路 LIS 代 阅读全文
摘要:
题意 给出一个序列,初始时序列的长度为 n,序列中每个数为 0。 进行 m 次操作,操作有三种: 1 k 在序列开头加入 k 个数字 0 2 k 在序列末尾加入 k 个数字 0 3 b s 给序列中所有数字加上 b+s (i 1) [i 是该数字在序列中的位置] 你需要在每次操作后输出序列中最小的数 阅读全文
摘要:
题意 大魔头路西法拥有一样可怕的神器——魔环,魔环上有着 n 个用来摆放神珠的位置,并且这 n 个位置两两丌重叠。当路西法想要施放某种法术时,他便会将 n个神珠放在这 n 个位置上,神珠就位后,有着“亲密联系”的神珠之间将产生一道丝线,如果有两条丝线相交且交点丌在顶点处,路西法的法术将会失效,现在路 阅读全文
摘要:
题意 给定n,k。求满足条件的数列个数: 1. 长度为k。 2. 每一项均为前一项的倍数。 3. 每一项都为[1,n]上的整数。 答案对1000000007取模。 思路 有一个朴素的DP:$f[i][j]$表示长度为j结尾为i的个数,这个转移是显然的。 那么所求答案为$\sum (\sum f[i] 阅读全文