题意:
f(n)=(∏i=1nin?i+1)%1000000007
You are expected to write a program to calculate f(n) when a certain n is given.
思路:
写出前几项,就很容易得出递推式。但是因为n的数据范围是1~10000000,而内存给的小
,所以并不能直接打表(MLE)
采用离线处理——...
分类:
其他好文 时间:
2015-05-12 18:50:38
阅读次数:
117
1. 定义 一个有n个元素的排列,若一个排列中所有的元素都不在自己原来的位置上,那么这样的排列就称为原排列的一个错排。 2. 内容 错排问题实质是一种递推。 n个有序元素应有n!种不同的排列。如若一个排列式的所有的元素都不在原来的位置上,则称这个排列为错排。 任给一个n,求出1,2,……,n...
分类:
其他好文 时间:
2015-05-12 18:47:06
阅读次数:
99
找规律的题
【x】
【a】【x-a】
【y】 【 】【z】
这里面xyz都已知,所以可以求出a = (x + y - z ) /2
#include
int a[9][9];
int main()
{
int t;
scanf("%d",&t);
while(t--){
for(int i=0;i<9;i+=2)
...
分类:
其他好文 时间:
2015-05-12 15:47:37
阅读次数:
117
题目传送门 1 /* 2 题意:程序从1到n版本升级,正版+正版->正版,正版+盗版->盗版,盗版+盗版->盗版 3 正版+破解版->正版,盗版+破解版->盗版 4 DP:每种情况考虑一遍,递推就行了 5 注意:开long long 6 */ 7 #i...
分类:
其他好文 时间:
2015-05-11 21:47:07
阅读次数:
144
题目传送门 1 /* 2 题意:转换就是求n位数字,总和为s/2的方案数 3 DP+高精度:状态转移方程:dp[cur^1][k+j] = dp[cur^1][k+j] + dp[cur][k]; 4 高精度直接拿JayYe的:) 5 ...
分类:
其他好文 时间:
2015-05-11 21:39:37
阅读次数:
174
9-1 http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3466书上是递推的,我写了个记忆化搜索dp有3种决策,左边的车,右边的车,原地不动, 1 #incl...
分类:
编程语言 时间:
2015-05-11 19:58:45
阅读次数:
148
递归算法设计的基本思想是:对于一个复杂的问题,把原问题分解为若干个相对简单类同的子问题,继续下去直到子问题简单到可以直接求解,也就是说到了递推的出口,这样原问题就有递推得解。 关键要抓住的是: (1)递归出口 (2)地推逐步向出口逼近 样例: example: 求5的阶乘。。 例如以下: Jav.....
分类:
编程语言 时间:
2015-05-11 19:57:53
阅读次数:
132
原题地址铺瓷砖的变种,做法也是类似假设地板长下面这样,灰色的是无法填充的空洞,初始时可以把N块之外的地板填充成灰色的,便于边界处理假设现在从后向前已经处理完了一部分,绿色的砖块代表已经遍历过了,蓝色虚线框代表已经计算完成的子问题现在要遍历红色边框的地砖只可能有两种铺法:如果可以向下铺,很简单,递推到...
分类:
其他好文 时间:
2015-05-10 23:43:24
阅读次数:
242
/**
如何用:
1、变量声明:可以给初值,如:BigInt ans=100;
可以补给初值(默认为0),如BigInt ans;
2、计算:可以连个BigInt对象相乘,相加;ans+ans*ans;
也可以和整数相乘相加,如:ans+78*ans;
*/
struct BigInt
{
const static int mod=100...
分类:
其他好文 时间:
2015-05-10 22:26:41
阅读次数:
111
题目传送门 1 /* 2 dp[i][1]/dp[i][0] 表示从左往右前i个,当前第i个放1或0的方案数 3 k -= dp[n][0] 表示当前放0的方案数不够了,所以必须放1,那么dp[n][0]个方案数都不能用了 4 相当于k减去这么多 5 详细解释:htt...
分类:
其他好文 时间:
2015-05-10 18:55:07
阅读次数:
120