![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
2017寒假
文章平均质量分 80
hxxxx!
这个作者很懒,什么都没留下…
展开
-
洛谷P1372
又是毕业季题目描述为了把毕业晚会办得更好,老师想要挑出默契程度最大的k个人参与毕业晚会彩排。可是如何挑呢?老师列出全班同学的号数1,2,……,n,并且相信k个人的默契程度便是他们的最大公约数(这不是迷信哦~)。这可难为了他,请你帮帮忙吧!PS:一个数的最大公约数即本身。输入输出格式输入格式:两个空格分开的正整数n和k。(n>=k>=1)原创 2017-02-02 14:28:16 · 337 阅读 · 0 评论 -
NOIP2014提高组第四题 虫食算
虫食算问题描述所谓虫食算,就是原先的算式中有一部分被虫子啃掉了,需要我们根据剩下的数字来判定被啃掉的字母。来看一个简单的例子:43#9865#045+8468#663344445509678其中#号代表被虫子啃掉的数字。根据算式,我们很容易判断:第一行的两个数字分别是5和3,第二行的数字是5。现在,我们对问题做两个限制:首先,我们只考原创 2017-01-24 20:50:36 · 244 阅读 · 0 评论 -
NOIP2007 普及组 奖学金
奖学金问题描述某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金。期末,每个学生都有3门课的成绩:语文、数学、英语。先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序,如果两个同学总分和语文成绩都相同,那么规定学号小的同学 排在前面,这样,每个学生的排序是唯一确定的。任务:先根据输入的3门课的成绩计算总分,然后按上述规则排序,最原创 2017-01-24 15:24:27 · 448 阅读 · 0 评论 -
洛谷P1631 序列合并
序列合并问题描述有两个长度都是N的序列A和B,在A和B中各取一个数相加可以得到N^2个和,求这N^2个和中最小的N个(n分析a[i]与b[j]相加后,下面相加的一定是a[i+1]+b[j]或a[i]+b[j+1],一开始我们把b[1]与a中所有元素相加放入一个小根堆里,输出min,然后把堆顶与b[2]相加,维护堆后输出……,为避免重复相加,需要开一个数组记录堆里第i原创 2017-01-23 15:07:29 · 401 阅读 · 0 评论 -
洛谷P1029 最大公约数和最小公倍数问题
最大公约数和最小公倍数问题问题描述输入二个正整数x0,y0(2条件:1.P,Q是正整数2.要求P,Q以x0为最大公约数,以y0为最小公倍数.试求:满足条件的所有可能的两个正整数的个数.分析这题就是纯枚举,用辗转相除法求最大公约数,而最小公倍数只要用p*q=x0*y0判断即可。注意判断时要先判断最小公倍数否则会超时。代码原创 2017-01-22 16:00:09 · 342 阅读 · 0 评论 -
洛谷P1403 AHOI2005 约数研究
约数研究题目描述f(n)表示n的约数个数,现在给出n,要求求出f(1)到f(n)的总和。分析这题可以直接枚举每个因子,ij两个循环,每次给f[i*j]+1,不过这样时间复杂度会到n^2,所以加个优化当i*j>n时就可以break掉。代码const maxn=1000000;var a:array[0..maxn] of longint; i,j,a原创 2017-01-22 12:37:22 · 357 阅读 · 0 评论 -
NOIP1998 幂次方
幂次方题目描述任何一个正整数都可以用2的幂次方表示,同时约定方次用括号来表示,即a^b 可表示为a(b)。如:137=2(7)+2(3)+2(0)=2(2(2)+2+2(0))+2(2+2(0))+2(0)。分析先把n转换成一个二进制数放在数组里,按降幂输出,如果遇到次方大于2的就继续递归下去。代码const maxn=1000;var原创 2017-01-21 15:18:47 · 682 阅读 · 0 评论 -
USACO2.1 三值的排序 Sorting a Three-Valued Sequence
三值的排序题目描述排序是一种很频繁的计算任务。现在考虑最多只有三值的排序问题。一个实际的例子是,当我们给某项竞赛的优胜者按金银铜牌排序的时候。在这个任务中可能的值只有三种1,2和3。我们用交换的方法把他排成升序的。写一个程序计算出,给定的一个1,2,3组成的数字序列,排成升序所需的最少交换次数。分析:要求最少交换次数,最优的方法就是交换两个不在正确位置上的数原创 2017-02-11 09:28:51 · 671 阅读 · 0 评论 -
USACO2.1 顺序的分数 Ordered Fractions
顺序的分数题目描述输入一个自然数N,对于一个最简分数a/b(分子和分母互质的分数),满足1这有一个例子,当N=5时,所有解为:0/1 1/5 1/4 1/3 2/5 1/2 3/5 2/3 3/4 4/5 1/1给定一个自然数N,1注:①0和任意自然数的最大公约数就是那个自然数②互质指最大公约数等于1的两个自然数。分析:枚举a,b,符原创 2017-02-11 08:56:56 · 413 阅读 · 0 评论 -
洛谷P1141 01迷宫
01迷宫问题描述有一个仅由数字0与1组成的n×n格迷宫。若你位于一格0上,那么你可以移动到相邻4格中的某一格1上,同样若你位于一格1上,那么你可以移动到相邻4格中的某一格0上。你的任务是:对于给定的迷宫,询问从某一格开始能移动到多少个格子(包含自身)。分析bfs,对于每个连通的格子答案都是一样的,所以记录一下就不会超时。时间复杂度O(n)代码原创 2017-01-20 15:02:50 · 260 阅读 · 0 评论 -
洛谷P1192 台阶问题
台阶问题问题描述有N级的台阶,你一开始在底部,每次可以向上迈最多K级台阶(最少1级),问到达第N级台阶有多少种不同。分析:类似斐波那契数列,递推公式:f[i]=f[i]+f[i-j];(1时间复杂度O(n*k)代码const maxn=100000;var a:array[-200..maxn] of longint;原创 2017-01-25 13:17:10 · 413 阅读 · 0 评论 -
洛谷P1316 丢瓶盖
丢瓶盖问题描述陶陶是个贪玩的孩子,他在地上丢了A个瓶盖,为了简化问题,我们可以当作这A个瓶盖丢在一条直线上,现在他想从这些瓶盖里找出B个,使得距离最近的2个距离最大,他想知道,最大可以到多少呢?分析先排序然后二分答案,只要这个答案是可行的就往后二分否则往前二分。代码const maxn=100000;var a:array[0..ma原创 2017-01-28 12:22:29 · 381 阅读 · 0 评论 -
NOIP2001普及组 数的划分
数的划分问题描述将整数n分成k份,且每份不能为空,任意两个方案不相同(不考虑顺序)。例如:n=7,k=3,下面三种分法被认为是相同的。1,1,5; 1,5,1; 5,1,1;问有多少种不同的分法。分析:一看就是dp,方程:f[i,j]=f[i-1,j-1]+f[i-j,j];(1时间复杂度O(n*k)代码const原创 2017-01-25 15:02:57 · 399 阅读 · 0 评论 -
洛谷P2158 仪仗队
仪仗队题目描述作为体育委员,C君负责这次运动会仪仗队的训练。仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线所及的学生人数来判断队伍是否整齐(如下图)。 现在,C君希望你告诉他队伍整齐时能看到的学生人数。输入输出格式输入格式:共一个数N输出格式:共一个数,即C君应看到的学原创 2017-02-02 15:12:46 · 570 阅读 · 0 评论 -
USCAO1.2 双重回文数
双重回文数题目描述如果一个数从左往右读和从右往左读都是一样,那么这个数就叫做“回文数”。例如,12321就是一个回文数,而77778就不是。当然,回文数的首和尾都应是非零的,因此0220就不是回文数。事实上,有一些数(如21),在十进制时不是回文数,但在其它进制(如二进制时为10101)时就是回文数。编一个程序,从文件读入两个十进制数N (1 本问题原创 2017-02-04 14:15:40 · 390 阅读 · 0 评论 -
USACO 1.2 回文平方数
回文平方数题目描述回文数是指从左向右念和从右向左念都一样的数。如12321就是一个典型的回文数。给定一个进制B(2分析:主程序不长,枚举1~300并判断,转B进制的时候存数组里,最后注意大于10要输出字母!代码var a:array[0..10000] of longint; s:string; p,i,j,n:longin原创 2017-02-03 15:34:03 · 357 阅读 · 0 评论 -
洛谷P1012 拼数
拼数题目描述设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数。例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213又如:n=4时,4个整数7,13,4,246联接成的最大整数为:7424613分析:转换成字符串后排序,两个字符串比较的时候不要直接比要加起来比,如:a[i]+a[j]和a[j]+a[i]比原创 2017-02-03 14:25:38 · 276 阅读 · 0 评论 -
洛谷P1865 A%B Problem
A%B Problem题目描述区间质数个数输入输出格式输入格式:一行两个整数 询问次数n,范围m接下来n行,每行两个整数 l,r 表示区间输出格式:对于每次询问输出个数 t,如l或r∉[1,m]输出 Crossing the line输入输出样例输入样例#1:2 51 32 6原创 2017-01-31 15:45:14 · 254 阅读 · 0 评论 -
洛谷P1220 关路灯
关路灯题目描述某一村庄在一条路线上安装了n盏路灯,每盏灯的功率有大有小(即同一段时间内消耗的电量有多有少)。老张就住在这条路中间某一路灯旁,他有一项工作就是每天早上天亮时一盏一盏地关掉这些路灯。为了给村里节省电费,老张记录下了每盏路灯的位置和功率,他每次关灯时也都是尽快地去关,但是老张不知道怎样去关灯才能够最节省电。他每天都是在天亮时首先关掉自己所处位置的路灯,然后原创 2017-01-31 15:23:02 · 228 阅读 · 0 评论 -
洛谷P1007 独木桥
独木桥题目背景战争已经进入到紧要时间。你是运输小队长,正在率领运输部队向前线运送物资。运输任务像做题一样的无聊。你希望找些刺激,于是命令你的士兵们到前方的一座独木桥上欣赏风景,而你留在桥下欣赏士兵们。士兵们十分愤怒,因为这座独木桥十分狭窄,只能容纳一个人通过。假如有两个人相向而行在桥上相遇,那么他们两个人将无妨绕过对方,只能有一个人回头下桥,让另一个人先通过。但是,可以有多原创 2017-01-29 16:11:50 · 289 阅读 · 0 评论 -
洛谷P1616 疯狂的采药
题目背景此题为NOIP2005普及组第三题的疯狂版。此题为纪念LiYuxiang而生。题目描述LiYuxiang是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同种类的草药,采每一种都需要一些时间,每一种也有它自身的原创 2017-01-28 20:01:18 · 224 阅读 · 0 评论 -
洛谷P1305 新二叉树
新二叉树问题描述输入一串完全二叉树,用遍历前序打出。分析:用一个二维数组记录当前节点的左儿子和右儿子,递归输出就好啦。代码var a:array['a'..'z',1..2] of char; i,n:longint; s:string; ch:char;procedure print(c:char);begin原创 2017-01-28 19:10:20 · 332 阅读 · 0 评论 -
洛谷P1162 填涂颜色
填涂颜色题目描述由数字0 组成的方阵中,有一任意形状闭合圈,闭合圈由数字1构成,围圈时只走上下左右4个方向。现要求把闭合圈内的所有空间都填写成2.分析bfs:从四条边开始碰到0就向四个方向拓展,拓展到一个不为1的点就可以把这个点入队,队列中的所有点就是闭合圈外的点,输出时处理一下就可以啦。时间复杂度O(n)代码const maxn=30;原创 2017-01-18 23:20:06 · 485 阅读 · 0 评论 -
USACO1.3 混合牛奶Mixing Milk
USACO 1.3 混合牛奶 (贪心)Description牛奶包装是一个如此低利润的生意,所以尽可能低的控制初级产品(牛奶)的价格变的十分重要。 请帮助快乐的牛奶制造者(Merry Milk Makers)以可能的最廉价的方式取得他们所需的牛奶。 快乐的牛奶制造公司从一些农民那购买牛奶,每个农民卖给牛奶制造公司的价格不一定相同。 而且,如一只母牛一天只原创 2017-01-13 11:15:16 · 608 阅读 · 0 评论 -
USACO1.4 母亲的牛奶 Mother's Milk
母亲的牛奶题目描述农民约翰有三个容量分别是A,B,C升的桶,A,B,C分别是三个从1到20的整数, 最初,A和B桶都是空的,而C桶是装满牛奶的。有时,农民把牛奶从一个桶倒到另一个桶中,直到被灌桶装满或原桶空了。当然每一次灌注都是完全的。由于节约,牛奶不会有丢失。写一个程序去帮助农民找出当A桶是空的时候,C桶中牛奶所剩量的所有可能性。分析:搜索每种可能,搜索变原创 2017-02-06 15:07:46 · 11508 阅读 · 0 评论 -
USACO1.4 等差数列 Arithmetic Progressions
等差数列题目描述一个等差数列是一个能表示成a, a+b, a+2b,..., a+nb (n=0,1,2,3,...)的数列。在这个问题中a是一个非负的整数,b是正整数。写一个程序来找出在双平方数集合(双平方数集合是所有能表示成p的平方 + q的平方的数的集合,其中p和q为非负整数)S中长度为n的等差数列。分析:把所有双平方数集合求出,bool数组记录这个数是否在集原创 2017-02-06 14:02:47 · 714 阅读 · 0 评论 -
洛谷P1101 单词方阵
单词方阵问题描述给一nXn的字母方阵,内可能蕴含多个“yizhong”单词。单词在方阵中是沿着同一方向连续摆放的。摆放可沿着8个方向的任一方向,同一单词摆放时不再改变方向,单词与单词之间可以交叉,因此有可能共用字母。输出时,将不是单词的字母用“*”代替,以突出显示单词。分析 经典的dfs,找到一个y就往八个方向搜(要直线搜),搜索中有四个变量,x,y是当前字母的位置原创 2017-01-14 22:45:02 · 391 阅读 · 0 评论 -
USACO1.3 牛式 Prime Cryptarithm
牛式题目描述下面是一个乘法竖式,如果用我们给定的那n个数字来取代*,可以使式子成立的话,我们就叫这个式子牛式。 *** x ** ---------- *** *** ---------- ****(请复制到记事本)数字只能取代*,当然第一位不能为0,况且给定的数原创 2017-02-05 15:51:22 · 387 阅读 · 0 评论 -
USACO1.3 修理牛棚 Barn Repair
修理牛棚题目描述在一个夜黑风高,下着暴风雨的夜晚,farmer John的牛棚的屋顶、门被吹飞了。 好在许多牛正在度假,所以牛棚没有住满。 牛棚一个紧挨着另一个被排成一行,牛就住在里面过夜。 有些牛棚里有牛,有些没有。 所有的牛棚有相同的宽度。 自门遗失以后,farmer John必须尽快在牛棚之前竖立起新的木板。 他的新木材供应商将会供应他任何他想要的长度,但是吝啬的供应原创 2017-02-05 15:17:25 · 306 阅读 · 0 评论 -
洛谷P1739 表达式括号匹配
表达式括号匹配题目描述表达式有英文字母(小写)、运算符(+,—,*,/)和左右小(圆)括号构成,以“@”作为表达式的结束符。请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则返回“YES”;否则返回“NO”。表达式长度小于255,左圆括号少于20个。分析 用类似栈的方法做,从前往后记录左括号出现个数,每找到一个右括号就减一,如果最后不等于0就不匹配。原创 2017-01-13 20:05:59 · 292 阅读 · 0 评论 -
洛谷1115 最大子段和
最大子段和问题描述给出一段序列,选出其中连续且非空的一段使得这段和最大。分析 从第一个一直往后加,记录最大值,加到和为负数时从0开始继续加。注意会有全是负数的情况最后判断即可。时间复杂度 O(n)代码const maxn=200000;var a:array[0..maxn] of longint; n,an原创 2017-01-13 19:39:22 · 250 阅读 · 0 评论 -
USACO1.2 挤牛奶Milking Cows
挤牛奶题目描述三个农民每天清晨5点起床,然后去牛棚给3头牛挤奶。第一个农民在300秒(从5点开始计时)给他的牛挤奶,一直到1000秒。第二个农民在700秒开始,在 1200秒结束。第三个农民在1500秒开始2100秒结束。期间最长的至少有一个农民在挤奶的连续时间为900秒(从300秒到1200秒),而最长的无人挤奶的连续时间(从挤奶开始一直到挤奶结束)为300秒(从1200原创 2017-02-04 15:01:35 · 7560 阅读 · 0 评论 -
洛谷1604 B进制星球
B进制星球题目描述话说有一天,小Z乘坐宇宙飞船,飞到一个美丽的星球。因为历史的原因,科技在这个美丽的星球上并不很发达,星球上人们普遍采用B(2<=B<=36)进制计数。星球上的人们用美味的食物招待了小Z,作为回报,小Z希望送一个能够完成B进制加法的计算器给他们。 现在小Z希望你可以帮助他,编写实现B进制加法的程序。分析 普通的高精度加法加一些模拟原创 2017-01-13 16:40:24 · 351 阅读 · 0 评论 -
洛谷P1605 迷宫
迷宫问题描述给定一个N*M方格的迷宫,迷宫里有T处障碍,障碍处不可通过。给定起点坐标和终点坐标,问: 每个方格最多经过1次,有多少种从起点坐标到终点坐标的方案。在迷宫中移动有上下左右四种方式,每次只能移动一个方格。数据保证起点上没有障碍。分析 此题数据不大可以用深度搜索,搜过的点标记一下退出的时候回溯,搜到终点ans就+1。注意:起点一开始要标记为走过。原创 2017-01-15 20:45:12 · 459 阅读 · 0 评论 -
USACO1.5 回文质数 Prime Palindromes
回文质数题目描述因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数。写一个程序来找出范围[a,b](5 分析:这题直接枚举会超时,我们知道质数不可能是偶数,所以枚举的时候可以直接i+2,这样就可以少枚举一半的数,然后一定要先判断回文数再判断质数,判断质数要花更多时间,但是如果用普通判断还是会超时,数据范围是1000原创 2017-02-07 14:33:17 · 392 阅读 · 0 评论 -
USACO1.5 特殊的质数肋骨 Superprime Rib
特殊的质数肋骨题目描述农民约翰的母牛总是产生最好的肋骨。你能通过农民约翰和美国农业部标记在每根肋骨上的数字认出它们。农民约翰确定他卖给买方的是真正的质数肋骨,是因为从右边开始切下肋骨,每次还剩下的肋骨上的数字都组成一个质数,举例来说: 7 3 3 1 全部肋骨上的数字 7331是质数;三根肋骨 733是质数;二根肋骨 73 是质数;当然,最后一根肋骨 7 也是质数。 733原创 2017-02-07 14:58:52 · 349 阅读 · 0 评论 -
NOIP2005 提高组第一题 谁拿了最多奖学金
谁拿了最多的奖学金题目描述 某校的惯例是在每学期的期末考试之后发放奖学金。发放的奖学金共有五种,获取的条件各自不同:1)院士奖学金,每人8000元,期末平均成绩高于80分(>80),并且在本学期内发表1篇或1篇以上论文的学生均可获得; 2)五四奖学金,每人4000元,期末平均成绩高于85分(>85),并且班级评议成绩高于80分(>80)的学生均可获得; 3)成绩优秀奖原创 2017-01-13 08:46:57 · 1560 阅读 · 0 评论 -
洛谷P1443 马的遍历
马的遍历问题描述有一个n*m的棋盘(1分析一看就是广搜,每走过一个点就标记,标记过的不走,起点标记为走过,不用把每个点当成终点做n*m次bfs,每个点遍历一次即可。(最后输出是按长度输出)时间复杂度O(n)代码const maxn=10000; dx:array[1..8] of integer=(-2,-1,1,2,2,1,原创 2017-01-17 21:40:19 · 575 阅读 · 0 评论 -
洛谷1583 佳佳的魔法照片
佳佳的魔法照片题目描述一共有n(n≤20000)个人(以1--n编号)向佳佳要照片,而佳佳只能把照片给其中的k个人。佳佳按照与他们的关系好坏的程度给每个人赋予了一个初始权值W[i]。然后将初始权值从大到小进行排序,每人就有了一个序号D[i](取值同样是1--n)。按照这个序号对10取模的值将这些人分为10类。也就是说定义每个人的类别序号C[i]的值为(D[i]-1) mod 1原创 2017-01-12 20:04:43 · 671 阅读 · 0 评论 -
洛谷1781 宇宙总统
题目描述地球历公元6036年,全宇宙准备竞选一个最贤能的人当总统,共有n个非凡拔尖的人竟选总统,现在票数已经统计完毕,请你算出谁能够当上总统。说明票数可能会很大,可能回到100位数字。n解析 位数可能有一百位,字符串读入,由于字符串比较大小不会先比较长度,所以在每个字符串前加‘0’直到每个串长度一样,然后直接找max。时间时原创 2017-01-12 19:00:24 · 431 阅读 · 0 评论