问题描述Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。输入格式输入包含一个整数n。输出格式输出一行,包含一个整数,表示Fn除以10007的余数。说明:在本题中,答案是要求Fn除以10007...
分类:
其他好文 时间:
2015-02-01 17:38:30
阅读次数:
129
原题地址最初的想法是用动态规划,令palin[i][j]表示s[i..j]是否是回文串,则有递推公式palin[i][j] = s[i] == s[j] && palin[i+1][j-1]。因为递推式只使用相邻层的值,所以编码的时候可以将二维状态数组压缩成一维的。代码: 1 string long...
分类:
其他好文 时间:
2015-01-30 17:03:05
阅读次数:
105
题目大意:给了递推公式,如果当前i%3==0,则sum(i) = sum(i-1) + i*i*i;否则
sum(i) = sum(i-1) + i。
思路:因为数据略大一些,所以用__int64整型来存储结果。...
分类:
其他好文 时间:
2015-01-28 22:36:43
阅读次数:
215
原题地址方法I:动态规划另sum[i]表示从i开始的最大子串和,则有递推公式:sum[i] = max{A[i], A[i] + sum[i+1]}因为递推式只用到了后一项,所以在编码实现的时候可以进行状态压缩,用一个变量即可代码: 1 int maxSubArray(int A[], int n)...
分类:
其他好文 时间:
2015-01-27 14:46:55
阅读次数:
237
原题地址动态规划题。最直观的想法就是用cut[i][j]表示子串s[i..j]的最小分割数,则有如下规则:1. 如果s[i..j]是回文串,则cut[i][j]=02. 如果s[i..j]不是回文串,则枚举分割点,将原字符串切成两个子串,求解子问题。递推公式:cut[i][j] = min{cut[...
分类:
其他好文 时间:
2015-01-20 17:31:50
阅读次数:
165
题意:N*3的教室,有2种砖,2*2、1*1。问铺设教室的方案有多少种。(要铺满)思路:画一下图可以很快发现递推公式代码:int main(){ int a[35]; mem(a,0); a[1]=1, a[2] = 3; rep(i,3,30){ a[i] =...
分类:
其他好文 时间:
2015-01-16 23:41:54
阅读次数:
229
You are climbing a stair case. It takes n steps to reach to the top.
Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?
递推公式T(n) = T(n-1) + T(n-2);
...
分类:
其他好文 时间:
2015-01-12 17:39:19
阅读次数:
227
常用于去随机数的函数为rand()(在stdlib.h头文件中,不同的编译器可能有不同),但是实际在使用这个函数时却发现每次程序运行产生的数都是一样的,这是什么原因呢?其实是它的用法不正确. 随机数实际上都是根据递推公式 由初始数据(称为种子)计算的一组数值,当序列足够长,这组数值近似满足均匀...
分类:
编程语言 时间:
2014-12-10 22:37:36
阅读次数:
278
1.基本概念
动态规划过程是:多阶段最优化决策的过程,每次决策依赖于当前状态,又随即引起状态的转移(即状态递推方程),一个决策序列就是在变化的状态中产生出来的,最终得到最优化的决策。
2.基本思想与策略
该算法通常基于一个递推公式(状态转移方程,即问题与子问题关系)及一个或多个初始状态。当前子问题的解将由上一次子问题的解推出。...
分类:
编程语言 时间:
2014-12-07 09:02:03
阅读次数:
184
简单地树形DP我们用f,g表示最大、最小值,0,1,2表示颜色然后直接推递推公式请见程序233 1 /************************************************************** 2 Problem: 1864 3 User: raus...
分类:
其他好文 时间:
2014-12-03 23:08:41
阅读次数:
284