自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 P8813 [CSP-J 2022] 乘方

小文同学刚刚接触了信息学竞赛,有一天她遇到了这样一个题:给定正整数 a 和 b,求 a^b 的值是多少。由题目可看出,有一部分测试点会大于10的9次方的,输出“-1”便可以得分。a^b 即 b 个 a 相乘的值,例如 2^3 即为 3 个 2 相乘,结果为 2×2×2=8。类型能表示的最大数为 2^31 - 1,因此只要计算结果超过这个数,她的程序就会出现错误。输出共一行,如果 a^bab 的值不超过 10^9,则输出 a^b 的值,否则输出。如果循环到最后,那么这个数就是小于10的9次方的,输出乘方。

2022-11-12 19:41:05 585

原创 P1134 [USACO3.2]阶乘问题 题解

的末尾只会是2,4,6,8(在此题中没有0).又[2,4,6,8]中任意一个数乘6,末尾仍是本身.2 * 6 = 12,末尾为2, 4 * 6 =24,末尾为4, 6 * 6=36,末尾为6,8 * 6 =48,末尾为8.又末尾数字只受末尾数字影响,如4. 4 * 6得到的末尾数字与4 * 16的末尾数字一样.又4 * 10=40,末尾数字为4(此题不要末尾0).则4 * 2 *8==4 * 2 *5(意思是得到的末尾数字是一样的).故所有乘5的时候都可以换为乘8.又多次乘8末尾是有规律的.找出规律即可.

2022-10-07 09:04:04 333

原创 P5017 [NOIP2018 普及组] 摆渡车 题解

同学 $2$ 在第 $13$ 分钟开始等车, 等待 $0$ 分钟。同学 $4$ 和同学 $5$ 在第 $5$ 分钟开始等车,等待 $1$ 分钟,在第 $6$ 分钟乘坐摆渡车 出发。同学 $2$ 和同学 $3$ 在第 $4$ 分钟开始等车,等待 $0$ 分钟,在第 $4$ 分钟乘坐摆渡车 出发。同学 $1$ 和同学 $4$ 在第 $3$ 分钟开始等车,等待 $0$ 分钟,在第 $3$ 分钟乘坐摆渡车出发。同学 $3$ 在第 $1$ 分钟开始等车,等待 $0$ 分钟,在第 $1$ 分钟乘坐摆渡车出发。

2022-10-03 09:06:58 630

原创 51nod初学者首页1级题题解(5)

老师出完题后,全班同学都在埋头计算,小高斯却很快算出答案等于 5050。1~100正好可以分成这样的50对数,每对数的和都相等。输入一个数n,请你输出n-10的值。给一个正整数n,计算它最多能被2的多少次幂整除。i是计数器,每次加1,当不能被2整除时,就输出。(2)将这个数对10取余,得到的就是个位的数字。给定一个整数n,求它的阶乘,n小于等于10。输入一个数n,请你输出 n 乘以 3 的值。>>1和/2相等,输出时外面的括号不能去掉。输入一个数n,请你输出n+2的值。也可以这样,只是效率低了一点点。

2022-09-03 14:10:14 752

转载 快读&快写模板【附O2优化】

C++ cin/cout 输入输出:优点是读入的时候不用管数据类型,也就是说不用背scanf/printf的%d、%c、%lld等繁琐的东西,但是缺点就是比scanf/printf慢一些。一般来讲,快读快写在针对数据量不是很大的输入输出的时候显得比较无力,但如果是多组数据或者输入量较多,就可以显著提升效率。快读是在字符读入的基础上进行效率优化的,其实现原理也很简单,看代码就可以理解了。还有一种更快的fread()函数型快读,比一般的快读都要快,但是模板不太好理解,所以不加介绍。开不开inline差不多。..

2022-08-29 08:34:45 4969 1

原创 [NOIP2005 普及组] 采药 题解

第一行有 2 个整数 T(1

2022-08-24 18:24:33 205

原创 51nod初学者首页1级题题解(4)

当a+b==1时输出one,a+b==2时输出two,a+b==3时输出three,a+b==4时输出four,a+b==5时输出five,a+b==6时输出six,a+b==7时输出seven,a+b==8时输出eight,a+b==9时输出nine,否则输出None。编写程序读入三个数到整型变量a,b,c,将让a存储原本b中的值,让b存储原本c中的值,让c存储原本a中的值,输出交换后a,b,c的值。编程实现输入四个整数a,b,c,d,当a+b大于10时,输出a*b的值,否则当b+c>5时。

2022-08-21 18:13:53 461

原创 P1244 [NOI2000] 青蛙过河题解

题目描述大小各不相同的一队青蛙站在河左岸的石墩(记为 A )上,要过到对岸的石墩(记为 D )上去。河心有几片菏叶和几个石墩。图示如下青蛙的站队和移动方法规则如下:- 每只青蛙只能站在荷叶、石墩,或者**仅比它大一号**的青蛙背上(统称为合法的落脚点);- 一只青蛙只有背上没有其它青蛙的时候才能够从一个落脚点跳到另一个落脚点;- 青蛙允许从左岸 A 直接跳到河心的石墩、荷叶和右岸的石墩 D 上,允许从河心的石墩和荷叶跳到右岸的石墩 D 上;...

2022-08-16 19:42:33 1131

原创 51nod初学者首页1级题题解(3)

现在分别给出上述四种所购买的斤数(均不超过 20),请你编写程序帮助售货员阿姨计算并依次输出顾客购买四种水果需要的钱数及总钱数。由于小瓜非常挑剔,他只吃重大于等于m克的龙虾,于是他打算把所有重大于等于m克的龙虾买回家。给你两个不同的字符串,如果第一个字符串的字典序小于第二个字符串,则输出YES,如果第一个字符串的字典序大于第二个字符串,则输出NO。给你两个字符串,一个母串,一个子串,请你找出子串第一次在母串中出现的位置。遍历字符串,当字符串的某一个字符等于x时,输出i,否则在循环下面输出-1....

2022-08-16 18:35:33 545

原创 洛谷P1126 机器人搬重物 题解

机器人的中心总是在格点上,当然,机器人必须在最短的时间内把物品搬运到指定的地方。第一行为两个正整数N,M(N,M =1&&x=1&&y

2022-08-16 14:14:15 641

原创 51nod初学者首页1级题题解(2)

输入一个实数f,和一个位数d,输出实数f,在保留d位小数下的结果,采用四舍六入五留双的近似。while循环中,每次%2取余 (转化为二进制是%2)赋值给a数组,n/2。输入一个长度为n(1

2022-08-15 08:05:19 771

原创 51nod初学者首页1级题题解(1)

输入两个整数L, R(1

2022-08-11 13:23:05 883

原创 数论之最大公约数

最大公因数,也称最大、最大公,指两个或多个共有中最大的一个。a,b的最大公约数记为(a,b),同样的,a,b,c的最大数记为(a,b,c),多个的最大公约数也有同样的记号。求最大公约数有多种,常见的有法、、、。与最大公约数相对应的概念是,a,b的记为[a,b]。方法1:普通方法:先将a ,b的最小值赋给n。判断a、b两数是否可以被n整除,如果可以,则输出n为否则执行n-1,继续进行前面的操作。方法2.更相减损法:也叫,是出自《》的一种求最大公约数的算法,它原本是为。...

2022-08-03 08:38:45 830

原创 C++素数判定

素数的因子只有1和它本身。如果数c不是素数,则还有其他因子。设a,b.定有一个大于sqrt(c) ,一个小于sqrt(c)。所以m一定有一个小于等于其平方根的因数,那么验证素数时就只需要验证到其平方根就可以了。要得到自然数n以内的全部素数,必须把不大于根号n的所有素数的倍数剔除,剩下的就是素数。循环,将n除以2---n-1的整数,如果有其中一个数运算后的余数==0,n不为素数。中,除了1和它本身以外不再有其他。素数(也成质数)是指在大于1的。...

2022-08-02 20:39:11 12228

原创 [NOIP2007 普及组] 纪念品分组题解

因为 K>X,且二者贪心选择产生分组数是一样的,得 K>X, 与 K 是最优解相互矛盾,得贪心选择+子问题的最优解就是全局最优解。为使得参加晚会的同学所获得 的纪念品价值相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括两件纪念品, 并且每组纪念品的价格之和不能超过一个给定的整数。读入后用sort排序,用两个指针向中间走,每次选择都让当前状态下最大的和最小的分在一组,否则就最大的分一组,这样下来是最少分的组了。你的任务是写一个程序,找出所有分组方案中分组数最少的一种,输出最少的分组数目。...

2022-08-02 19:05:43 173 2

原创 基础算法之贪心算法

一·基本概念贪心算法是指在问题求解时,做出当前的最好选择。就是,不从整体最优考虑,只是从局部最优解。贪心算法没有固定的算法框架,算法设计关键在于贪心的选择。注意,贪心的策略一定要具备无后效性,指一个状态的过程不会影响之前的,只和当前有关。二·基本思路1.建立数学模型2.分解子问题3.求解子问题,使子问题局部最优4.将子问题合并三·适用问题贪心策略的前提是局部最优能导致全局最优。......

2022-07-28 07:08:15 374

原创 [NOIP2007 普及组] 奖学金题解

先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序,如果两个同学总分和语文成绩都相同,那么规定学号小的同学排在前面,这样,每个学生的排序是唯一确定的。任务先根据输入的3门课的成绩计算总分,然后按上述规则排序,最后按排名顺序输出前五名学生的学号和总分。注意,在前55名同学中,每个人的奖学金都不相同,因此,你必须严格按上述规则排序。这两名同学的总分都是279279(总分等于输入的语文、数学、英语三科成绩之和),但学号为77的学生语文成绩更高一些。进行比较,返回1或者0;......

2022-07-21 19:21:30 376

原创 枚举算法(2)

先枚举五位回文数,要三重循环枚举三个位置,万位和个位从1枚举到9,千位,十位和百位从0枚举到9,判断数字之和是否为n,六位回文数也是这样的。枚举算法(1)中只枚举一个变量的解,但是枚举题需要枚举很多变量,并且条件判断也会很繁琐,因此我在这里写了一篇枚举算法(2)。现在给定三个骰子中每个骰子的面数,求三个骰子的点数和哪个最频繁出现。这道题目里变量取值范围是[1,13],判断条件是使得题目中的式子全部成立,可以用枚举算法。加上判断条件来检验枚举的这组解的合法性。时,枚举的解已经是不合法的。......

2022-07-20 15:36:27 300

原创 枚举算法(1)

就是根据提出的问题,一一列出该问题的所有可能的解,并在逐一列出的过程中,检验每个可能解是否是问题的真正解,如果是就采纳这个解,如果不是就继续判断下一个。枚举法一般比较直观,容易理解,但由于要检查所有的可能解,因此运行效率较低。能够用枚举法解决的题目往往是最简单的一类题目。。水仙花数水仙花数是指一个n位数,它的每位(个位、十位、百位....)上的数字的n次幂之和等于它本身。(例如给出一个整数M,求>=M的最小的水仙花数。......

2022-07-19 19:31:08 504

原创 [NOI Online 2022 入门组] 王国比赛题解

具体来说,对于第ii道题,有xx个大臣选对,yy个大臣选错(显然有x+y=mx+y=m),如果x>yx>y,那么你预测这题答案为对,否则为错。对于100\%100%的数据,1\len\le10001≤n≤1000,1\lem\le10001≤m≤1000,mm为奇数。先输入,查看每一位大臣的答案,如果答对的人数大于答错的人数,我们就预测这一题为正确的,否则预测为错误的。全部的题都预测完后,将预测的答案和标准的答案比较,如果相同计数器就自加,最后输出。......

2022-07-18 13:09:31 615

原创 [CSP-J 2021] 插入排序题解

假设比较两个元素的时间为\mathcalO(1)O(1),则插入排序可以以\mathcalO(n^2)O(n2)的时间复杂度完成长度为nn的数组的排序。保证1\lex\len1≤x≤n,1\lev\le10^91≤v≤109。对aa数组进行排序,你需要告诉H老师原来aa的第xx个元素,也就是a_xax​,在排序后的新数组所处的位置。对于所有测试数据,满足1≤n≤8000,1≤Q≤2×105,1\lex\len1≤x≤n,1≤v,ai​≤109。...

2022-07-17 18:21:01 644 1

原创 [NOIP2016 普及组] 回文日期题解

用月日生成8位回文数方法将天数的日期数字的个位*10000000,将天数的日期数字的十位*1000000,将月份数字的个位数字*100000,将月份数字的十位数字*10000,加上月份的数字*100加天数日期。一个8位数字是回文的,当且仅当对于所有的i(1≤i≤8)从左向右数的第i个数字和第9−i个数字(即从右向左数的第i个数字)是相同的。其中,1,3,5,7,8,10,12月每个月有31天;根据题目,首先用直接枚举法,枚举两个日期中间的数,判断是否是回文数,如果是回文数,符合要求,ans++。...

2022-07-16 17:46:45 1568

原创 洛谷P1290 欧几里德的游戏 题解

欧几里德的两个后代Stan和Ollie正在玩一种数字游戏,这个游戏是他们的祖先欧几里德发明的。给定两个正整数M和N,从Stan开始,从其中较大的一个数,减去较小的数的正整数倍,当然,得到的数不能小于0。然后是Ollie,对刚才得到的数,和M,N中较小的那个数,再进行同样的操作……如果两个数相等,或者两数之比大于斐波拉契数列相邻两项之比的极限((sqrt(5)+1)/2),则先手胜,否则后手胜。记当前状态为d(i,j),且i>j,若此时i>=2j,则目前的操作者胜利。...

2022-07-15 15:54:02 473

原创 [NOIP2001 提高组] 一元三次方程求解 题解

题目链接:[NOIP2001 提高组] 一元三次方程求解 - 洛谷有形如:a x^3 + b x^2 + c x + d = 0ax3+bx2+cx+d=0 这样的一个一元三次方程。给出该方程中各项的系数(a,b,c,da,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范围在 -100−100 至 100100 之间),且根与根之差的绝对值 \ge 1≥1。要求由小到大依次在同一行输出这三个实根(根与根之间留有空格),并精确到小数点后 22 位。提示:记方程 f(x) = 0f(x)=0,若存在

2022-07-14 17:26:24 296

原创 [NOIP2001 普及组] 装箱问题题解

有一个箱子容量为 VV,同时有 nn 个物品,每个物品有一个体积。现在从 nn 个物品中,任取若干个装入箱内(也可以不取),使箱子的剩余空间最小。输出这个最小值。第一行共一个整数 VV,表示箱子容量。第二行共一个整数 nn,表示物品总数。接下来 nn 行,每行有一个正整数,表示第 ii 个物品的体积。输入 #1复制2468312797输出 #1复制0说明/提示对于 100\%100% 数据,满足 0...

2022-07-13 14:16:40 645

原创 计蒜客求平均年龄题解

小蒜蒜的班上有学生若干名,给出每名学生的年龄(整数),求班上所有学生的平均年龄,保留到小数点后两位。输入格式第一行有一个整数 n(1 \le n \le 100)n(1≤n≤100),表示学生的人数。其后 nn 行每行有 11 个整数,表示每个学生的年龄,取值为 1515 到 2525。输出格式输出一行,该行包含一个浮点数,为要求的平均年龄,保留到小数点后两位。输出时每行末尾的多余空格,不影响答案正确性样例输入21817样例输出17.50先将n名同学的年龄输入,用a变量累加(注意a是doub

2022-07-03 17:22:22 783

原创 Peter 的烟题解

Peter 有 nn 根烟,他每吸完一根烟就把烟蒂保存起来,kk(k>1k>1)个烟蒂可以换一个新的烟,那么 Peter 最终能吸到多少根烟呢?吸烟有害健康。每组测试数据一行包括两个整数 n, kn,k(1 < n, k \le 10^81...

2022-06-30 19:30:35 1451

原创 [NOIP2017 普及组] 成绩

题目背景NOIP2017 普及组 T1题目描述牛牛最近学习了 C++ 入门课程,这门课程的总成绩计算方法是:总成绩=作业成绩\times 20\%+×20%+小测成绩×30\%+×30%+期末考试成绩\times 50\%×50%牛牛想知道,这门课程自己最终能得到多少分。输入格式三个非负整数A,B,CA,B,C,分别表示牛牛的作业成绩、小测成绩和期末考试成绩。相邻两个数之间用一个空格隔开,三项成绩满分都是100100分。输出格式一个整数,即牛牛这门课程的总成绩,满分...

2022-05-29 17:31:02 523

原创 蒜头君的数字游戏I

蒜头君有很多张写着数字的卡片,每张卡片上有一个 1 - 101−10 之间的整数,现在需要我们统计每张卡片有多少张。我们可以用一个长度为 1111 的数组存储这个信息,数组的下标表示卡片上的数字,数组元素表示该卡片出现了多少次。首先在 using namespace std; 下一行写:int cnt[11];定义全局变量的好处是可以将数组元素全部初始化为 0。接下来,每读入一个数,我们就将它对应的数组元素的值加一:cnt[temp]++;cnt[1] 中存储的是数字 1 出

2022-05-13 17:56:58 559

原创 51nod年龄段判断

输入一个整数n(保证范围在0到25之间),表示一个人的年龄。如果n在0~3的范围内,输出"infant"。如果n在4~12的范围内,输出"child"。如果n在13~18的范围内,输出"youngster"。如果n在19~25的范围内,输出"youth"。输入一个整数(范围在0到25之间)输出一个英文单词,如题目描述所述。输入样例3输出样例infant这道题很简单,一个一个判断即可。输入一个整数n,表示一个人的年龄。判断0-3的范围,输出"

2022-05-08 16:50:48 1023

原创 [NOIP2018 普及组] 标题统计

题目描述凯凯刚写了一篇美妙的作文,请问这篇作文的标题中有多少个字符? 注意:标题中可能包含大、小写英文字母、数字字符、空格和换行符。统计标题字 符数时,空格和换行符不计算在内。输入格式输入文件只有一行,一个字符串 ss。输出格式输出文件只有一行,包含一个整数,即作文标题的字符数(不含空格和换行符)。输入输出样例输入 #1234 输出 #13输入 #2Ca 45 输出 #24说明/提示【输入输出样例 1 说明】标题中共有

2022-04-24 13:29:58 339

原创 NOIP2005 普及组陶陶摘苹果

题目描述陶陶家的院子里有一棵苹果树,每到秋天树上就会结出 1010 个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个 3030 厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。现在已知 1010 个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。输入格式输入包括两行数据。第一行包含 1010 个 100100 到 200200 之间(包括 100100 和 200200 )的整数(以厘米

2022-04-22 17:22:58 466

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除