摘要:
判定是否成环,是否只有一个根,是否为空.代码如下:#include <cstdlib>#include <cstdio>#include <cstring>#include <algorithm>#include <map>#define MAXN 100000using namespace std;int stk[MAXN+5], top, flag;int set[MAXN+5];map<int,int>mp;void init(){ for (int i = 1; i <= MAXN; ++i) set[i] 阅读全文
摘要:
I NEED A OFFER!Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 5280Accepted Submission(s): 1799Problem DescriptionSpeakless很早就想出国,现在他已经考完了所有需要的考试,准备了所有要准备的材料,于是,便需要去申请学校了。要申请国外的任何大学,你都要交纳一定的申请费用,这可是很惊人的。Speakless没有多少钱,总共只攒了n万美元。他将在m个学校中选择若干的(当然要在他的 阅读全文
摘要:
入门级的树状数组直接应用,题目内容可以用数组来来模拟,意思是对下标为1~N的数组动态进行修改和统计某一特定区间[a,b]的数据总和。 树状数组之所以会比普通示和表述的动态求和快,是因为其保留了存和(开辟数组保留多项的和)的特性,但是其并不像普通示和数组那样将数组的每一项的意义都看做一样的,树状数组中下标为[2^0],[2^1],[2^2]......的意义和普通数组一致,但其他的数组项则只是表示局部(左邻区域)的和值,例如下标为[3]单单表示第三个数据的值,下标为[6]的表示第五和第六个数据和,我们要明确,树状数组是利于处理动态求和的数据存储结构,意思是说他存储的数据是完整的。#include 阅读全文
摘要:
先就题目意思做简单介绍,题中要求在给定的两个数a,b(a,b<=10^100)之间[a,b]计算有多少个斐波那契(Fibonacci)数,注意这里约定:f1 := 1 f2 := 2 fn := fn-1 + fn-2 (n >= 3) 基本思路如下: 1.鉴于有多组测试数据且斐波那契数又是一组特殊的数组(每一项与前驱有一定的关系),采用打表的方式,将1-10^100之间所有的斐波那契数储存起来. 2.录入两个字符串作为上下界. 3.在斐波那契数组中检索上下界的位置,直接求出中间存在斐波那契数的个数.代码如下:#include<stdio.h>#include<s 阅读全文
摘要:
这是一道简单的数学题,求一个数(N)的阶乘。但是问题是题中N给的非常大(0<=N<=10000),用for循环来做显然不行了。这里用数组来对付这些大家伙。基本思路如下: 1.开辟一个够大的数组,保证大于1000!所占的位数,我是以最大情况来估算,即1000个1000相乘,开一百万吧,反正我们老大(Miyu)说了数组空间烂便宜。 2.然后就是挨个来乘了(说白了,就是模拟我们平时的乘法),这里不要惯性的只要看见某位过10便想着进位,虽然这样能做,但艰难。可以让一位存大一点的数值,要知道,对于每一位来说,可以存下一个21亿的数字。 3.如果只是乘,不中途处理一次进位的话,那便永远是在“个 阅读全文