第二阶段题目总集
文章平均质量分 50
bugplus-free
花有重开日,人无在少年
展开
-
国王游戏NOIP
排好队后,所有的大臣都会获得国王奖赏的若干金币,每位大臣获得的金币数分别是:排在该大臣前面的所有人的左手上的数的乘积除以他自己右手上的数,然后向下取整得到的结果。国王不希望某一个大臣获得特别多的奖赏,所以他想请你帮他重新安排一下队伍的顺序,使得获得奖赏最多的大臣,所获奖赏尽可能的少。对于 100\%100% 的数据,有 1 ≤ n ≤1,000,0 < a,b < 100001≤n≤1,000,0...原创 2022-08-14 08:58:21 · 224 阅读 · 0 评论 -
Post Office
描述:There is a straight highway with villages alongside the highway. The highway is represented as an integer axis, and the position of each village is identified with a single integer coordinate. There are no two villages in the same position. The distan原创 2022-03-27 05:30:00 · 1694 阅读 · 0 评论 -
Roads in the North
描述:Building and maintaining roads among communities in the far North is an expensive business. With this in mind, the roads are build such that there is only one route from a village to a village that does not pass through some other village twice.Given原创 2022-03-24 19:26:51 · 255 阅读 · 0 评论 -
Cubist Artwork
描述:International Center for Picassonian Cubism is a Spanish national museum of cubist artworks, dedicated to Pablo Picasso. The center held a competition for an artwork that will be displayed in front of the facade of the museum building. The artwork is原创 2022-03-27 05:30:00 · 289 阅读 · 0 评论 -
Phone List
描述:Given a list of phone numbers, determine if it is consistent in the sense that no number is the prefix of another. Let's say the phone catalogue listed these numbers:Emergency 911 Alice 97 625 999 Bob 91 12 54 26In this case, it's not possible to原创 2022-03-26 05:30:00 · 532 阅读 · 0 评论 -
鸡蛋的硬度
描述:最近XX公司举办了一个奇怪的比赛:鸡蛋硬度之王争霸赛。参赛者是来自世 界各地的母鸡,比赛的内容是看谁下的蛋最硬,更奇怪的是XX公司并不使用什么精密仪器来测量蛋的硬度,他们采用了一种最老土的办法--从高度扔鸡蛋--来 测试鸡蛋的硬度,如果一次母鸡下的蛋从高楼的第a层摔下来没摔破,但是从a+1层摔下来时摔破了,那么就说这只母鸡的鸡蛋的硬度是a。你当然可以找出各种 理由说明这种方法不科学,比如同一只母鸡下的蛋硬度可能不一样等等,但是这不影响XX公司的争霸赛,因为他们只是为了吸引大家的眼球,一个个鸡蛋从1原创 2022-03-25 05:30:00 · 266 阅读 · 0 评论 -
Cows(树状数组)
k树状数组简单易懂的详解_FlushHip的博客-CSDN博客_树状数组可以参考以上文章先行理解树状数组。描述:Farmer John's cows have discovered that the clover growing along the ridge of the hill (which we can think of as a one-dimensional number line) in his field is particularly good.Farmer John原创 2022-03-22 05:30:00 · 551 阅读 · 0 评论 -
Minority
描述:You are given a stringss, consisting only of characters '0' and '1'.You have to choose a contiguous substring ofssand remove all occurrences of the character, which is a strict minority in it, from the substring.That is, if the amount of '0's i...原创 2022-03-21 05:30:00 · 266 阅读 · 0 评论 -
Number of Ways
描述:You've got arraya[1], a[2], ..., a[n], consisting ofnintegers. Count the number of ways to split all the elements of the array into three contiguous parts so that the sum of elements in each part is the same.More formally, you need to find the nu...原创 2022-03-20 05:30:00 · 200 阅读 · 0 评论 -
Til the Cows Come Home
描述:Bessie is out in the field and wants to get back to the barn to get as much sleep as possible before Farmer John wakes her for the morning milking. Bessie needs her beauty sleep, so she wants to get back as quickly as possible.Farmer John's field has原创 2022-03-13 10:31:45 · 114 阅读 · 0 评论 -
Quantity of Strings
描述:Just in case somebody missed it: this winter is totally cold in Nvodsk! It is so cold that one gets funny thoughts. For example, let's say there are strings with the length exactlyn, based on the alphabet of sizem. Any its substring with length equa..原创 2022-03-12 22:50:44 · 128 阅读 · 0 评论 -
最长上升子序列
描述:一个数的序列bi,当b1<b2< ... <bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1,a2, ...,aN),我们可以得到一些上升的子序列(ai1,ai2, ...,aiK),这里1 <=i1<i2< ... <iK<= N。比如,对于序列(1, 7, 3, 5, 9, 4, 8),有它的一些上升子序列,如(1, 7), (3, 4, 8)等等。这些子序列中最长的长度是4,比如子序列(1, 3, 5, ...原创 2021-12-27 15:48:32 · 420 阅读 · 0 评论 -
月度开销(二分算法)
描述:农夫约翰是一个精明的会计师。他意识到自己可能没有足够的钱来维持农场的运转了。他计算出并记录下了接下来N(1 ≤N≤ 100,000) 天里每天需要的开销。约翰打算为连续的M(1 ≤M≤N) 个财政周期创建预算案,他把一个财政周期命名为fajo月。每个fajo月包含一天或连续的多天,每天被恰好包含在一个fajo月里。约翰的目标是合理安排每个fajo月包含的天数,使得开销最多的fajo月的开销尽可能少。输入:第一行包含两个整数N,M,用单个空格隔开。接下来N行,每...原创 2021-12-27 15:48:22 · 579 阅读 · 0 评论 -
熄灯问题(位运算)
描述有一个由按钮组成的矩阵,其中每行有6个按钮,共5行。每个按钮的位置上有一盏灯。当按下一个按钮后,该按钮以及周围位置(上边、下边、左边、右边)的灯都会改变一次。即,如果灯原来是点亮的,就会被熄灭;如果灯原来是熄灭的,则会被点亮。在矩阵角上的按钮改变3盏灯的状态;在矩阵边上的按钮改变4盏灯的状态;其他的按钮改变5盏灯的状态。在上图中,左边矩阵中用X标记的按钮表示被按下,右边的矩阵表示灯状态的改变。对矩阵中的每盏灯设置一个初始状态。请你按按钮,直至每一盏等都熄灭。与一盏灯毗邻的多个按钮被按下时.原创 2021-12-27 15:48:41 · 153 阅读 · 0 评论 -
算24(中等)
描述:给出4个小于10个正整数,你可以使用加减乘除4种运算以及括号把这4个数连接起来得到一个表达式。现在的问题是,是否存在一种方式使得得到的表达式的结果等于24。这里加减乘除以及括号的运算结果和运算的优先级跟我们平常的定义一致(这里的除法定义是实数除法)。比如,对于5,5,5,1,我们知道5 * (5 – 1 / 5) = 24,因此可以得到24。又比如,对于1,1,4,2,我们怎么都不能得到24。输入:输入数据包括多行,每行给出一组测试数据,包括4个小于10个正整数。最后一组测试数据中包括原创 2021-12-27 15:48:50 · 97 阅读 · 0 评论 -
数字三角形(递推)
描述73 88 1 02 7 4 44 5 2 6 5(图1)图1给出了一个数字三角形。从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,你的任务就是找到最大的和。注意:路径上的每一步只能从一个数走到下一层上和它最近的左边的那个数或者右边的那个数。输入输入的是一行是一个整数N (1 < N <= 100),给出三角形的行数。下面的N行给出数字三角形。数字三角形上的数的范围都在0和10原创 2021-12-27 15:49:28 · 174 阅读 · 0 评论 -
数字三角形(递归)
描述73 88 1 02 7 4 44 5 2 6 5(图1)图1给出了一个数字三角形。从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,你的任务就是找到最大的和。注意:路径上的每一步只能从一个数走到下一层上和它最近的左边的那个数或者右边的那个数。输入输入的是一行是一个整数N (1 < N <= 100),给出三角形的行数。下面的N行给出数字三角形。数字三角形上的数的范围都在0和10原创 2021-12-27 15:49:42 · 401 阅读 · 0 评论 -
输出前k小的数
描述:给定一个数组,统计前k小的数并且把这k个数从小到大输出。输入:第一行包含一个整数n,表示数组的大小。n < 100000。第二行包含n个整数,表示数组的元素,整数之间以一个空格分开。每个整数的绝对值不超过100000000。第三行包含一个整数k。k < n。输出:从小到大输出前k小的数,每个数一行。样例输入:104 5 6 9 8 7 1 2 3 05样例输出:01234...原创 2021-12-27 15:50:00 · 177 阅读 · 0 评论 -
输出前k大的数
描述:给定一个数组,统计前k大的数并且把这k个数从大到小输出。输入:第一行包含一个整数n,表示数组的大小。n < 100000。第二行包含n个整数,表示数组的元素,整数之间以一个空格分开。每个整数的绝对值不超过100000000。第三行包含一个整数k。k < n。输出:从大到小输出前k大的数,每个数一行。样例输入:104 5 6 9 8 7 1 2 3 05样例输出:98765#include<iostream>#inc原创 2021-12-27 15:49:51 · 168 阅读 · 0 评论 -
全排列(深度递归)
描述:给定一个由不同的小写字母组成的字符串,输出这个字符串的所有全排列。 我们假设对于小写字母有'a' < 'b' < ... < 'y' < 'z',而且给定的字符串中的字母已经按照从小到大的顺序排列。输入:输入只有一行,是一个由不同的小写字母组成的字符串,已知字符串的长度在1到6之间。输出:输出这个字符串的所有排列方式,每行一个排列。要求字母序比较小的排列在前面。字母序如下定义:已知S = s1s2...sk, T = t1t2...tk,则S < .原创 2021-12-28 22:42:47 · 63 阅读 · 0 评论 -
求排列的逆序数
描述:在Internet上的搜索引擎经常需要对信息进行比较,比如可以通过某个人对一些事物的排名来估计他(或她)对各种不同信息的兴趣,从而实现个性化的服务。对于不同的排名结果可以用逆序来评价它们之间的差异。考虑1,2,…,n的排列i1,i2,…,in,如果其中存在j,k,满足 j < k 且ij> ik, 那么就称(ij,ik)是这个排列的一个逆序。一个排列含有逆序的个数称为这个排列的逆序数。例如排列 263451 含有8个逆序(2,1),(6,3),(6,4),(6,5),(6,..原创 2021-12-28 22:42:55 · 886 阅读 · 0 评论 -
派(高精度)
描述我的生日要到了!根据习俗,我需要将一些派分给大家。我有N个不同口味、不同大小的派。有F个朋友会来参加我的派对,每个人会拿到一块派(必须一个派的一块,不能由几个派的小块拼成;可以是一整个派)。我的朋友们都特别小气,如果有人拿到更大的一块,就会开始抱怨。因此所有人拿到的派是同样大小的(但不需要是同样形状的),虽然这样有些派会被浪费,但总比搞砸整个派对好。当然,我也要给自己留一块,而这一块也要和其他人的同样大小。请问我们每个人拿到的派最大是多少?每个派都是一个高为1,半径不等的圆柱体。输入第原创 2021-12-27 15:48:07 · 90 阅读 · 0 评论 -
爬楼梯(简单递归)
描述:树老师爬楼梯,他可以每次走1级或者2级,输入楼梯的级数,求不同的走法数例如:楼梯一共有3级,他可以每次都走一级,或者第一次走一级,第二次走两级也可以第一次走两级,第二次走一级,一共3种方法。输入:输入包含若干行,每行包含一个正整数N,代表楼梯级数,1 <= N <= 30输出:不同的走法数,每一行输入对应一行输出样例输入:5810样例输出:83489#include<iostream>using namespace s原创 2021-12-27 15:47:57 · 772 阅读 · 0 评论 -
逆波兰表达式
描述:逆波兰表达式是一种把运算符前置的算术表达式,例如普通的表达式2 + 3的逆波兰表示法为+ 2 3。逆波兰表达式的优点是运算符之间不必有优先级关系,也不必用括号改变运算次序,例如(2 + 3) * 4的逆波兰表示法为* + 2 3 4。本题求解逆波兰表达式的值,其中运算符包括+ - * /四个。输入:输入为一行,其中运算符和运算数之间都用空格分隔,运算数是浮点数。输出:输出为一行,表达式的值。可直接用printf("%f\n", v)输出表达式的值v。样例输入:* + 1原创 2021-12-26 10:20:17 · 124 阅读 · 0 评论 -
矩形分割(中等)
描述:平面上有一个大矩形,其左下角坐标(0,0),右上角坐标(R,R)。大矩形内部包含一些小矩形,小矩形都平行于坐标轴且互不重叠。所有矩形的顶点都是整点。要求画一根平行于y轴的直线x=k(k是整数),使得这些小矩形落在直线左边的面积必须大于等于落在右边的面积,且两边面积之差最小。并且,要使得大矩形在直线左边的的面积尽可能大。注意:若直线穿过一个小矩形,将会把它切成两个部分,分属左右两侧。输入:第一行是整数R,表示大矩形的右上角坐标是(R,R) (1 <= R <= 1,000,00.原创 2021-12-26 10:15:28 · 341 阅读 · 0 评论 -
简单的整数划分问题
描述:将正整数n表示成一系列正整数之和,n=n1+n2+…+nk,其中n1>=n2>=…>=nk>=1,k>=1。正整数n的这种表示称为正整数n的划分。正整数n的不同的划分个数称为正整数n的划分数。输入:标准的输入包含若干组测试数据。每组测试数据是一个整数N(0 < N <= 50)。输出:对于每组测试数据,输出N的划分数。样例输入:5样例输出:7注释:5, 4+1, 3+2, 3+1+1, 2+2+...原创 2021-12-26 10:13:42 · 105 阅读 · 0 评论 -
河中跳房子
描述:每年奶牛们都要举办各种特殊版本的跳房子比赛,包括在河里从一个岩石跳到另一个岩石。这项激动人心的活动在一条长长的笔直河道中进行,在起点和离起点L远(1 ≤L≤ 1,000,000,000) 的终点处均有一个岩石。在起点和终点之间,有N(0 ≤N≤ 50,000) 个岩石,每个岩石与起点的距离分别为Di(0 <Di<L)。#include<iostream>using namespace std;int sum1,sum2,sum3,result=0...原创 2021-12-26 10:12:14 · 176 阅读 · 0 评论 -
公共子序列
描述:我们称序列Z = < z1, z2, ..., zk>是序列X = < x1, x2, ..., xm>的子序列当且仅当存在严格上升的序列< i1, i2, ..., ik>,使得对j = 1, 2, ... ,k, 有xij= zj。比如Z = < a, b, f, c > 是X = < a, b, c, f, b, c >的子序列。现在给出两个序列X和Y,你的任务是找到X和Y的最大公共子序列,也就是说要找到一个最长的序列Z,使得Z既是X的子序列也是Y的子序列。原创 2021-12-26 10:10:42 · 99 阅读 · 0 评论 -
放苹果(简单递归)
描述:把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。原创 2021-12-26 10:08:54 · 107 阅读 · 0 评论 -
简单算术表达式求值
描述:两位正整数的简单算术运算(只考虑整数运算),算术运算为:+,加法运算;-,减法运算;*,乘法运算;/,整除运算;%,取余运算。原创 2021-12-26 10:06:47 · 1922 阅读 · 0 评论 -
汉诺塔问题
描述:约19世纪末,在欧州的商店中出售一种智力玩具,在一块铜板上有三根杆,最左边的杆上自上而下、由小到大顺序串着由64个圆盘构成的塔。目的是将最左边杆上的盘全部移到中间的杆上,条件是一次只能移动一个盘,且不允许大盘放在小盘的上面。这是一个著名的问题,几乎所有的教材上都有这个问题。由于条件是一次只能移动一个盘,且不允许大盘放在小盘上面,所以64个盘的移动次数是:18,446,744,073,709,551,615这是一个天文数字,若每一微秒可能计算(并不输出)一次移动,那么也需要几乎一百万年。我们仅能找原创 2021-12-15 23:39:45 · 363 阅读 · 0 评论 -
N皇后问题
描述国际象棋的棋盘是由8×8共64个方格构成,棋子放在方格里面。如果两个皇后棋子在同一行、同一列,或者在某个正方形的对角线上,那么这两个皇后就会互相攻击。请在棋盘上摆放8个皇后,使得它们都不会互相攻击。这是经典的8皇后问题。现在要解决N皇后问题:将N个皇后摆放在一个N行N列的国际象棋棋盘上,要求任何两个皇后不能互相攻击。输入皇后数N(1<=N<=9),输出所有的摆法。无解输出"NO ANSWER"。行列号都从0开始算。输入一个整数N,表示要把N个皇后摆放在一个N行N列的国际象棋棋盘上输出原创 2021-12-26 09:51:42 · 609 阅读 · 4 评论 -
2的幂次方表示
描述任何一个正整数都可以用2的幂次方表示。例如:137=27+23+20同时约定方次用括号来表示,即ab可表示为a(b)。由此可知,137可表示为:原创 2021-12-26 09:58:33 · 318 阅读 · 0 评论 -
Boolean Expressions
描述The objective of the program you are going to produce is to evaluate boolean expressions as the one shown next:Expression: ( V | V ) & F & ( F | V )原创 2021-12-26 10:01:58 · 203 阅读 · 0 评论