0x02 枚举、模拟、递推
能想象问题“状态空间”,理解各种基本算法其实是对状态空间的遍历与映射;
常见的枚举形式,无法设计有效算法时能够通过枚举的方式直接遍历状态空间;
通过模拟,主要侧重代码实现能力的训练;
递推边界、目标、递推公式的发现与设计;
尺取法是解决寻找区间和问题的一种方法;
一维、二维前缀和的递推与应用;
差分。
zxyOI
无
展开
-
luogu P1067 多项式输出
一元n次多项式可用如下的表达式表示原创 2019-09-16 19:43:51 · 221 阅读 · 0 评论 -
luogu P1003 铺地毯
为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有 n 张地毯,编号从 1 到n。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。原创 2019-09-16 19:24:33 · 375 阅读 · 0 评论 -
noi.openjudge 8760:Cantor表
现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的。他是用下面这一张表来证明这一命题的:原创 2019-09-16 08:21:56 · 200 阅读 · 0 评论 -
noi.openjudge 8757:三个三位数
将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成 1:2:3的比例,试求出所有满足条件的三个三位数。原创 2019-09-16 08:18:43 · 1197 阅读 · 0 评论 -
noi.openjudge 7827:质数的和与积
两个质数的和是S,它们的积最大是多少?原创 2019-09-16 08:16:30 · 854 阅读 · 0 评论 -
noi.openjudge 7649:我家的门牌号
我家住在一条短胡同里,这条胡同的门牌号从1开始顺序编号。若所有的门牌号之和减去我家门牌号的两倍,恰好等于n,求我家的门牌号及总共有多少家。原创 2019-09-16 08:14:30 · 1359 阅读 · 0 评论 -
noi.openjudge 7621:硬币面值组合
使用1角、2角、5角硬币组成 n 角钱。设1角、2角、5角的硬币各用了a、b、c个,列出所有可能的a, b, c组合。 输出顺序为:先按c的值从小到大,若c相同则按b的值从小到大。原创 2019-09-16 08:12:42 · 981 阅读 · 0 评论 -
noi.openjudge 1809:两倍
给定2到15个不同的正整数,你的任务是计算这些数里面有多少个数对满足:数对中一个数是另一个数的两倍。原创 2019-09-16 08:09:29 · 476 阅读 · 0 评论 -
bailian.openjudge 2733:判断闰年
判断某年是否是闰年。原创 2019-09-14 17:09:21 · 276 阅读 · 0 评论 -
bailian.openjudge 2811:熄灯问题
有一个由按钮组成的矩阵,其中每行有6个按钮,共5行。每个按钮的位置上有一盏灯。当按下一个按钮后,该按钮以及周围位置(上边、下边、左边、右边)的灯都会改变一次。即,如果灯原来是点亮的,就会被熄灭;如果灯原来是熄灭的,则会被点亮。在矩阵角上的按钮改变3盏灯的状态;在矩阵边上的按钮改变4盏灯的状态;其他的按钮改变5盏灯的状态。原创 2019-09-14 17:49:33 · 442 阅读 · 0 评论 -
bailian.openjudge 2810:完美立方
形如$a^3= b^3 + c^3 + d^3$的等式被称为完美立方等式。例如$12^3= 6^3 + 8^3 + 10^3$ 。编写一个程序,对任给的正整数N (N≤100),寻找所有的四元组(a, b, c, d),使得$a^3= b^3 + c^3 + d^3$,其中a,b,c,d 大于 1, 小于等于N,且b<=c<=d。原创 2019-09-14 17:43:40 · 246 阅读 · 2 评论 -
bailian.openjudge 4148:生理周期
人生来就有三个生理周期,分别为体力周期、感情周期和智力周期,它们的周期长度分别为23天、28天和33天。每一个周期中有一天是高峰。在高峰这天,人会在相应的方面表现出色。例如,在智力周期的高峰,人会思维敏捷,注意力容易高度集中。因为三个周期的长度不同,所以通常三个周期的高峰不会落在同一天。对于每个人,想知道何时三个高峰落在同一天。对于每个周期,会给出从当前年份的第一天开始,到出现高峰的天数(不一定是第一次高峰出现的时间)。给定一个从当年第一天开始的天数,你的任务是输出从给定时间开始(不包括给定时间),下一次三原创 2019-09-14 17:39:13 · 189 阅读 · 0 评论 -
bailian.openjudge 2692:假币问题
赛利有12枚银币。其中有11枚真币和1枚假币。假币看起来和真币没有区别,但是重量不同。但赛利不知道假币比真币轻还是重。于是他向朋友借了一架天平。朋友希望赛利称三次就能找出假币并且确定假币是轻是重。例如:如果赛利用天平称两枚硬币,发现天平平衡,说明两枚都是真的。如果赛利用一枚真币与另一枚银币比较,发现它比真币轻或重,说明它是假币。经过精心安排每次的称量,赛利保证在称三次后确定假币。原创 2019-09-14 17:36:12 · 202 阅读 · 0 评论 -
bailian.openjudge 2707:求一元二次方程的根
利用公式x1 = (-b + sqrt(b*b-4*a*c))/(2*a), x2 = (-b - sqrt(b*b-4*a*c))/(2*a)求一元二次方程ax^2 + bx + c =0的根,其中a不等于0。原创 2019-09-14 17:14:11 · 1113 阅读 · 1 评论 -
bailian.openjudge 2712:细菌繁殖
一种细菌的繁殖速度是每天成倍增长。例如:第一天有10个,第二天就变成20个,第三天变成40个,第四天变成80个,……。现在给出第一天的日期和细菌数目,要你写程序求出到某一天的时候,细菌的数目。原创 2019-09-14 17:07:08 · 328 阅读 · 0 评论 -
bailian.openjudge 2701:与7无关的数
一个正整数,如果它能被7整除,或者它的十进制表示法中某一位上的数字为7,则称其为与7相关的数.现求所有小于等于n(n < 100)的与7无关的正整数的平方和.原创 2019-09-14 17:03:59 · 175 阅读 · 0 评论 -
bailian.openjudge 1833:排列
大家知道,给出正整数n,则1到n这n个数可以构成n!种排列,把这些排列按照从小到大的顺序(字典顺序)列出,如n=3时,列出1 2 3,1 3 2,2 1 3,2 3 1,3 1 2,3 2 1六个排列。原创 2019-09-14 16:55:08 · 157 阅读 · 0 评论 -
bailian.openjudge 2745:显示器
你的一个朋友买了一台电脑。他以前只用过计算器,因为电脑的显示器上显示的数字的样子和计算器是不一样,所以当他使用电脑的时候会比较郁闷。为了帮助他,你决定写一个程序把在电脑上的数字显示得像计算器上一样。原创 2019-09-14 16:24:10 · 757 阅读 · 0 评论 -
bailian.openjudge 2746:约瑟夫问题
约瑟夫问题:有n只猴子,按顺时针方向围成一圈选大王(编号从1到n),从第1号开始报数,一直数到m,数到m的猴子退出圈外,剩下的猴子再接着从1开始报数。就这样,直到圈内只剩下一只猴子时,这个猴子就是猴王,编程求输入n,m后,输出最后猴王的编号。原创 2019-09-14 16:20:00 · 259 阅读 · 0 评论 -
bailian.openjudge 2808:校门外的树
某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。马路上有一些区域要用来建地铁,这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标...原创 2019-09-14 15:58:38 · 400 阅读 · 0 评论 -
bailian.openjudge 3237:鸡兔同笼
一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物原创 2019-09-14 15:49:51 · 241 阅读 · 0 评论 -
luogu P1135 奇怪的电梯
呵呵,有一天我做了一个梦,梦见了一种很奇怪的电梯。大楼的每一层楼都可以停电梯,而且第i层楼(1≤i≤N)上有一个数字$K_i(0 \le K_i \le N)$。电梯只有四个按钮:开,关,上,下。上下的层数等于当前楼层上的那个数字。当然,如果不能满足要求,相应的按钮就会失灵。例如:3,3,1,2,5代表了$K_i(K_1=3,K_2=3,…)$,从1楼开始。在1楼,按“上”可以到4楼,按“下”是不起作用的,因为没有−2楼。那么,从A楼到B楼至少要按几次按钮呢?原创 2019-09-18 15:52:48 · 126 阅读 · 0 评论 -
luogu P1025 数的划分
将整数n分成kk,且每份不能为空,任意两个方案不相同(不考虑顺序)。原创 2019-09-18 15:47:11 · 108 阅读 · 0 评论 -
luogu P1192 台阶问题
有N级的台阶,你一开始在底部,每次可以向上迈最多K级台阶(最少1级),问到达第N级台阶有多少种不同方式。原创 2019-09-18 15:43:38 · 186 阅读 · 0 评论 -
luogu P1147 连续自然数和
对一个给定的自然数M,求出所有的连续的自然数段,这些连续的自然数段中的全部数之和为M。原创 2019-09-18 14:00:36 · 154 阅读 · 0 评论 -
luogu P1017 进制转换
我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置的(值减111)为指数,以10为底数的幂之和的形式原创 2019-09-18 13:42:12 · 189 阅读 · 0 评论 -
luogu P3952 时间复杂度
小明正在学习一种新的编程语言 A++,刚学会循环语句的他激动地写了好多程序并 给出了他自己算出的时间复杂度,可他的编程老师实在不想一个一个检查小明的程序, 于是你的机会来啦!下面请你编写程序来判断小明对他的每个程序给出的时间复杂度是否正确。原创 2019-09-17 17:01:23 · 152 阅读 · 0 评论 -
luogu P1031 均分纸牌
有N堆纸牌,编号分别为 1,2,…,N。每堆上有若干张,但纸牌总数必为NNN的倍数。可以在任一堆上取若干张纸牌,然后移动。原创 2019-09-17 16:46:38 · 117 阅读 · 0 评论 -
noi.openjudge 35:字符串的展开
在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于“d-h”或者“4-8”的字串,我们就把它当作一种简写,输出时,用连续递增的字母获数字串替代其中的减号,即,将上面两个子串分别输出为“defgh”和“45678”。在本题中,我们通过增加一些参数的设置,使字符串的展开更为灵活。原创 2019-09-17 07:31:57 · 237 阅读 · 0 评论 -
luogu P1563 玩具谜题
小南有一套可爱的玩具小人, 它们各有不同的职业。有一天, 这些玩具小人把小南的眼镜藏了起来。 小南发现玩具小人们围成了一个圈,它们有的面朝圈内,有的面朝圈外原创 2019-09-17 07:22:25 · 288 阅读 · 0 评论 -
luogu P1328 生活大爆炸版石头剪刀布
石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头。如果两个人出拳一 样,则不分胜负。在《生活大爆炸》第二季第8集中出现了一种石头剪刀布的升级版游戏。原创 2019-09-17 07:16:13 · 190 阅读 · 0 评论 -
luogu P1056 排座椅
上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情。不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的D对同学上课时会交头接耳。原创 2019-09-17 07:11:15 · 109 阅读 · 0 评论 -
luogu P1540 机器翻译
小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章。原创 2019-09-17 07:22:52 · 111 阅读 · 0 评论 -
luogu P1216 [IOI1994][USACO1.5]数字三角形 Number Triangles
写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。原创 2019-09-18 15:54:58 · 179 阅读 · 0 评论