摘要: 题目:http://acm.nyist.net/JudgeOnline/problem.php?pid=640求x+x^1+x^2+....x^n %c当n为基数时;这个式子 sum(x,n)= sum(x,n/2) * pow(x,n/2+1) +xsum = (sum + x )%cn为偶数时sum(x,n) = sum(x,n/2) * pow(x,n/2) +1然后使用快速幂,乘得出结果(其实我yy了一下的,一开始没有想到。。。。。。。。) 1 #include <stdio.h> 2 3 long long chenfa(long long a,long long b,l 阅读全文
posted @ 2013-04-15 17:32 heity 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 单调递增最长子序列和解拦截导弹那题是一样一样的哦,给你一个序列 求出这个序列中最长的单调递增序列, 1 #include <stdio.h> 2 #include <string.h> 3 4 #define N 10005 5 char ch[N]; 6 char dp[N]; 7 8 int main() 9 {10 int T;11 scanf("%d",&T);12 while(T--)13 {14 int c = 1;15 int i = 0;16 int j = 0;17 scanf... 阅读全文
posted @ 2013-04-15 15:13 heity 阅读(521) 评论(0) 推荐(0) 编辑
摘要: 递推求值时间限制:1000 ms | 内存限制:65535 KB难度:4描述给你一个递推公式:f(x)=a*f(x-2)+b*f(x-1)+c并给你f(1),f(2)的值,请求出f(n)的值,由于f(n)的值可能过大,求出f(n)对1000007取模后的值。注意:-1对3取模后等于2输入第一行是一个整数T,表示测试数据的组数(T<=10000)随后每行有六个整数,分别表示f(1),f(2),a,b,c,n的值。其中0<=f(1),f(2)<100,-100<=a,b,c<=100,1<=n<=100000000 (10^9)输出输出f(n)对10000 阅读全文
posted @ 2013-04-15 14:20 heity 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 该题就是01背包问题,一个常数优化,详细讲解见背包问题九讲就是优化他的循环次数不然会超时的 1 #include <stdio.h> 2 #include <string.h> 3 4 #define N 1000 5 6 int f[N*1003]; 7 int c[N]; 8 int w[N]; 9 10 int max(int n,int x)11 {12 return n > x?n:x;13 }14 15 int main()16 {17 int T;18 scanf("%d",&T);19 while(T--)20 {21 阅读全文
posted @ 2013-04-15 13:40 heity 阅读(139) 评论(0) 推荐(0) 编辑