自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

fengyu0556的专栏

路漫漫其修远兮,吾将上下而求索!----努力从现在开始!

  • 博客(27)
  • 资源 (1)
  • 收藏
  • 关注

原创 10474--Where is the Marble

///排序后查找#include#include#define LOCALint num[10005],test;int n,q,cas=1;int cmp(const void* _a,const void* _b){ int* a=(int*)_a; int* b=(int*)_b; return *a-*b;}void decide(){

2010-05-30 14:14:00 414

原创 729--The Hamming Distance Problem

///组合问题,主要利用生成法,方法见转载的文章////也可以用增量构造法,算出所有的增序排列但只输出符合要求的排列#include#include#define LOCALint n,h,k;int t[20];int find(){ for(k=n-1;k>=1;k--) { if(t[k]==1&&t[k-1]==0) return 1;

2010-05-29 22:46:00 463

原创 10098--Generating Fast

///也可以用STL函数#include#include#include#define LOCALchar s[15],res[15];int len;int cmp(const void*_a,const void* _b){ char *a=(char*)_a; char *b=(char*)_b; return *a-*b;}void p

2010-05-29 11:44:00 378

转载 排列组合

1。最近一直在考虑从m个数里面取n个数的算法。最容易理解的就是递归,但是其效率,实在不能使用。一直找寻中,今日得果2。算法来源与互联网组合算法     本程序的思路是开一个数组,其下标表示1到m个数,数组元素的值为1表示其下标     代表的数被选中,为0则没选中。       首先初始化,将数组前n个元素置1,表示第一个组合为前n个数。       然后从左到右扫描数组元素值的“10”组

2010-05-28 23:38:00 559

原创 146--ID Codes

本题有两种方法:方法一:递推法///递推法:根据规律,从最后面字母ai依次向前搜寻,若找到第一个字母bi比ai大,///则将ai与bi交换,并将原bi之后的字母从小到大重新排列;若未找到则从次最后搜寻,如此等等#include#include#define LOCALchar s[55],ch;int len;void decide(){ int i,j

2010-05-28 23:14:00 545

原创 131--The Psychic Poker Player

////利用生成子集来判断哪几张牌需要放弃,然后将deck中前几张牌移入hand中///模拟判断所得的值#include#include#define LOCALchar hand[7][4];char deck[7][4];char temp[7][4];char s[6];int num=0,max;char subset[35][6];char r

2010-05-26 23:30:00 970 2

原创 11205--The broken pedometer

  ///暴力求解,先生成p的子集,然后逐个子集判断,每个子集均为1和0的序列///为1时表示选这个位,否则为不选。则问题化简为求含有最少个1的子集,并保证只观察///1所在的位时,输入的n个序列不会重复///题目的测试数据不是很严密,如输入1 1 1 0时有的得到0却仍然能通过,///这主要是没有注意到答案至少为1不可能为0#include#include#inc

2010-05-26 18:02:00 1288 1

原创 10167--Birthday Cake

////暴力求解,本题主要利用生成随机数来试探求解///主要函数有srand():设置随机种子,一般以当前时间来设置随机种子,即为srand((unsigned)time(NULL))///randomize()也是这个效果///rand()生成0-32767范围内的数///rand()和srand()都包含在头文件stdlib.h中///time()是日历时间,time(NU

2010-05-25 18:26:00 585

转载 随机数生成

stdlib.h中函数int rand( void );返回的是一个界于0~32767(0x7FFF)之间的伪随机数,包括0和32767。注意,这里产生的是伪随机数,不是真正意义上的随机数#define randomize() srand((unsigned)time(NULL))#define random(num) (rand() % (num))1.函数rand()产生的是伪随机数,不是

2010-05-24 22:40:00 609

转载 time.h头文件学校

1.概念 “时间”和“日期”的概念,主要有以下几个: Coordinated Universal Time(UTC):协调世界时,又称为世界标准时间,也就是大家所熟知的格林威治标准时间(Greenwich Mean Time,GMT)。比如,中国内地的时间与UTC的时差为+8,也就是UTC+8。美国是UTC-5。 Calendar Time:日历时间,是用“从一个标准时间点到此时的时间经过的秒数”

2010-05-24 19:52:00 1525

原创 C++格式控制

格式控制     当输入/输出的数据没有指定格式,它们都按缺省的格式输入/输出。然而,有时需要对数据格式进行控制。这时需利用ios类中定义的格式控制成员函数,通过调用它们来完成格式的设置。ios类的格式控制函数如下所示:long flags( ) const 返回当前的格式标志。 long flays(long newflag) 设置格式标志为newflag,返回旧的格式标志。 long

2010-05-23 00:29:00 1216

转载 pku数学类算法题目总结

 pku 1150 The Last Non-zero Digit   和计算排列数末尾有多少个零有些类似,把2,5因子都拿出来,剩下的数的最后一个数字只有1,3,7,9。只有各位上的数字才会影响最后一个非零数字。统计可以用递归来统计,求出1~n中因子2,5的个数,以及3,7,9结尾的数和去掉2,5后新的到的数中3,7,9结尾的数。结果就是 2^(dig[2]-dig[5])*3^(dig[3])

2010-05-22 14:38:00 992

转载 扩展欧几里德算法 线性同余方程 中国剩余定理

欧几里德算法  欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。其计算原理依赖于下面的定理:  定理:gcd(a,b) = gcd(b,a mod b)  证明:a可以表示成a = kb + r,则r = a mod b  假设d是a,b的一个公约数,则有  d|a, d|b,而r = a - kb,因此d|r  因此d是(b,a mod b)的公约数  假设d 是(b,a m

2010-05-21 22:48:00 773

转载 hdu1066 Last non-zero Digit in N!

hdu1066改进的思路和对于大数的处理:(转)为了把0去掉,我们把所有的因数2和5都提出来,放到最后再处理。N!中的N个相乘的数可以分成两堆:奇数和偶数。偶数相乘可以写成(2^M)*(M!),M=N DIV 2。M!可以递归处理,因此现在只需讨论奇数相乘。考虑1*3*5*7*9*11*13*15*17*...*N(如果N为偶数则是N-1),这里面是5的倍数的有5,15,25,35,...,可

2010-05-21 20:59:00 3394 2

转载 取石子问题

Xiao Tang和Xiao Jiang非常喜欢玩一种有趣的小游戏: 有N个石子,两人轮流从中取出1个, 3个或4个石子,当石子被取空时,游戏结束。最后一个取石子的人获胜, 第一次总是Xiao Tang取. 当然,他们俩都足够聪明,总会采取最优的策略。Input每行会有一个正整数N(NOutput输出获胜人的名字。Sample Input120Sample OutputXiao TangXiao

2010-05-19 20:02:00 728

转载 分解质因数,生成素数表

经典数论题目详解: POJ_3604-Professor Benhttp://acm.pku.edu.cn/JudgeOnline/problem?id=3604这个题目足足花费了我一个下午的时间.经历了数十次TLE,RE,CE后,终于将其摆平.这是一道关于素数的经典好题,之所以这样说是因为它对数学推理和算法复杂度的要求都非常高.先总结一下用到的知识点:1. 筛法生成素数表(次

2010-05-11 20:49:00 2401

转载 背包问题九讲

P01: 0-1背包问题 题目 有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。 基本思路 这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。 用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是:f[i][v]

2010-05-11 15:23:00 497

原创 575--Skew Binary

#include#include#include#define LOCALint main(){#ifdef LOCAL freopen("in.txt","r",stdin); freopen("out.txt","w",stdout);#endif char s[35]; int i; while(1) { scanf("%s",s);

2010-05-11 01:10:00 437

原创 10115--Automatic Editing

 #include#include#define LOCALchar in[260],temp[260];char rules[11][82],replace[11][82];int find_replace(char* s,char* ru,char* rep){ int lena=strlen(s); int lenb=strlen(ru); int len

2010-05-10 16:40:00 436

原创 644--Immediate Decodability

#include#include#include#define LOCALchar codes[10][12];int cmp_string(const void* _a,const void* _b){ char* a=(char* )_a; char* b=(char* )_b; return strcmp(a,b);}int deter(char*

2010-05-10 12:52:00 667

原创 10815--Andy's First Dictionary

#include#include#include#include#define LOCALchar word[5002][202];char t;int cmp_string(const void* _a,const void* _b){ char* a=(char* )(_a); char* b=(char* )(_b); return strcmp(

2010-05-10 01:40:00 713

转载 qsort() 和 sort()

转 C++可直接使用的排序函数:qsort(),sort() qsort() 和 sort()(wysuperfly原创 v1.1)//基于c++描述 > 使用C++编译器(VC6,G++等)可以使用STL里的sort()函数或者CRT中的qsort()来排序,这么好的函数我居然才知道,真是孤陋阿~总算摆脱整天冒泡的日子了~~~[注] qsort () 可在任何

2010-05-10 00:10:00 587

原创 10878 - Decode the tape

#include#include#include#define LOCALint main(){#ifdef LOCAL freopen("in.txt","r",stdin); freopen("out.txt","w",stdout);#endif int i,num; char s[13],t; gets(s); while(1) {

2010-05-09 23:17:00 468

原创 537-- Artificial Intelligence?

#include#include#define LOCALdouble getnum(char *t){ int i,j; char te[100]; double num; memset(te,/0,sizeof(te)); for(i=2,j=0;;i++) { if(t[i]==.||t[i]>=0&&t[i]<=9) t

2010-05-09 22:09:00 718

原创 409-Excuses, Excuses!

#include#include#include#define LOCALchar word[22][22];char excuse[22][75];char s[22];int num[22];int main(){#ifdef LOCAL freopen("in.txt","r",stdin); freopen("out.txt","w",std

2010-05-09 05:31:00 384

原创 10361--Automatic Poetry

#include#include#define LOCALint main(){#ifdef LOCAL freopen("in.txt","r",stdin); freopen("out.txt","w",stdout);#endif int n; char t; scanf("%d",&n); while(n--) { char s1[

2010-05-09 03:07:00 428

原创 10010- Where's Waldorf?

 #include#include#include#define LOCALchar grid[55][55];int d[8][2]={{0,-1},{-1,-1},{-1,0},{-1,1},{0,1},{1,1},{1,0},{1,-1}};int *search(char *s,int m,int n){ int i,j; int a,b,count,c

2010-05-08 21:30:00 536

c函数速查

很好,很详细,不错哦

2008-05-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除