04 2013 档案

摘要:法雷数列(一)时间限制:1000 ms | 内存限制:65535 KB难度:4描述对任意给定的一个自然数n,将分母小于等于n的不可约的真分数按升序排列,并且在第一个分数之前加上0/1,在最后一个分 数之后加上1/1,这个序列称为n级法雷数列,以Fn表示。如F5为:0/1,1/5, 1/4, 1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5,1/1.现在给出n让你求其n级法雷数列。输入有多组测试数据组数小于1003,每组测试数据有一个整数n(0<n<=100).输出输出n级法雷数列。样例输入15样例输出0/1,1/10/1,1/5,1/4,1/3,2/5,1/2,3 阅读全文
posted @ 2013-04-26 17:39 heity 阅读(418) 评论(0) 推荐(0)
摘要:题目:http://acm.nyist.net/JudgeOnline/problem.php?pid=3需要知道的知识点有:1.叉积和点积的区别和它们引进的用途。既然是向量,它得定义大小和方向,所以不同于常规的数字。点积和叉积都是为了解决实际意义引进的。为了解决已知两有向线段,求以它们为邻边的平行四边形的面积的问题,引入了点积。因为点积的结果是面积大小,所以它只是一个数字,没有方向。叉积的产生是为了产生新的向量,至于它的方向的规定,是为了和笛卡尔坐标系一致,我们判断两个向量叉积的方向需要用到右手螺旋定则,如果A X B,则A、B向量叉积的方向就是四指从A到B,大拇指方向就是叉积方向。2.多边 阅读全文
posted @ 2013-04-26 16:29 heity 阅读(218) 评论(0) 推荐(0)
摘要:(1) n条直线最多分平面问题题目大致如:n条直线,最多可以把平面分为多少个区域。析:可能你以前就见过这题目,这充其量是一道初中的思考题。但一个类型的题目还是从简单的入手,才容易发现规律。当有n-1条直线时,平面最多被分成了f(n-1)个区域。则第n条直线要是切成的区域数最多,就必须与每条直线相交且不能有同一交点。 这样就会得到n-1个交点。这些交点将第n条直线分为2条射线和n-2条线断。而每条射线和线断将以有的区域一分为二。这样就多出了2+(n-2)个区域。故:f(n)=f(n-1)+n=f(n-2)+(n-1)+n……=f(1)+1+2+……+n=n(n+1)/2+1(2) 折线分平面(h 阅读全文
posted @ 2013-04-25 15:17 heity 阅读(114) 评论(0) 推荐(0)
摘要:题目:http://acm.nyist.net/JudgeOnline/problem.php?pid=93判断给你的操作是否满足要求:使用三个栈来操作,模拟该过程 1 #include<stdio.h> 2 #include <string.h> 3 4 #define N 105 5 6 int a[4][N]; 7 int f[N][2]; 8 9 void init(int n)//初始化栈 第一根柱子 10 { 11 memset(a,0,sizeof(a)); 12 13 int i; 14 int t = 1; 15 f... 阅读全文
posted @ 2013-04-24 17:21 heity 阅读(210) 评论(0) 推荐(0)
摘要:三角形Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 3416Accepted Submission(s): 2368Problem Description用N个三角形最多可以把平面分成几个区域?Input输入数据的第一行是一个正整数T(1<=T<=10000),表示测试数据的数量.然后是T组测试数据,每组测试数据只包含一个正整数N(1<=N<=10000).Output对于每组测试数据,请输出题目中要求的结果.Samp 阅读全文
posted @ 2013-04-23 12:09 heity 阅读(133) 评论(0) 推荐(0)
摘要:汉诺塔问题,给你四个柱子,要把所有的盘子从1 移到 3 上1------12 -----33 ------54-------95 -------136--------177 -------25要是按着先把n-3个盘子移到另一个柱子上这样就有一个递推公式,f[n] = 2[n - 3] + 2 ^3-1用12带进去发现不对,不知道为什么,后来yy了一下,能够找出关系,希望大牛指点。。。。 1 #include <stdio.h> 2 #include <string.h> 3 #include <math.h> 4 5 long long a[65]; 6 7 阅读全文
posted @ 2013-04-23 11:35 heity 阅读(168) 评论(0) 推荐(0)
摘要:Problem DescriptionIn how many ways can you tile a 3xn rectangle with 2x1 dominoes? Here is a sample tiling of a 3x12 rectangle.InputInput consists of several test cases followed by a line containing -1. Each test case is a line containing an integer 0 ≤ n ≤ 30. OutputFor each test case, output one 阅读全文
posted @ 2013-04-23 08:54 heity 阅读(198) 评论(0) 推荐(0)
摘要:卡特兰数真是一个神奇的数字,很多组合问题的数量都和它有关系,例如: Cn= 长度为 2n的 Dyck words的数量。 Dyck words是由 n个 X和 n个 Y组成的字符串,并且从左往右数, Y的数量不超过 X,例如长度为 6的 Dyck words为: XXXYYY XYXXYY XYXYXY XXYYXY XXYXYY Cn= n对括号正确匹配组成的字符串数,例如 3对括号能够组成: ((())) ()(()) ()()() (())() (()()) Cn= n+1个数相乘,所有的括号方案数。例如, 4个数相乘的括号方案为: ((ab)c)d (a(bc))d (ab)(cd). 阅读全文
posted @ 2013-04-22 17:07 heity 阅读(271) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1023该题就是求卡特兰数,只是处理的时候要用大数来处理,使用递推公式:h(n)=C(2n,n)/(n+1) (n=0,1,2,...)= A(2n,n)/(n+1)!改写我先求A(2n,n)然后除以(n+1)! 1 #include <cstdio> 2 #include <iostream> 3 #include <cstring> 4 5 using namespace std; 6 7 #define N 250 8 int a[N]; 9 10 void 阅读全文
posted @ 2013-04-22 16:09 heity 阅读(187) 评论(0) 推荐(0)
摘要:Train Problem ITime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 14413Accepted Submission(s): 5310Problem DescriptionAs the new term comes, the Ignatius Train Station is very busy nowadays. A lot of student want to get back to school by train(because 阅读全文
posted @ 2013-04-22 15:15 heity 阅读(143) 评论(0) 推荐(0)
摘要:Buy the TicketTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 3246Accepted Submission(s): 1350Problem DescriptionThe "Harry Potter and the Goblet of Fire" will be on show in the next few days. As a crazy fan of Harry Potter, you will go t 阅读全文
posted @ 2013-04-22 13:38 heity 阅读(150) 评论(0) 推荐(0)
摘要:一开始想的时候吧那个搞错了,那个在同一层的时候对停留5S 1 #include <stdio.h> 2 #include <string.h> 3 4 int a[3005]; 5 6 int main() 7 { 8 int n; 9 while(scanf("%d",&n) && n)10 {11 int i;12 long sum = 0;13 memset(a,0,sizeof(a));14 for(i = 1; i <= n; i++)15 scanf("%d",&a... 阅读全文
posted @ 2013-04-22 10:26 heity 阅读(122) 评论(0) 推荐(0)
摘要:定长覆盖时间限制:2000 ms | 内存限制:65535 KB难度:2描述问题很简单,在一条直线上,坐标从0开始到1000000;现在有n个石子在这条直线上(同一个位置可能有多个石子)那么用一个定长为m的杆子去覆盖,请问最多能覆盖多少个石子?输入输入有多组数据第一行有2个整数,n 和 m(n <= 50000,m <= 1000)第二行有n个整数代表每个石子的位置(所有的数小于50000)输出每种情况输出一个整数(最多能覆盖的石子数)样例输入3 20 0 15 20 1 2 4 5样例输出33首先求0--m的和值,然后进行加后减前,就是把后面一个的加上,把最前面的那个删除a[1- 阅读全文
posted @ 2013-04-20 17:27 heity 阅读(170) 评论(0) 推荐(0)
摘要:有一个整数n,把从1到n的数字无重复的排列成环,且使每相邻两个数(包括首尾)的和都为素数,称为素数环。为了简便起见,我们规定每个素数环都从1开始。例如,下图就是6的一个素数环。这题在进行判断时,发现在大于3的素数都没有环,所以判断一下这个条件,其他的就是按照题目意思进行输出。 1 #include <stdio.h> 2 #include <string.h> 3 #include <math.h> 4 5 int n; 6 int a[25]; 7 int b[25]; 8 int flag = 1; 9 10 bool prime(int x)11 {1 阅读全文
posted @ 2013-04-18 13:17 heity 阅读(221) 评论(0) 推荐(0)
摘要:众数问题时间限制:3000 ms | 内存限制:65535 KB难度:3描述所谓众数,就是对于给定的含有N个元素的多重集合,每个元素在S中出现次数最多的成为该元素的重数,多重集合S重的重数最大的元素成为众数。例如:S={1,2,2,2,3,5},则多重集S的众数是2,其重数为3。现在你的任务是:对于给定的由m个自然数组成的多重集S,计算出S的众数及其重数。输入第一行为n,表示测试数据组数。(n<30)每组测试的第一行是一个整数m,表示多重集S中元素的个数为m接下来的一行中给出m(m<100)个不大于10万的自然数(不会出现不同元素出现的次数相同的情况,如:S={11,11,22,2 阅读全文
posted @ 2013-04-16 14:47 heity 阅读(232) 评论(0) 推荐(0)
摘要:在poj上是3233nyist是299这题就是给你一个矩阵A 求他的A + A^2 + A^2+.....A^n %m就是一道矩阵的运算首先看这个式子我们把它进行变化F = A + A ^2 + A^3+... +A^nn为偶数是: A+A^2+...A^n/2 + A^n/2(A+A^2 +...A^n/2)n为基数时 A+A^2+..A^n/2+A^n^/2+1 + A^n/2+1(A+A^2+A^n/2)计算A^n使用矩阵快速幂 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 阅读全文
posted @ 2013-04-16 13:59 heity 阅读(372) 评论(0) 推荐(0)
摘要:题目: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 阅读(167) 评论(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 阅读(527) 评论(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 阅读(341) 评论(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 阅读(154) 评论(0) 推荐(0)
摘要:fibonacci数列(二)时间限制:1000 ms | 内存限制:65535 KB难度:3描述In the Fibonacci integer sequence,F0= 0,F1= 1, andFn=Fn− 1+Fn− 2forn≥ 2. For example, the first ten terms of the Fibonacci sequence are:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, …An alternative formula for the Fibonacci sequence is.Given an integern, your goal 阅读全文
posted @ 2013-04-14 10:16 heity 阅读(252) 评论(0) 推荐(0)
摘要:扩展欧几德a*x + b*y = n求该二元一次方程的解当且仅当 n % gcd(a,b) == 0所以方程 a*x+b*y=n;我们可以先用扩展欧几里德算法求出一组x0,y0。也就是a*x0+b*y0=gcd(a,b);然后两边同时除以gcd(a,b),再乘以n。这样就得到了方程a*x0*n/gcd(a,b)+b*y0*n/gcd(a,b)=n;我们也就找到了方程的一个解。 若gcd(a,b)=1,且x0,y0为a*x+b*y=n的一组解,则该方程的任一解可表示为:x=x0+b*t,y=y0-a*t;且对任一整数t,皆成立。(这个证明比较简单,就不写了) 这样我们就可以求出方程的所有解了,但 阅读全文
posted @ 2013-04-12 17:51 heity 阅读(195) 评论(0) 推荐(0)
摘要:扩展欧几里德算法代码: 1 #include <cstdio> 2 #include <iostream> 3 4 using namespace std; 5 6 long long gcd_x(long long a,long long b) 7 { 8 if(b == 0) return a; 9 else10 return gcd_x(b,a%b);11 }12 13 long long judge(long long a,long long b,long long &x,long long &y)14 {15 if(b == 0)16 {... 阅读全文
posted @ 2013-04-12 16:35 heity 阅读(196) 评论(0) 推荐(0)
摘要:无聊的小明时间限制:3000 ms | 内存限制:65535 KB难度:3描述 这天小明十分无聊,没有事做,但不甘于无聊的小明聪明的想到一个解决无聊的办法,因为他突然对数的正整数次幂产生了兴趣。 众所周知,2的正整数次幂最后一位数总是不断的在重复2,4,8,6,2,4,8,6……我们说2的正整数次幂最后一位的循环长度是4(实际上4的倍数都可以说是循环长度,但我们只考虑最小的循环长度)。类似的,其余的数字的正整数次幂最后一位数也有类似的循环现象。 这时小明的问题就出来了:是不是只有最后一位才有这样的循环呢?对于一个整数n的正整数次幂来说,它的后k位是否会发生循环?如果循环的话,循环长度是多少.. 阅读全文
posted @ 2013-04-10 18:00 heity 阅读(344) 评论(0) 推荐(0)
摘要:判断一个长方体和一个球是否相交找到一个离求最近的点,然后算这个点到这个球圆心的距离,就能判断出是否相交代码: 1 #include <cstdio> 2 #include <cmath> 3 #include <iostream> 4 5 using namespace std; 6 7 typedef struct point 8 { 9 double x,y,z;10 }point;11 12 point a[10];13 14 double judge(double x,double y,double z,point q)15 {16 double s 阅读全文
posted @ 2013-04-10 08:14 heity 阅读(198) 评论(0) 推荐(0)
摘要:括号匹配(二)时间限制:1000 ms | 内存限制:65535 KB难度:6描述给你一个字符串,里面只包含"(",")","[","]"四种符号,请问你需要至少添加多少个括号才能使这些括号匹配起来。如:[]是匹配的([])[]是匹配的((]是不匹配的([)]是不匹配的输入第一行输入一个正整数N,表示测试数据组数(N<=10)每组测试数据都只有一行,是一个字符串S,S中只包含以上所说的四种字符,S的长度不超过100输出对于每组测试数据都输出一个正整数,表示最少需要添加的括号的数量。每组测试输出占一行样例输入4 阅读全文
posted @ 2013-04-09 16:54 heity 阅读(195) 评论(0) 推荐(0)
摘要:差乘和点乘(x1,y1) (x2,y2)x1y1 - x2y1x1x2 + y1y2 阅读全文
posted @ 2013-04-08 17:47 heity 阅读(134) 评论(0) 推荐(0)
摘要:Problem DescriptionCrixalis - Sand King used to be a giant scorpion(蝎子) in the deserts of Kalimdor. Though he's a guardian of Lich King now, he keeps the living habit of a scorpion like living underground and digging holes.Someday Crixalis decides to move to another nice place and build a new ho 阅读全文
posted @ 2013-04-07 10:31 heity 阅读(200) 评论(0) 推荐(0)
摘要:Different DivisionTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 165Accepted Submission(s): 75Problem DescriptionNow we will give you a graph, there are many points in the graph. We will choose two different points arbitrarily, and connect them as 阅读全文
posted @ 2013-04-06 17:57 heity 阅读(206) 评论(0) 推荐(0)
摘要:A + B Problem IITime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 150756Accepted Submission(s): 28485Problem DescriptionI have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B.InputThe first line of 阅读全文
posted @ 2013-04-03 14:43 heity 阅读(173) 评论(0) 推荐(0)
摘要:Degree Sequence of Graph GTime Limit: 5000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 651Accepted Submission(s): 243Problem DescriptionWang Haiyang is a strong and optimistic Chinese youngster. Although born and brought up in the northern inland city Harbin, h 阅读全文
posted @ 2013-04-03 14:21 heity 阅读(240) 评论(0) 推荐(0)
摘要:Problem DescriptionGiven a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a sub-sequence. For example, given (6,-1,5,4,-7), the max sum in this sequence is 6 + (-1) + 5 + 4 = 14.InputThe first line of the input contains an integer T(1<=T<=20) which means the number 阅读全文
posted @ 2013-04-03 07:50 heity 阅读(779) 评论(0) 推荐(0)
摘要:饱尝情感苦恼的小Q本打算隐居一段时间,但仅仅在3月25号一天没有出现,就有很多朋友想念他,所以,他今天决定再出来一次,正式和大家做个告别。 小Q近来睡眠情况很差——晚上睡不着,早上又起不来!以前总是全勤的他这个月甚至迟到了好几次,虽然主管没说什么,但是他自己清楚此事的严重性。 爱情没有了,小Q不想再失去面包,于是他决定买个闹钟,为求质量可靠,特意挑了个最贵的原装进口货!但是,正所谓屋漏偏逢连夜雨、人倒霉的时候喝凉水都塞牙,小Q新买的这个进口闹钟竟然每分钟总是比正确时间慢那么几秒! 可怜的小Q愤愤然道:“真是一个大笨钟!” 但是为了充分利用大笨钟,小Q还是尽力想办法搞清楚它的性能,希... 阅读全文
posted @ 2013-04-01 09:45 heity 阅读(150) 评论(0) 推荐(0)