![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
信息学奥赛一本通刷题部分题解→_→
刷题,题解
浅梦曾倾
java选手
展开
-
T1442 小木棍(信息学奥赛一本通)
【问题】乔治有一些同样长的小木棍,他把这些木棍随意砍成几段,直到每段的长都不超过50。现在,他想把小木棍拼接成原来的样子,但是却忘记了自己开始时有多少根木棍和它们的长度。给出每段小木棍的长度,编程帮他找出原始木棍的最小可能长度。【输入】第一行为一个单独的整数N表示砍过以后的小木棍的总数,其中N≤60,第二行为N个用空个隔开的正整数,表示N根小木棍的长度。【输出】仅一行,表示要求的原始木棍的最小可能长度。【源代码】#include<bits/stdc++.h>usi.原创 2020-06-28 18:51:06 · 807 阅读 · 3 评论 -
T1441生日蛋糕(信息学奥赛一本通)(深搜剪枝)
【问题】7月17日是Mr.W的生日,ACM-THU为此要制作一个体积为Nπ\piπ的M层生日蛋糕,每层都是一个圆柱体。设从下往上数第i(1 <= i <= M)层蛋糕是半径为RiR_iRi, 高度为HiH_iHi的圆柱。当i<M时,要求RiR_iRi > Ri+1R_{i+1}Ri+1且HiH_iHi > Hi+1H_{i+1}Hi+1。由于要在蛋糕上抹奶油,为尽可能节约经费,我们希望蛋糕外表面(最下一层的下底面除外)的面积Q最小。令Q= Sπ\piπ,请编.原创 2020-06-27 16:54:49 · 436 阅读 · 0 评论 -
T1440 数的划分(信息学奥赛一本通)
【问题】将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序)。例如:n=7,k=3,下面三种分法被认为是相同的:{1,1,5};{1,5,1};{5,1,1}问有多少种不同的分法。 输出一个整数,即不同的分法。【输入】两个整数n,k(6<n≤200,2≤k≤6),中间用单个空格隔开。【输出】一个整数,即不同的分法。【思路】可行性剪枝【源代码】#include<bits/stdc++.h>#define EPS 1e-9#define PI.原创 2020-06-27 15:28:31 · 264 阅读 · 0 评论 -
T1452 加工生产调度(信息学奥赛一本通)(贪心)
【问题】某工厂收到了 n 个产品的订单,这 n 个产品分别在 A、B 两个车间加工,并且必须先在 A 车间加工后才可以到 B 车间加工。某个产品 i 在 A,B 两车间加工的时间分别为Ai,Bi。怎样安排这 n 个产品的加工顺序,才能使总的加工时间最短。这里所说的加工时间是指:从开始加工第一个产品到最后所有的产品都已在 A,B 两车间加工完毕的时间。【输入】第一行仅—个数据 n ,表示产品的数量;接下来 n 个数据是表示这 n 个产品在 A 车间加工各自所要的时间;最后的 n 个数据是表示这.原创 2020-06-19 22:40:58 · 281 阅读 · 0 评论 -
T1424 喷水装置(信息学奥赛一本通)(贪心)
【问题】长 L 米,宽 W 米的草坪里装有 n 个浇灌喷头。每个喷头都装在草坪中心线上(离两边各 w2\frac{w}{2}2w 米)。我们知道每个喷头的位置(离草坪中心线左端的距离),以及它能覆盖到的浇灌范围。请问:如果要同时浇灌整块草坪,最少需要打开多少个喷头?【输入】输入包含若干组测试数据。第一行一个整数 T 表示数据组数;每组数据的第一行是整数 n、L 和 W;接下来的 n 行,每行包含两个整数,给出一个喷头的位置和浇灌半径(上面的示意图是样例输入第一组数据所描述的情况)。【输出.原创 2020-06-13 22:23:57 · 316 阅读 · 0 评论 -
T1423 种树(信息学奥赛一本通)(贪心)
【问题】现在我们国家开展新农村建设,农村的住房建设纳入了统一规划,统一建设,政府要求每一住户门口种些树。门口路边的地区被分割成块,并被编号成1…N。每个部分为一个单位尺寸大小并最多可种一棵树。每个居民房子门前被指定了三个号码B,E,T。这三个数表示该居民想在B和E之间最少种T棵树。当然,B≤E,居民必须记住在指定区不能种多于区域地块数的树,所以T≤E-B+l。居民们想种树的各自区域可以交叉。你的任务是求出能满足所有要求的最少的树的数量,尽量较少政府的支出。【输入】第一行包含数据N,M,区域的个数(.原创 2020-06-13 15:57:00 · 567 阅读 · 0 评论 -
T1429 线段(信息学奥赛一本通)(贪心)
【问题】在一个数轴上有n条线段,现选取其中kk条线段使得这k条线段两两没有重合部分,问最大的k为多少?【输入】第一行为一个正整数n,下面n行每行2个数字ai,bi描述每条线段。【输出】输出文件仅包括1个整数,为k的最大值【思路】贪心,这里要注意用scanf和printf,用cin和cout会超时【源代码】#include<bits/stdc++.h>using namespace std;#define ll long longstruct line{.原创 2020-06-13 13:56:06 · 527 阅读 · 0 评论 -
T1422 活动安排(信息学奥赛一本通)
【问题】设有n个活动的集合E={1,2,…,n},其中每个活动都要求使用同一资源,如演讲会场等,而在同一时间内只有一个活动能使用这一资源。每个活动i都有一个要求使用该资源的起始时间si和一个结束时间fi,且si<fi。如果选择了活动i,则它在时间区间[si,fi)内占用资源。若区间[si,fi)与区间[sj,fj)不相交,则称活动i与活动j是相容的。也就是说,当fi≤sj或fj≤si时,活动i与活动j相容。选择出由互相兼容的活动组成的最大集合。【输入】第一行一个整数n(1≤n≤1000);.原创 2020-06-13 12:59:32 · 433 阅读 · 0 评论 -
T1234 2011(信息学奥赛一本通)(分治)
【问题】已知长度最大为200位的正整数n,请求出2011n的后四位。【输入】第一行为一个正整数k,代表有k组数据(k≤200),接下来的k行,每行都有一个正整数n,n的位数≤200。【输出】每一个n的结果为一个整数占一行,若不足4位,去除高位多余的0。【输入样例】3528792【输出样例】1051815521【思路】肯定用的是分治的思想,关键是...原创 2020-03-24 22:59:37 · 770 阅读 · 1 评论 -
T1250 The Castle(信息学奥赛一本通)
【题目描述】一座城堡被分成m*n个方块(m≤50,n≤50),每个方块可有0~4堵墙(0表示无墙)。下面示出了建筑平面图:图中的加粗黑线代表墙。几个连通的方块组成房间,房间与房间之间一定是用黑线(墙)隔开的。现在要求你编一个程序,解决以下2个问题:1、该城堡中有多少个房间?2、最大的房间有多大?【输入】平面图用一个数字表示一个方块(第1个房间用二进制1011表示,0表示无东墙,用...原创 2020-02-08 16:44:08 · 525 阅读 · 0 评论 -
T1248 Dungeon Master(信息学奥赛一本通)(bfs+三维数组)
【题目描述】这题是一个三维的迷宫题目,其中用‘.’表示空地,‘#’表示障碍物,‘S’表示起点,‘E’表示终点,求从起点到终点的最小移动次数,解法和二维的类似,只是在行动时除了东南西北移动外还多了上下。可以上下左右前后移动,每次都只能移到相邻的空位,每次需要花费一分钟,求从起点到终点最少要多久。【输入】多组测试数据。一组测试测试数据表示一个三维迷宫:前三个数,分别表示层数、一个面的长和宽...原创 2020-02-08 00:35:09 · 497 阅读 · 0 评论 -
T1199 全排序(信息学奥赛一本通)
【题目描述】给定一个由不同的小写字母组成的字符串,输出这个字符串的所有全排列。我们假设对于小写字母有‘a’ <‘b’ < … <‘y’<‘z’,而且给定的字符串中的字母已经按照从小到大的顺序排列。【输入】只有一行,是一个由不同的小写字母组成的字符串,已知字符串的长度在1到6之间。【输出】输出这个字符串的所有排列方式,每行一个排列。要求字母序比较小的排列在前面。...原创 2020-02-01 16:18:24 · 1523 阅读 · 0 评论 -
T1198 逆波兰表达式(信息学奥赛一本通)
【题目描述】逆波兰表达式是一种把运算符前置的算术表达式,例如普通的表达式2 + 3的逆波兰表示法为+ 2 3。逆波兰表达式的优点是运算符之间不必有优先级关系,也不必用括号改变运算次序,例如(2 + 3) ∗\ast∗ 4的逆波兰表示法为∗\ast∗ + 2 3 4。本题求解逆波兰表达式的值,其中运算符包括+ - ∗\ast∗ /四个。【输入】输入为一行,其中运算符和运算数之间都用空格分隔...原创 2020-01-31 16:41:41 · 855 阅读 · 0 评论 -
T1195 判断整除(信息学奥赛一本通)
【题目描述】一个给定的正整数序列,在每个数之前都插入+号或−号后计算它们的和。比如序列:1、2、4共有8种可能的序列:(+1) + (+2) + (+4) = 7(+1) + (+2) + (-4) = -1(+1) + (-2) + (+4) = 3(+1) + (-2) + (-4) = -5(-1) + (+2) + (+4) = 5(-1) + (+2) + (-4) =...原创 2020-01-24 00:12:35 · 968 阅读 · 0 评论 -
T1192 放苹果(信息学奥赛一本通)
【题目描述】把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。【输入】第一行是测试数据的数目t(0≤t≤20)。以下每行均包含二个整数M和N,以空格分开。1≤M,N≤10。【输出】对输入的每组数据M和N,用一行输出相应的K。【输入样例】17 3【输出样例】8【...原创 2020-01-22 22:42:56 · 820 阅读 · 0 评论 -
T1314 过河卒(信息学奥赛一本通)
【题目描述】棋盘上A点有一个过河卒,需要走到目标B点。卒行走的规则:可以向下、或者向右。同时在棋盘上的某一点有一个对方的马(如C点),该马所在的点和所有跳跃一步可达的点称为对方马的控制点,如图3-1中的C点和P1,……,P8,卒不能通过对方马的控制点。棋盘用坐标表示,A点(0,0)、B点(n, m) (n,m为不超过20的整数),同样马的位置坐标是需要给出的,C≠A且C≠B。现在要求你计算出卒...原创 2020-01-22 00:53:21 · 625 阅读 · 0 评论 -
T1303 位数问题(信息学奥赛一本通)
【题目描述】在所有的N位数中,有多少个数中有偶数个数字3?由于结果可能很大,你只需要输出这个答案对12345取余的值。【输入】读入一个数N(N≤1000)。【输出】输出有多少个数中有偶数个数字3。【输入样例】2【输出样例】73【思路】该题是用递推方法做,求第i位,通过第i-1位来加一位数字的方法来推导即可。【源代码】#include <iostream&...原创 2020-01-22 00:02:42 · 475 阅读 · 0 评论 -
T1312 昆虫繁殖(信息学奥赛一本通)
【题目描述】科学家在热带森林中发现了一种特殊的昆虫,这种昆虫的繁殖能力很强。每对成虫过x个月产y对卵,每对卵要过两个月长成成虫。假设每个成虫不死,第一个月只有一对成虫,且卵长成成虫后的第一个月不产卵(过X个月产卵),问过Z个月以后,共有成虫多少对?0≤X≤20,1≤Y≤20,X≤Z≤50。【输入】x,y,z的数值。【输出】过Z个月以后,共有成虫对数。【输入样例】1 2 8【输...原创 2020-01-21 00:14:31 · 842 阅读 · 0 评论 -
T1190 上台阶(信息学奥赛一本通)
【题目描述】楼梯有n(71>n>0)阶台阶,上楼时可以一步上1阶,也可以一步上2阶,也可以一步上3阶,编程计算共有多少种不同的走法。【输入】输入的每一行包括一组测试数据,即为台阶数n。最后一行为0,表示测试结束。【输出】每一行输出对应一行输入的结果,即为走法的数目。【输入样例】12340【输出样例】1247【思路】该题是用递推法做的,Fib...原创 2020-01-19 23:42:12 · 1485 阅读 · 0 评论 -
T1311 求逆序对(信息学奥赛一本通)
【题目描述】给定一个序列a1a_1a1,a2a_2a2,…,ana_nan,如果存在i<j并且aia_iai>aja_jaj,那么我们称之为逆序对,求逆序对的数目。【输入】第一行为n,表示序列长度,接下来的n行,第i+1行表示序列中的第i个数。【输出】所有逆序对总数。【输入样例】43232【输出样例】3【源程序】...原创 2020-01-18 02:23:26 · 1067 阅读 · 0 评论