- 博客(16)
- 资源 (1)
- 收藏
- 关注
转载 2012年亚洲区赛各站比赛的安排
2012年亚洲区赛各站比赛的安排 (1)长春赛区: 网赛:9月8日(周六)12:00-17:00,学校排名前70晋级,杭电OJ 现场赛:10月13-14日 名额:160+,联合浙大出题 (2)天津赛区: 网赛时间待定,杭电OJ 现场赛:10月20-21日 名额:130+,联合中山出题 (3)金华赛区: 网赛:9月22日,学校排名前70-80晋级,杭电
2012-07-29 12:33:46 4069
原创 hdu4311
题意:在一个无限平面直角坐标系中,有n个点,求其中的一个点,各个点到他的距离最小。 利用扫描的思想,分别从x轴负方向和x轴正方向扫描,求各个点到他的最小距离。 #include #include #include #include #include using namespace std; long long fa[500100],fb[500100],fc[500100],fd
2012-07-27 14:55:00 260
原创 poj3522 并查集+kruskal
这个题目我一开始的思路是利用prim算法,选出边数最少的点,利用循环,每次选出一条边进行枚举,选出最大值与最小值差距最小的生成树。 但是写完之后交上去怎么都过不了,于是也按照网上的主流算法,利用kruscal算法来写。 先进行排序,再进行枚举。。。 #include #include #include using namespace std; #define MAXN 105 #def
2012-07-25 20:20:42 302
转载 zoj分类
初学者题: 1001 1037 1048 1049 1051 1067 1115 1151 1201 1205 1216 1240 1241 1242 1251 1292 1331 1334 1337 1338 1350 1365 1382 1383 1394 1402 1405 1414 1494 1514 1622 1715 1730 1755 1760 17
2012-07-25 10:30:46 593
原创 hdu1893Fibonacci相关
Now Sempr found another Numbers, he named it "Sibonacci Numbers", the definition is below: f(x)=0 (x f(x)=1 (0 f(x)=f(x-1)+f(x-3.14) (x>=1) 将每项都乘以100,就可以按照正常的斐波那契来做。输入采用字符串,在处理符号时方便。。。#include
2012-07-24 14:19:59 349
原创 hdu1708
很简单的一道题,就是每个分量均满足f(n)=f(n-1)+f(n-2) #include #include #include using namespace std; int num[60][30]; int main() { int t,k,i,j; char a[30],b[30]; scanf("%d",&t); while(t--) {
2012-07-23 18:27:02 399
原创 hdu1588 Fibonacci and 矩阵连乘
题目描述:实际上是求f(b)+f(k+b)+f(2*k+b)+......+f((n-1)*k+b) 0 1 f(b-1) f(b) 1 1 * f(b) = f(b+1) 故令A=0 1 则f(b)=A^b; f(k+b)=A^(k+b); 1 1 所以题目改为求A^b+A^(k+b)+A^(2*k+b)+......+A^((n
2012-07-23 16:52:34 261
原创 hit2255矩阵连乘求Fibonacci的和
1 1 0 s(n-1) s(n) ( 0 p q ) * ( f(n) ) = ( f(n+1) ) 0 1 0 f(n-1) f(n) 注意不能因为m[0][2]=0在求结果的时候就不乘它。 另外这个题应该用long long。。。 还有,因为在题中有quickpow(s-1) 所以应该分为3中情况。。。
2012-07-22 20:06:08 257
原创 hit2060
值得注意的是在求矩阵的时候,将b+2和a+1看做一个整体来处理,不要处理了两遍 另一方面,虽然b>a, 但是由于这9位数是求余之后的,所以有可能是负数,负数求余公式(ans%Mod+Mod)%Mod #include #include using namespace std; #define MAX 2 #define Mod 1000000000 typedef struct {
2012-07-21 20:49:21 259
原创 hit1533
也是运用大数求斐波那契数的题目#include #include using namespace std; int s[10000][356]={0}; int solve() { int i,j; s[1][1]=1; s[2][1]=1; for(i=3;i<10000;i++) { for(j=1;j<350;j++)
2012-07-21 14:10:44 219
原创 poj3070
应用矩阵连乘求斐波那契的后几位数的典型题目 #include #include using namespace std; #define MAX 2 #define Mod 10000 typedef struct { int m[MAX][MAX]; }Matrix; Matrix P={0,1,1,1}; Matrix I={1,0,0,1}; Matrix matrixmul(
2012-07-21 14:09:48 274
原创 hdu1568
#include #include #include using namespace std; int f[21]; int main() { int n,i,ans; double s,t,tmp; f[0]=0; f[1]=1; f[2]=1; for(i=3;i<=20;i++)//前20的斐波那契数是4位数 f[i]=f
2012-07-21 14:08:32 188
原创 hdu1250
只能用大数了,这个代码是以8位为一组的。 #include #include using namespace std; int s[10000][356]={0}; int solve() { int i,j; s[1][1]=1; s[2][1]=1; s[3][1]=1; s[4][1]=1; for(i=5;i<10000;i++){
2012-07-21 11:19:23 216
转载 c语言数学函数
1.acos 函数申明:acos (double x); 用途:用来返回给定的 X 的反余弦函数。 2.asin 函数申明:asin (double x); 用途:用来返回给定的 X 的反正弦函数。 3.atan 函数申明:atan (double x); 用途:用来返回给定的 X 的反正切函数。 4.sin 函数声明:si
2012-07-21 10:34:45 484
原创 hdu3117
非常好的一道题目,包括了f[n]=f[n-1]+f[n-2]的递推计算、前4位、后四位值的计算。 前39位利用递推即可。 39位之后,求前四位利用公式,s=(1/sqrt(5))*(1+sqrt(5))^i,d.xxx=10^log10(s)-(int)log10(s)+3; d即为前4位的值 后四位的值利用矩阵连乘求得。 但值得注意的是求后四位的时候可能出现123,三位的情况,因为倒数第
2012-07-21 10:33:31 297
原创 poj2253
挺简单的一个题,简单的dijsktra变形,只要将更新时的方程变一下就可以了。 #include #include #include #include using namespace std; #define maxint 99999999 struct Node { double x,y; }node[210]; int sx,sy,ex,ey,n; double mapp[2
2012-07-11 10:08:41 180
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人