- 博客(18)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
转载 2020年csp-j入门级复赛真题,题解,程序
以下给出:2020年csp-j入门级复赛真题,题解,以及程序。优秀的拆分(power)【题目描述】般来说,一个正整数可以拆分成若干个正整数的和。例如,1=1,10=1+2+3+4等。对于正整数n的一种特定拆分,我们称它为“优秀的",当且仅当在这种拆分下,n被分解为了若干个丕同的2的正整数次幂。注意,一个数x能被表示成2的正整数次幂,当且仅当x能通过正整数个2相乘在一起得到。例如,10=8+2=23+21是一个优秀的拆分。但是,7=4+2+1=2+21+20就不是一个优秀的拆分,因为1不是2的正整数次
2020-11-24 21:02:54
8504
原创 工资和税收
题目描述由于Ivy程序设计能力超强,所以被NBA联盟看中并为其工作。Ivy的主要工作是根据联盟需要开发程序。今天Ivy要编写的程序是资金预算。按照NBA联盟规定,每个球队的工资总额一旦超过奢侈税起征点,超出的部分就将按1比1征税。也就是说每超出1美元,就要支付给联盟1美元奢侈税。比如说起征点是6000万美元,而球队付给球员的工资总额是7000万美元,那么球队在工资上将要花费8000万美元(其中支付球员的工资是7000万美元,而支付给联盟的奢侈税是1000万美元)。Ivy因有其他更重要的事情,所以想请你
2021-01-17 21:48:59
479
原创 “简单计算“
题目描述计算机的基本功能是计算,作为一个计算机爱好者,Ivy当然知道如何编写一个计算机程序,让计算机能进行简单的计算。之所以简单,因为Ivy的程序只需根据输入的两个正整数,根据要求计算这两个数的和或者差即可(所有输入数据确保x>=y)。输入输入共有三行。第一行包含一个正整数x,第二行包含一个正整数y,第三行包含一个算术运算符(加号或者减号)。输出只有一行,表示将输入的两个正整数根据运算符进行计算后所得结果(两数之和或者之差)。样例输入 Copy251249+样例输出 Copy5
2021-01-17 21:47:11
290
原创 步步夺金
题目描述Ivy所在的公司想推出一款手机APP“步步夺金”,该APP可以统计用户每天走路的步数,并给予相应的“金币”奖励。在用户的“金币”达到一定数量后,就可以在公司的网站上兑换一定的体育用品。根据走路步数x奖励金币的规则如下:1、每天的前1000步可领取0.3金币(若未达到1000步则领取数量为零),之后的每2000步能领取0.1金币。为了引导用户适量运动,每天领取的金币数量不能超过3。2、用户只有在APP中点击“签到”才能领取当天步数对应的金币。3、为了让用户能够每天坚持使用该APP,在用户连续
2021-01-17 21:45:48
782
原创 登山
登山五一到了,PKU-ICPC队组织大家去登山观光,队员们发现山上一个有N个景点,并且决定按照顺序来浏览这些景点,即每次所浏览景点的编号都要大于前一个浏览景点的编号。同时队员们还有另一个登山习惯,就是不连续浏览海拔相同的两个景点,并且一旦开始下山,就不再向上走了。队员们希望在满足上面条件的同时,尽可能多的浏览景点,你能帮他们找出最多可能浏览的景点数么?时间限制:5000内存限制:131072输入Line 1: N (2 <= N <= 1000) 景点数 Line 2: N个整数,每个
2020-11-25 21:16:26
373
原创 最大上升子序列和
最大上升子序列和一个数的序列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)等等。这些子序列中序列和最大为18,为子序列(1, 3, 5, 9)的和.
2020-11-25 21:15:22
273
原创 摆花(Flower arrangement)(NOIP 2012 普及组 第三题)
题目描述小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共m盆。通过调查顾客的喜好,小明列出了顾客最喜欢的n种花,从1到n标号。为了在门口展出更多种花,规定第i种花不能超过a_i盆,摆花时同一种花放在一起,且不同种类的花需按标号的从小到大的顺序依次摆列。试编程计算,一共有多少种不同的摆花方案。输入格式第一行包含两个正整数n和m,中间用一个空格隔开。第二行有n个整数,每两个整数之间用一个空格隔开,依次表示a_1,a_2,…,a_n 。输出格式一个整数,表示有多少种方案。注意:因为方案
2020-11-24 21:32:26
208
原创 采药(Herbalism)(NOIP2005复赛普及组第三题)
题目描述辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。”如果你是辰辰,你能完成这个任务吗?输入格式第一行有 22 个整数 TT(1 \le T \le 10001≤T≤1000
2020-11-24 20:31:04
975
原创 P2758 编辑距离
代码#include<bits/stdc++.h>//I AM BACK!!! 我又回来辣!using namespace std;int dp[55][10],n,m;int main(){cin>>n>>m;dp[0][0]=1;for(int i=1;i<=n;i++){for(int j=0;j<m;j++)dp[i][0]+=dp[i-1][j];for(int j=1;j<m;j++)dp[i][j]=dp[i-1][.
2020-11-17 20:42:44
81
原创 小学生dp题
简单 dp1.摆花问题题目描述小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共m盆。通过调查顾客的喜好,小明列出了顾客最喜欢的n种花,从1到n标号。为了在门口展出更多种花,规定第i种花不能超过ai盆,摆花时同一种花放在一起,且不同种类的花需按标号的从小到大的顺序依次摆列。试编程计算,一共有多少种不同的摆花方案。输入输入共2行。第一行包含两个正整数n和m,中间用一个空格隔开。第二行有n个整数,每两个整数之间用一个空格隔开,依次表示a1、a2、……an。输出输出只有一行,一个整
2020-11-03 21:36:59
184
原创 DP “单身狗”
“单身狗”是中文对于单身人士的一种爱称。本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱。输入格式:输入第一行给出一个正整数 N(≤ 50 000),是已知夫妻/伴侣的对数;随后 N 行,每行给出一对夫妻/伴侣——为方便起见,每人对应一个 ID 号,为 5 位数字(从 00000 到 99999),ID 间以空格分隔;之后给出一个正整数 M(≤ 10 000),为参加派对的总人数;随后一行给出这 M 位客人的 ID,以空格分隔。题目保证无人重婚或脚踩两条船。输出格式:首先第一行输出落单客
2020-11-03 21:29:53
199
原创 普及组 花生采摘
题目描述鲁宾逊先生有一只宠物猴,名叫多多。这天,他们两个正沿着乡间小路散步,突然发现路边的告示牌上贴着一张小小的纸条:“欢迎免费品尝我种的花生!——熊字”。鲁宾逊先生和多多都很开心,因为花生正是他们的最爱。在告示牌背后,路边真的有一块花生田,花生植株整齐地排列成矩形网格(如图1)。有经验的多多一眼就能看出,每棵花生植株下的花生有多少。为了训练多多的算术,鲁宾逊先生说:“你先找出花生最多的植株,去采摘它的花生;然后再找出剩下的植株里花生最多的,去采摘它的花生;依此类推,不过你一定要在我限定的时间内回到路边
2020-11-01 10:25:05
175
原创 BubbleSort 改编版的改编
#include<bits/stdc++.h>using namespace std;const int MAXN=1000;int FLAG,n,L[MAXN],k;int BubbleSort(){FLAG=n;while(FLAG>1){k=FLAG-1;FLAG=1;for(int j=1;j<=k;j++){if(L[j]>L[j+1]){swap(L[j],L[j+1]);FLAG=j;} }}}int main(){c
2020-10-12 17:18:22
66
原创 BubbleSort 改编版
#include<bits/stdc++.h>#include<windows.h>using namespace std;const int MAXN=1000;int FLAG,n,L[MAXN],k;int BubbleSort(){FLAG=n;while(FLAG>1){k=FLAG-1;FLAG=1;for(int j=1;j<=k;j++){if(L[j]>L[j+1]){swap(L[j],L[j+1]);FLAG=
2020-10-12 17:06:55
125
1
原创 密室寻宝(find)
问题 G: 密室寻宝(find)时间限制: 1 Sec 内存限制: 128 MB提交: 24 解决: 24[提交] [讨论版]题目描述哈利・波特不经意间进入了一座古墓,古墓入口有一道大门,内部有六个密室,每个密室中藏有一件兵器。已知需要两个密码才能从里面打开密室和大门,取出密室内的兵器后从大门撤出。两个密码均是不大于63的十进制整数,将其转化为八位二进制数后对应位进行“与”运算(运算的规则是:当两个位均为“1”时,结果为“1”,否则结果为“0”)。将“与”运算的结果从右往左数,当第n位为1时
2020-09-13 06:56:05
1774
原创 打印算式(suanshi)
问题 E: 打印算式(suanshi)时间限制: 1 Sec 内存限制: 128 MB提交: 9 解决: 28[提交] [状态] [讨论版] [命题人:yisheng]题目描述设有下列的算式:求出□中的数字,并打印出完整的算式来。输入输出除数靠当前行的最右边,横线的长度与被除数的长度相同,被除数、除数与”)”之间没有空格。简单到要死……#include<bits/stdc++.h>using namespace std;int main(){for(int i=
2020-09-11 21:16:11
831
原创 勾股数(gou)
问题 H: 勾股数(gou)时间限制: 1 Sec 内存限制: 128 MB提交: 19 解决: 15[提交] [状态] [讨论版] [命题人:yisheng]题目描述输入整数R,输出小于等于R的满足X2+Y2=Z2的所有正整数X,Y,Z。输入只有一个数:R(5≤R≤1000000)。输出只有一个数:表示共有多少组满足条件的勾股数。样例输入 Copy10样例输出 Copy2提示任意一组勾股数(a,b,c) 可以表示为如下形式:a=m2-n2 ,b=2mn , c=m2+n
2020-09-10 19:58:57
750
2
原创 质因子相乘
题目描述今天数学课上,桐桐学习了质数的知识:一个正整数如果只能被1和它本身整除,那么这个整数便是质数。桐桐就想:任意一个正整数是否都能分解成若干个质数相乘的形式呢?输入一个正整数n(2≤n≤109),把它分解成质因子相乘的形式,如果为质数则输出该数本身。如:36=2×2×3×3;19=19。你能帮助桐桐解决这个难题吗?输入输入一个正整数n(2≤n≤109)输出把它分解成质因子相乘的形式,如果为质数则输出该数本身,乘数从小到大输出。样例输入Copy99样例输出Copy...
2020-09-10 19:12:37
1474
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人