题目:题目链接 题意:对长为n的1到n的数列的前k个数排序后数列的最长上升子序列长度不小于n-1的数列的种数,训练赛时怎么都读不明白这个题意,最后还是赛后问了旁队才算看懂,英语水平急需拯救55555 思路:明白题意后就很容易了,有一个坑点是k可能比n大,所以我们对k取min(k, n),我们先不考虑 ...
分类:
其他好文 时间:
2018-12-01 00:08:03
阅读次数:
179
对递归进行优化--记忆化递归可以很方便的解决很多问题,让程序变得很简洁。但是,在递归解决问题的过程成,有时候会有很多重复计算,使得计算量很大,耗时很长。比如,使用递归求斐波那契数列。如果用普通的递归来解,当n值很大时,时间会很长而超时。如图,当n等于45时,需要运行5秒才能求出结果。分析一下,会是什么原因导致需要计算这么长时间呢?根据斐波那契数列的递推公式:fn=f(n-1)+f(n-2)f(n-
分类:
其他好文 时间:
2018-11-27 17:52:44
阅读次数:
180
问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。 当n比较大时,Fn也非常大,现在我们想知道, ...
分类:
其他好文 时间:
2018-11-27 11:15:17
阅读次数:
174
嘟嘟嘟 这道题被评为紫题完全是在假(虽然我也跟风评了紫题),顶多黄题难度。 评黄题的主要原因是得知道约瑟夫递推公式,即fn = (fn - 1 +m) % n。表示n个人报数最后的获胜者,需要注意的是编号从0~n - 1,答案加1即可。 那么这道题就是枚举m,然后O(n)代入公式验证,总复杂度O(T ...
分类:
其他好文 时间:
2018-11-13 00:14:22
阅读次数:
185
[toc] LCG算法 LCG(linear congruential generator)线性同余算法,是一个古老的产生随机数的算法。由以下参数组成: 参数|m|a|c|X | | | | 性质 |模数|乘数|加数|随机数 作用 |取模|移位|偏移|作为结果 LCG算法是如下的一个递推公式,每下一 ...
分类:
编程语言 时间:
2018-11-11 17:18:34
阅读次数:
533
一看就是用dp来做,但是这道题还是有点意思的。 dp[i] = sum_{coin} dp[i-coin] 上述的递推公式看似很对,但是会把重复的情况都考虑进去。举个例子,算dp[5]的时候,dp[5]=dp[0]+dp[4]+dp[3],但是之前算的dp[4]就是从dp[3]计算得到的。 解决办法 ...
分类:
其他好文 时间:
2018-11-09 22:52:32
阅读次数:
228
传送门 看到数据和模数大小就知道要上 lucas 了 然后开始愉快地推公式: 答案为 $\sum _{i=0}^kC_{n}^{i}\ (mod\ 2333)$ 设 $f [ i ] [ j ] = \sum _{k=0}^jC_{i}^{k}\ (mod\ 2333)\ ,\ P=2333$ 那么 ...
分类:
其他好文 时间:
2018-11-06 13:27:01
阅读次数:
138
前言 EM算法大家应该都耳熟能详了,不过很多关于算法的介绍都有很多公式。当然严格的证明肯定少不了公式,不过推公式也是得建立在了解概念的基础上是吧。所以本文就试图以比较直观的方式谈下对EM算法的理解,尽量不引入推导和证明,希望可以有助理解算法的思路。 介绍 EM方法是专门为优化似然函数设计的一种优化算 ...
分类:
编程语言 时间:
2018-11-02 01:57:17
阅读次数:
228
题意 分析 这种题一般是推公式,发现必须求得的量,然后定义函数记忆化。 然后那些函数里面又是递归处理,合并。 代码 为了不爆空间,用map存记忆化内容。 cpp include using namespace std; define gc c=getchar() define r(x) read(x ...
分类:
其他好文 时间:
2018-10-25 00:34:51
阅读次数:
201
天啊我怎么这么蠢……写了一个树形dp,的确发现记录的很多值并没有什么用,然而当时脑子没转过弯来还是写了这个树形dp……虽然能A但就不解释了,总之是个垃圾算法(??д??) 其实我们可以直接推公式。我们注意到每个叶子结点完全可以决定从根到的路径上的节点是偶数个还是奇数个,也就是它本身是否建造赌场是一定 ...
分类:
其他好文 时间:
2018-10-08 12:35:00
阅读次数:
161