自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 算法训练 麦森数

问题描述   形如2P-1的素数称为麦森数,这时P一定也是个素数。但反过来不一定,即如果P是个素数,2P-1不一定也是素数。到1998年底,人们已找到了37个麦森数。最大的一个是P=3021377,它有909526位。麦森数有许多重要应用,它与完全数密切相关。   任务:从文件中输入P(1000#include <stdio.h>#include <math.h>#define MAXBIT

2016-05-12 16:56:20 2687

原创 算法训练 开心的金明

问题描述   金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎 么布置,你说了算,只要不超过N元钱就行”。今天一早金明就开始做预算,但是他想买的东西太多了,肯定会超过妈妈限定的N元。于是,他把每件物品规定了一 个重要度,分为5等:用整数1~5表示,第5等最重要。他还从因特网上查到了每件物品的价格(都是整

2016-05-09 12:25:23 2228

原创 算法训练 JAM计数法

问题描述   Jam是个喜欢标新立异的科学怪人。他不使用阿拉伯数字计数,而是使用小写英文字母计数,他觉得这样做,会使世界更加丰富多彩。在他的计数法中,每个数字的位数都是相同的(使用相同个数的字母),英文字母按原先的顺序,排在前面的字母小于排在它后面的字母。我们把这样的“数字”称为Jam数字。在Jam数字中,每个字母互不相同,而且从左到右是严格递增的。每次,Jam还指定使用字母的范围,例如,从2到1

2016-05-09 00:43:26 2060 1

原创 算法训练 纪念品分组

问题描述   元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作。为使得参加晚会的同学所获得的纪念品价值 相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括两件纪念品,并且每组纪念品的价格之和不能超过一个给定的整数。为了保证在尽量短的时 间内发完所有纪念品,乐乐希望分组的数目最少。   你的任务是写一个程序,找出所有分组方案中分组数最少的一种,输出最少的分组数目。 输入格式

2016-05-05 23:20:12 831

原创 算法训练 传纸条

问题描述   小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题。一次素质拓展活动中,班上同学安排做成一个m行n列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了。幸运的是,他们可以通过传纸条来进行交流。纸条要经由许多同学传到对方手里,小渊坐在矩阵的左上角,坐标(1,1),小轩坐在矩阵的右下角,坐标(m,n)。从小渊传到小轩的纸条只可以向下或者向右传递,从小轩传给小

2016-05-05 17:29:13 1766 1

原创 算法训练 接水问题

问题描述   学校里有一个水房,水房里一共装有m 个龙头可供同学们打开水,每个龙头每秒钟的 供水量相等,均为1。 现在有n 名同学准备接水,他们的初始接水顺序已经确定。将这些同学按接水顺序从1 到n 编号,i 号同学的接水量为wi。接水开始时,1 到m 号同学各占一个水龙头,并同时打 开水龙头接水。当其中某名同学j 完成其接水量要求wj 后,下一名排队等候接水的同学k 马上接替j 同学的位置开始接

2016-04-29 14:46:48 666

原创 算法训练 装箱问题

问题描述   有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30),每个物品有一个体积(正整数)。   要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。 输入格式   第一行为一个整数,表示箱子容量;   第二行为一个整数,表示有n个物品;   接下来n行,每行一个整数表示这n个物品的各自体积。 输出格式   一个整数,表示箱子剩余空间。

2016-04-22 23:14:28 841

原创 算法训练 单词接龙

问题描述   单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合部分合为一部分,例如 beast和astonish,如果接成一条龙则变为beastonish,另外相邻的两部分不能存在包含关系,例如at 和 atide 间不能相连。输入格式   输入的第一行为一个

2016-04-19 17:28:40 3564

原创 算法训练 入学考试

问题描述   辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。”   如

2016-04-16 17:16:33 390

原创 算法训练 幂方分解

问题描述   任何一个正整数都可以用2的幂次方表示。例如:   137=27+23+20   同时约定方次用括号来表示,即ab 可表示为a(b)。   由此可知,137可表示为:   2(7)+2(3)+2(0)   进一步:7= 22+2+20 (21用2表示)   3=2+20   所以最后137可表示为:   2(2(2)+2+2(0))+2(2+2(0))+2(0)

2016-04-07 00:08:40 594

原创 算法训练 集合运算

问题描述   给出两个整数集合A、B,求出他们的交集、并集以及B在A中的余集。 输入格式   第一行为一个整数n,表示集合A中的元素个数。   第二行有n个互不相同的用空格隔开的整数,表示集合A中的元素。   第三行为一个整数m,表示集合B中的元素个数。   第四行有m个互不相同的用空格隔开的整数,表示集合B中的元素。   集合中的所有元素均为int范围内的整数,n、m<=1000。

2016-03-30 22:17:05 585

原创 算法训练 排列问题

问题描述   求一个0~N-1的排列(即每个数只能出现一次),给出限制条件(一张N*N的表,第i行第j列的1或0,表示为j-1这个数不能出现在i-1这个数后面,并保证第i行第i列为0),将这个排列看成一个自然数,求从小到大排序第K个排列。 数据规模和约定   N<=10,K<=500000 输入格式   第一行为N和K,接下来的N行,每行N个数,0表示不能,1表示能 输出格式   所求

2016-03-28 22:55:57 751

原创 算法训练 矩阵乘方

问题描述   给定一个矩阵A,一个非负整数b和一个正整数m,求A的b次方除m的余数。   其中一个nxn的矩阵除m的余数得到的仍是一个nxn的矩阵,这个矩阵的每一个元素是原矩阵对应位置上的数除m的余数。   要计算这个问题,可以将A连乘b次,每次都对m求余,但这种方法特别慢,当b较大时无法使用。下面给出一种较快的算法(用A^b表示A的b次方):   若b=0,则A^b%m=I%m。其中I表示

2016-03-27 20:13:26 1536

原创 算法训练 删除多余括号

问题描述  从键盘输入一个含有括号的四则运算表达式,要求去掉可能含有的多余的括号,结果要保持原表达式中变量和运算符的相对位置不变,且与原表达式等价,不要求化简。另外不考虑'+'  '-'用作正负号的情况,即输入表达式不会出现(+a)或(-a)的情形。输入格式  表达式字符串,长度不超过255,  并且不含空格字符。表达式中的所有变量都是单个小写的英文字母, 运算符只有加+减-乘*除/等运算符号

2016-03-25 01:18:26 4985

原创 算法训练 和为T

问题描述   从一个大小为n的整数集中选取一些元素,使得它们的和等于给定的值T。每个元素限选一次,不能一个都不选。 输入格式   第一行一个正整数n,表示整数集内元素的个数。   第二行n个整数,用空格隔开。   第三行一个整数T,表示要达到的和。 输出格式   输出有若干行,每行输出一组解,即所选取的数字,按照输入中的顺序排列。   若有多组解,优先输出不包含第n个整数的;若都包含

2016-03-23 20:58:54 2079 2

原创 Java基础知识点总结

类与对象创建Java文件语言基础命名规则变量注释类与对象 类 对象(具体到某个个体) 动物 狮子,老虎,狗 交通工具 飞机,火车,汽车 智能设备 平板电脑,智能手机创建Java文件每个以 .java 为后缀的Java文件都有且只有一个主类文件名与主类名必须相同例如: 一个名为HelloWorld.java的类文件public class Hello

2016-03-22 16:49:19 1350

转载 快速排序

转载自百度百科“快速排序算法"上的C语言版本、void sort(int *a, int left, int right){ if(left >= right)/*如果左边索引大于或者等于右边的索引就代表已经整理完成一个组了*/ { return ; } int i = left; int j = right; int

2016-03-14 23:45:36 370

原创 算法训练 暗恋

问题描述  同在一个高中,他却不敢去找她,虽然在别人看来,那是再简单不过的事。暗恋,是他唯一能做的事。他只能在每天课间操的时候,望望她的位置,看看她倾心的动作,就够了。操场上的彩砖啊,你们的位置,就是他们能够站立的地方,他俩的关系就像砖与砖之间一样固定,无法动摇。还记得当初铺砖的工人,将整个操场按正方形铺砖(整个操场可视为R行C列的矩阵,矩阵的每个元素为一块正方形砖块),正方形砖块有两种,一种

2016-03-08 20:13:49 644

原创 算法训练 字符串的展开

在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于“d-h”或者“4-8”的字串,我们就把它当作一种简写,输出时,用连续递增的字母获数字串替代其中的减号,即,将上面两个子串分别输出为“defgh”和“45678”。在本题中,我们通过增加一些参数的设置,使字符串的展开更为灵活。具体约定如下:  (1) 遇到下面的情况需要做字符串的展开:在输

2016-03-07 18:52:08 1518

原创 一个数据结构与算法可视化的网站

http://www.cs.usfca.edu/~galles/visualization/Algorithms.html

2016-02-23 14:29:54 1148

原创 算法训练 连续正整数的和

问题描述  78这个数可以表示为连续正整数的和,1+2+3,18+19+20+21,25+26+27。  输入一个正整数 n(  输出 m 行(n有m种表示法),每行是两个正整数a,b,表示a+(a+1)+...+b=n。  对于多种表示法,a小的方案先输出。样例输入78样例输出1 1218 2125 27#include int main(){ i

2016-02-22 14:33:35 1251

原创 算法训练 猴子分苹果

问题描述  秋天到了,n只猴子采摘了一大堆苹果放到山洞里,约定第二天平分。这些猴子很崇拜猴王孙悟空,所以都想给他留一些苹果。第一只猴子悄悄来到山洞,把苹果平均分成n份,把剩下的m个苹果吃了,然后藏起来一份,最后把剩下的苹果重新合在一起。这些猴子依次悄悄来到山洞,都做同样的操作,恰好每次都剩下了m个苹果。第二天,这些猴子来到山洞,把剩下的苹果分成n分,巧了,还是剩下了m个。问,原来这些猴子至少采

2016-02-21 16:49:14 6137 2

原创 算法训练 王、后传说

问题描述  地球人都知道,在国际象棋中,后如同太阳,光芒四射,威风八面,它能控制横、坚、斜线位置。  看过清宫戏的中国人都知道,后宫乃步步惊心的险恶之地。各皇后都有自己的势力范围,但也总能找到相安无事的办法。  所有中国人都知道,皇权神圣,伴君如伴虎,触龙颜者死......  现在有一个n*n的皇宫,国王占据他所在位置及周围的共9个格子,这些格子皇后不能使用(如果国王在王宫的边上,

2016-02-21 02:31:31 1805 1

原创 算法训练 C*++ Calculations

问题描述  C*++语言和C++语言非常相似,然而C*++的程序有时会出现意想不到的结果。比如像这样的算术表达式:  表达式=基本式 / 表达式+基本式 / 表达式-基本式  基本式=增量 / 系数*增量  增量=a++ / ++a  系数=0/1/2/……/1000  如“5*a++-3*++a+a++”是合法的C*++表达式。  计算这样的表达式的值的方法:首先是每

2016-02-20 19:35:46 1493

原创 算法训练 字串统计

问题描述  给定一个长度为n的字符串S,还有一个数字L,统计长度大于等于L的出现次数最多的子串(不同的出现可以相交),如果有多个,输出最长的,如果仍然有多个,输出第一次出现最早的。输入格式  第一行一个数字L。  第二行是字符串S。  L大于0,且不超过S的长度。输出格式  一行,题目要求的字符串。  输入样例1:  4  bbaabbaaaaa

2016-02-19 16:08:16 756

原创 算法训练 比赛安排

问题描述  设有有2 n(n输入格式  输入文件matchplan.in共一行,输入n的数值。输出格式  输出文件matchplan.out共(2 n – 1)行,第i行输出第i天的比赛安排。  格式为: A-B,C-D,……。其中i是天数,A,B分别为比赛双方的编号,每行共2 n-1个比赛场次。样例输入2样例输出1-2,3-41-3,2-41-4,

2016-02-16 15:39:58 1137

原创 算法训练 筛选号码

问题描述  有n个人围成一圈,顺序排号(编号为1到n)。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子。从下一个人开始继续报数,直到剩下最后一个人,游戏结束。  问最后留下的是原来第几号的那位。  举个例子,8个人围成一圈:  1 2 3 4 5 6 7 8  第1次报数之后,3退出,剩下:  1 2 4 5 6 7 8 (现在从4开始报数)  第2次报数

2016-02-15 11:43:30 1064

原创 算法训练 输出米字形

根据输入的正整数n (1  米字形由一个(2n-1)*(2n-1)的矩阵组成,矩阵包含从大写A开始的n个字母  例如:n=3时,包含A,B,C;n=4时,包含A,B,C,D。  矩阵的正中间为n个字母中字典序最大的那个,从这个字母开始,沿着西北、正北、东北、正西、正东、西南、正南、东南八个方向各有一条由大写字母组成的直线。并且直线上的字母按字典序依次减小,直到大写字母A。  矩阵的其它

2016-02-14 13:36:44 1970

原创 算法训练 操作格子

问题描述有n个格子,从左到右放成一排,编号为1-n。共有m次操作,有3种操作类型:1.修改一个格子的权值,2.求连续一段格子权值和,3.求连续一段格子的最大值。对于每个2、3操作输出你所求出的结果。输入格式第一行2个整数n,m。接下来一行n个整数表示n个格子的初始权值。接下来m行,每行3个整数p,x,y,p表示操作类型,p=1时表示修改格子x的权值为y,p=2时表示求区间[x,y]内格子权值和,p

2016-02-10 11:00:40 346

空空如也

空空如也

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

TA关注的人

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