![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
csp复赛
于楷力——一个成绩优异的男同学……
一个超帅帅哥-于楷力,最爱编C++。
展开
-
分糖果(candy)
【题目描述】红太阳幼儿园的小朋友们开始分糖果啦!红太阳幼儿园有 nn 个小朋友,你是其中之一。保证 n≥2n≥2。有一天你在幼儿园的后花园里发现无穷多颗糖果,你打算拿一些糖果回去分给幼儿园的小朋友们。由于你只是个平平无奇的幼儿园小朋友,所以你的体力有限,至多只能拿 RR 块糖回去。但是拿的太少不够分的,所以你至少要拿 LL 块糖回去。保证 n≤L≤Rn≤L≤R。也就是说,如果你拿了 kk 块糖,那么你需要保证 L≤k≤RL≤k≤R。如果你拿了 kk 块糖,你将把这 kk 块糖放到篮子里,并要求原创 2021-12-11 18:22:16 · 430 阅读 · 0 评论 -
登山
【题目描述】五一到了,ACM队组织大家去登山观光,队员们发现山上一共有N个景点,并且决定按照顺序来浏览这些景点,即每次所浏览景点的编号都要大于前一个浏览景点的编号。同时队员们还有另一个登山习惯,就是不连续浏览海拔相同的两个景点,并且一旦开始下山,就不再向上走了。队员们希望在满足上面条件的同时,尽可能多的浏览景点,你能帮他们找出最多可能浏览的景点数么?【输入】第一行:N (2 <= N <= 1000) 景点数;第二行:N个整数,每个景点的海拔。【输出】最多能浏览的景点数。【输入样例原创 2021-10-19 14:16:17 · 97 阅读 · 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,8)。你的任务,就是对于给定的序列,求出最长下降子序列的长度。【输入】输入的第一行原创 2021-10-19 14:14:23 · 346 阅读 · 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,8)。你的任务,就是对于给定的序列,求出最长上升子序列的长度。【输入】输入的第一行是序列的长原创 2021-10-19 14:10:58 · 111 阅读 · 0 评论 -
直播获奖
NOI2130 即将举行。为了增加观赏性,CCF 决定逐一评出每个选手的成绩,并直播即时的获奖分数线。本次竞赛的获奖率为 w%,即当前排名前 w% 的选手的最低成绩就是即时的分数线。更具体地,若当前已评出了 p 个选手的成绩,则当前计划获奖人数为 max(1,⌊p∗w%⌋),其中 w 是获奖百分比,⌊x⌋ 表示对 x 向下取整,max(x,y) 表示 x 和 y 中较大的数。如有选手成绩相同,则所有成绩并列的选手都能获奖,因此实际获奖人数可能比计划中多。作为评测组的技术人员,请你帮 CCF 写一个直播程原创 2021-10-08 13:48:34 · 149 阅读 · 0 评论 -
小李打怪兽
题目描述小李对故乡的思念全部化作了对雾霾天气的怨念,这引起了掌控雾霾的邪神的极大不满,邪神派去了一只小怪兽去对付小李,由于这只怪兽拥有极高的IQ,它觉得直接消灭小李太没有难度了,它决定要和小李在智力水平上一较高下。我们可否帮助小李来战胜强大的怪兽呢?问题是这样的:给定一堆正整数,要求你分成两堆,两堆数的和分别为S1和S2,谁分的方案使得S1S1-S2S2的结果小(规定S1>=S2),谁就将获得胜利。注:S2可以等于0。输入第一行n,表示共有n个数第二行共n个用空格隔开的正整数ai,表示给定转载 2021-10-04 19:14:53 · 253 阅读 · 0 评论 -
并查集基本~套路~
三目运算符,不会点这里;int find(int x){ return x==f[x]?x:f[x]=find(f[x]);}if版;int find(int x){ if(x==f[x]) return x; else return f[x]=find(f[x]);}原创 2021-10-04 18:38:20 · 79 阅读 · 0 评论 -
完全背包问题和优化
原版for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) if(j<w[i]) d[i][j]=dp[i-1][j]; else dp[i][j]=max(dp[i-1][j],dp[i][j-w[i]]+v[i]);优化for(int i=1;i<=n;i++) for(int j=w[i];j<=t;j++) dp[j]=max(dp[j],dp[j-w[i]]+v[i]);...原创 2021-10-04 11:49:24 · 59 阅读 · 0 评论 -
关于01背包和优化
原版for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) if(j<w[i]) d[i][j]=dp[i-1][j]; else dp[i][j]=max(dp[i-1][j],dp[i-1][j-w[i]]+v[i]);优化版for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) if(j<w[i]) d[i][j]=dp[i-1][j];原创 2021-10-04 11:36:36 · 52 阅读 · 0 评论 -
工资和税收
题目描述由于Ivy程序设计能力超强,所以被NBA联盟看中并为其工作。Ivy的主要工作是根据联盟需要开发程序。今天Ivy要编写的程序是资金预算。按照NBA联盟规定,每个球队的工资总额一旦超过奢侈税起征点,超出的部分就将按1比1征税。也就是说每超出1美元,就要支付给联盟1美元奢侈税。比如说起征点是6000万美元,而球队付给球员的工资总额是7000万美元,那么球队在工资上将要花费8000万美元(其中支付球员的工资是7000万美元,而支付给联盟的奢侈税是1000万美元)。Ivy因有其他更重要的事情,所以想请你原创 2021-01-27 18:41:17 · 287 阅读 · 0 评论 -
沙盘游戏
题目描述Ivy是如此地喜欢编程,以至于在面对游戏时也是如此。在沙盘游戏中有一个巨大的方形沙盘(长方形或者正方形),该沙盘被分隔成边长为1的小方格,每个小方格内有一个整数。沙盘玩家需要在沙盘中圈出一个方形(长方形或者正方形都可以)的区域(必须沿着小方格的边界划线,不能穿过小方格的内部),目标是争取被圈区域内的整数之和最大。为了描述方便,Ivy把这个沙盘用nm个整数来表示,每个整数所在位置表示沙盘中一个边长为1的小方格。Ivy现在需要编程解决这样一个问题:在nm(n行m列)个整数中选择一个xy(x行y列)原创 2021-01-27 18:37:14 · 1427 阅读 · 1 评论 -
乘积根(gen)
题目描述一个整数的数字乘积根是这样得到的:将此整数中的非零数字相乘,得到的结果再重复上述运算,直到只有一位数为止,此一位数即为原整数的数字乘积根。例如:整数99,99→9×9=81→8×1=8,8即为99的乘积根。输入一个n位的整数(n≤255)。输出有若干行,每行显示每次数字相乘之后的结果,最后一行只有一个一位数,即n的乘积根。样例输入 Copy99样例输出 Copy818提示【输入输出样例】输入输出样例199818样例212036#include<bit原创 2021-01-24 10:55:55 · 681 阅读 · 0 评论 -
贝贝与国王(king)
题目描述传说古代印度有个喜欢下棋的国王叫舍罕,而宰相贝贝是个聪明的大臣,发明了国际象棋。国王玩得爱不释手,决定奖赏宰相。贝贝说:陛下,我别无他求,请你在这张棋盘的第一个格子里赏我一粒麦子;在第2个格子里赏我2粒麦子;在第3个格子里赏我4粒麦子;在第4个格子里赏我8粒麦子……依此类推直到100个格子,按这张棋盘上各格应赏的麦子全赏给我吧。国王听了,觉得贝贝的要求并不高,说道:你能如愿以偿的。然而,国王却不知道这个数字是多么巨大啊!你能帮助国王算算第n个格子的麦粒数量吗?输入正整数n(n<101)原创 2021-01-24 10:56:06 · 400 阅读 · 0 评论 -
密码(password)
题目描述人们在做一个破译密码游戏:有两支密码棒分别是红色和蓝色,把红色密码棒上的数字减去蓝色密码棒上的数字,就是开启密码锁的密码。现已知密码棒上的数字位数不超过20000位,请在一秒内求出密码。输入2行,每行有一个正整数。输出一个正整数,为输入的两个正整数中较大者减去较小者的差值。样例输入 Copy13547767122样例输出 Copy68355提示【输入输出样例】输入输出样例11354776712268355样例26712213547768355【数据规模】原创 2021-01-24 10:56:13 · 1927 阅读 · 0 评论 -
蜜蜂路线(bee)
题目描述一只蜜蜂在图5.1-2所示的数字蜂房上爬动,已知它只能从标号小的蜂房爬到标号大的相邻蜂房,现在问你:蜜蜂从蜂房M开始爬到蜂房N ,1≤M<N≤1000,有多少种爬行路线?输入M,N的值。输出爬行路线种数。样例输入 Copy1 14样例输出 Copy377#include<bits/stdc++.h>using namespace std;int a,b,c,c1,c2;int n[100000],n1[100000],n2[100000];void j(原创 2021-01-24 10:56:36 · 1403 阅读 · 2 评论 -
排队
题目描述洛洛在外出旅游的时候发现社会上文明的现象越来越多,人们在买票的时候都会自发地排队等候。遗憾的是排队的人身高参差不齐,有时候前后两人之间的身高相差太大,缺乏一些美感。如果把前后两人的身高差(差值为正数)表示为两者前后相邻时产生的违和度,一段连续的人群因为前后两人身高不同而产生的违和度之和就可以被称为违和值。洛洛希望知道在队伍哪一段,且该段队伍由连续的m个人组成,其违和值最小。【输入】第一行输入两个正整数 n,m,n表示队伍的总人数,m表示某一段的人数。第二行输入n个整数,表示队伍中n个人的原创 2021-01-24 10:57:17 · 896 阅读 · 3 评论 -
花坛
题目描述【问题描述】洛洛在散步的时候,看到公园的正方形花坛里开放着许多他不认识的花卉。仔细观察之后,他又发现这些花的种植位置是有规律的。洛洛发现在正方形花坛的最外层,即第一层上的花都是同一颜色;而花坛的第二层,花的颜色又都是一样的……正方形花坛由若干层花构成,同一层上的花都是同一颜色的,不同层之间的花颜色不一定相同。如下图所示,是一个具有三层花的正方形花坛:在回到家后,洛洛还记得花坛有几层花围成,以及每层花的颜色,花的颜色用英文大小写字母来表示。但是洛洛忘记了整个花坛的图像,洛洛希望你根据他的描述,原创 2021-01-24 10:58:11 · 752 阅读 · 1 评论 -
多面骰子
题目描述【问题描述】洛洛现在手上有三颗多面骰子,多面骰子不是常见的六面骰子,而是33面骰子、100面骰子……一般来说,i面骰子每个面上的点数分别是1,2,3,……i。洛洛手上的三颗骰子的面数可能并不相同,他想知道掷出三颗骰子的所有情况中,三颗骰子的点数之和出现最多次数是几点。如果存在多个点数之和出现次数相同的情况,则按点数之和从小到大顺序输出。【输入】第一行输入三个整数 n1, n2, n3,分别表示三颗骰子各自的面数。【输出】输出一行含任意个整数,分别表示次数最多的点数之和,用空格隔开。原创 2021-01-25 19:07:41 · 2337 阅读 · 0 评论 -
听歌识曲
题目描述【问题描述】洛洛有一份私人歌单,歌单里面塞满了他喜欢的歌曲,像夏恋、雨道、彩月、幻昼……整整有好几百首。洛洛每天都要把他的歌单听一遍,以致于他都能知道在什么时候放的是什么歌。洛洛在向你推荐了他的歌单之后,决定考考你,从他的歌单开始播放起,第 t 秒正在播放的是第几首歌。【输入文件】第一行输入两个整数 n 和 t,分别表示歌单的歌曲总数以及第 t 秒播放哪首歌。第二行有 n 个整数,A1, A2,…, An,分别表示歌单的第 i 首歌将会播放多长时间。【输出文件】输出一个整数,表示歌单原创 2021-01-25 19:07:58 · 1026 阅读 · 1 评论 -
考试
考试【问题描述】今天是星期天。小L是ASDFZ的学生。新学期,小L整理了一下时间安排表。发现下学期要考n次试。小L每场考试都能一次性通过,另外也可以一天考好几场试。根据这张统一的时间安排表,一个学生可以在第Ai天参加第i门课的考试。然而,小L和老师商量,可以将第i门课的考试提前至第Bi天进行(Bi<Ai)。所以,小L可以在第Ai天或Bi天进行第i门课的考试。但是老师记录成绩的时候是按第Ai天算。比方说有一门课应该第3天考,但小L第2天就考了,老师记录的时候,就在小L记录本的最后加一行,小L第原创 2021-01-25 19:08:15 · 130 阅读 · 0 评论 -
围墙重建
题目描述为了给同学们营造一个良好的学习环境和方便学校的管理,市政府准备对小W就读的学校进行重新规划,占地面积将再次扩大。学校通过领导会议决定,重建学校的围墙。由于学校太大,重建围墙也不是一件小项目,学校决定请专门的建筑公司来建筑。许多建筑公司从网上得知这个消息后,纷纷来到学校,找到学校领导,对自己公司进行介绍,并希望能接下这个项目。学校领导对很多家公司印象都还不错,难以取舍,为了公平,学校决定通过竞标决定把这个项目交给哪家公司负责。这次竞标是由学校自主决定的,不但要注重建筑实力,而且还要看建筑公司是否有原创 2021-01-25 19:09:10 · 765 阅读 · 5 评论 -
数字蜂房
题目描述一只蜜蜂在下图所示的数字蜂房上爬动,已知它只能从标号小的蜂房爬到标号大的相邻蜂房,现在问你:蜜蜂从蜂房M开始爬到蜂房N(M<N),共有多少种不同的爬行路线?输入只有一行,是2个用空格隔开的整数M,N(1<=M,N<=60)。输出只有1行,1个整数,即有多少种爬行路线。样例输入 Copy1 14样例输出 Copy377#include<bits/stdc++.h>using namespace std;long long a,b,c[1000];原创 2021-01-25 19:09:33 · 668 阅读 · 2 评论 -
贝茜式乘法
题目描述做厌了乘法计算题的贝茜,自创了一种新的乘法运算法则。在这套法则里,AB等于一个取自A、一个取自B的所有数字对的乘积的和。比方说,12345等于14 + 15 + 24 + 25 + 34 + 35 = 54。对于2个给定的数A、B(1<=A,B<=长整型最大数),你的任务是,用新的乘法法则计算AB的值。输入只有一行,是2个用空格隔开的整数A、B.输出只有1行,1个整数,即新的乘法法则下AB的值.样例输入 Copy123 45样例输出 Copy54#include&l原创 2021-01-25 19:09:55 · 882 阅读 · 2 评论 -
奶牛塔
题目描述John最近为奶牛们的图书馆添置了一个巨大的书架,尽管它是如此的大,但它还是几乎瞬间就被各种各样的书塞满了。现在,只有书架的顶上还留有一点空间。所有n(1<=n<=2000)头奶牛都有一个确定的身高Hi(1<=Hi<=1000)。设所有奶牛身高的和为s。书架的高度为b,并且一定保证1<=b<=s<2000000。为了够到比最高的那头奶牛还要高的书架顶,奶牛们不得不象演杂技一般,一头站在另一头的背上,叠成一座“奶牛塔”。当然,这个塔的高度,就是塔中所有奶原创 2020-12-20 11:17:12 · 740 阅读 · 1 评论 -
机器人的逻辑
【问题描述】2035年,智能机器人在各行各业中的应用已经十分普遍了,毕竟它做事时的精度与力量比一个普通人是强多了。王涛的运输队里就有一个,是用来装卸货物的。这天,他们的任务是要把n根废旧的条形钢材运送到钢铁厂重新冶炼。这些钢材长短不同(有些还特别的长),为了便于运输,只好把它们切割成小段。所以,他给机器人的任务是:把这些钢材切割并装上卡车。等机器人做完这事的时候,王涛一看结果,自己都被逗笑了:机器人的逻辑就是和人不同啊——装在车上的所有小段的钢材,居然长度都是一样的(以米为单位),而且,还是所有可行原创 2021-01-25 19:10:05 · 1394 阅读 · 1 评论 -
魔 方
题目描述魔方大家都玩过吧?常见的魔方,每边上有3个小正方体,如下图所示:我们把魔方每边上的小正方体数量,叫魔方的“阶”,所以,常见的魔方叫“3阶魔方”。不过,魔方可不是只有3阶的,还有2、4、5……阶的呢,如下图所示:观察所有的魔方,你会发现,我们可以把魔方表面上的小正方体分为三类:第一类:有三个面露在外面的;第二类:有两个面露在外面的;第三类:有一个面露在外面的。当然,这三类小正方体的数量会随着魔方阶的不同而不同。你的任务就是计算一下,对于给定阶数的魔方,这三类小正方体分别有多少个?输入原创 2020-12-20 11:12:40 · 264 阅读 · 1 评论 -
允许并列的排名
题目描述在我们参加的各种竞赛中,允许并列的排名方式是经常遇到的。例如有四名选手的成绩分别为50、80、50、30分,则80分的选手为第一名,50分的两名选手均为第二名,30分的选手为第四名。请你编写一个程序,计算一个选手在这种排名方式之下的名次(分数高的选手排前面)。输入第一行为一个整数n,表示参赛的选手数,1<=n<=100;第二行为n个整数,表示每位选手的成绩;第三行为一个整数,表示要查询名次的选手的成绩。输出文件中只有一个整数,表示该选手的名次。样例输入 Copy4原创 2020-12-20 11:10:34 · 1984 阅读 · 2 评论