自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 回文质数 Prime Palindromes(2 输入输出的优化)

1.题目中的数据大小并不会超出 int 上线,所以之前代码中的 long long 类型都可以转换为 int 类型。之间的绑定(虽然这里主要关注输出,但这样设置能整体优化输入输出的效率),减少不必要的刷新等操作,提升输出速度。解除 C++ 标准输入输出流与 C 标准输入输出流之间的同步,并且可以搭配。解除 C++ 标准输入输出流与 C 标准输入输出流之间的同步,以及设置。1.整体思路不变,但是在之前的代码实现中有几个小的修改地方。之间的绑定,减少不必要的刷新等操作,提升读入速度。

2024-12-14 15:14:12 415

原创 6个200以内的等差质数

需要找到6个200一内的等差质数,没有输入,直接输出找到的这6个等差质数。

2024-12-14 11:52:32 309

原创 求先序排列

1.因为在后序遍历中中间的根在最后,所以在中序排列中查找当前子树在后序里子树最后的数,就是当前子树的根(找根)。2.因为需要输出前序排列,根在最前面,并且在分成左右子树时左子树先遍历,所以直接输出找到的根。3.在中序排列里反向查找后序子树(根)的位置,再把中序排列分成左右两个子树。1.先输入两个没有空格的字符串,分别表示一棵二叉树的中序与后序排列。表示在z数组里从0~z的结尾查找 x 的位置,返回位置。3.前序与中序与后序排列的原理。前序: 中--左--右。中序: 左--中--右。后序: 左--右--中。

2024-11-23 18:03:32 601

原创 [CSP-J 2024] 地图探险

1.此题是多组数据,所以要注意换行和每组数据之间是否联系,之前 T-1 次的操作是否影响第 T 次的操作。2.memset 函数是赋值字节的函数,意思是把数字 x 赋值给 a 数组的 0~y 位,注意x不要超过上限。sizeof(a)4.一定注意初始位置的计算与标记 和 可以走就标记走过的位置防止位置重复(标记数组也要初始化)。

2024-11-23 13:03:49 564

原创 求素数个数

简单的求质数个数

2024-11-17 16:28:13 163

原创 [GESP202409 四级] 黑白方块 AND 区间排序 题目解法

升序排序是一种数据排序方式,指的是将一组数据按照从小到大的顺序进行排列。在升序排列后,数据中的最小值位于序列的开头,最大值位于序列的末尾,并且相邻元素之间满足后一个元素大于或等于前一个元素的关系。若是想要对区间[l,r] 进行升序排序,要写成。2.每一组数组输入n、m,表示一个 n 行 m 列的网格图。4.q行,每行两个数 l、r 表示对l、r的区间排序。1.输入n,表示序列 a 包含 n 个正整数。每次升序排序会在上一次升序排序的结果上进行。3.输入q,表示q次区间排序。2.sort的函数头文件。

2024-11-17 13:45:15 1224

原创 [GESP202409 三级] 平衡序列 AND 回文拼接 题目解法

枚举中间的数 i ,b[i]表示1~i的数字和,b[n]-b[i] 则表示 i+1~n 的数字和。(b[n]-b[i] 是因为 1~n 的数字和 - 1~i 的数字和 == i+1~n的数字和)数组 b 的第 i 个元素储存 1~i 的总和,第 1 个就是 a,加的是 b 数组 0 号元素的数字0。3.为了方便之后用枚举法来枚举情况,所以用数组来存下第 1 个到第 n 个的每个位置i到位置1的和。之后就2~n加,加上之前的数字总和,再加上现在新输入的数a,组成第 1~i 个数的总和。2.输入n个字符串。

2024-11-17 13:01:31 1119

原创 [GESP202409 二级] 数位之和 AND 小杨的 N 字矩阵 题目解法

3.输出前面的‘-’,再输出‘+’(这个‘+’需要特判),最后输出后面的‘-’。3.一个数的每一位的和可以用剥洋葱法求出,再判断是不是7 的倍数。最后自己想一想怎么输出前面的‘-’和后面的‘-’。2.除了第一行和最后一行,每行中间有一个‘+’。2.一边输入数字一边判断这个数是不是美丽数字。注意,变量为int 的时候舍弃小数点后面的。1.每行的首个字母和末尾字母都是 ’+‘。在输出时一定要看清输出的字母的。1.输入n表示有n个数。1.就是输入m比较简单。输出 sum==3;

2024-11-17 12:30:44 813

原创 [GESP202409 一级] 小杨购物 AND 美丽数字 题目解法

这道题如果卖的数量带了小数点也需要舍弃小数点的部分,所以直接输出就行,默认向下取整。3.a%n 就是求出 a/n 的余数,余数为 0 就说明 n 是 a 的因数。1.求出a+b的值存入sum变量里。注意,在int变量里没有小数点,直接向下取整。两道题目都比较简单易懂,注重代码实现能力。2.直接用n/sum求出答案。2.如果满足条件就sum++。1.一边输入一边判断。

2024-11-17 12:07:18 780

原创 回文质数 Prime Palindromes (欧拉筛法优化 AND 生成回文数)

到了现在,只需要从5枚举到 floor(sqrt(p))的所有可能为质数的数,也就是在6的两边的数字,依次p%这个数 看看这个数是不是p的因数,如果是那么p就不是质数,否则p就是质数。是的,我和你们大多数人一样,都是因为超时而不知道怎么办,我冥思苦想了一周,在网上搜了好久,才想出解决的办法。综上所述,只有(p%6==1 || p%6==5)时p才有可能为质数。先把左半边翻转形成右半边,再把右半边第一个不用,合并左,右半边。直接把左半边翻转形成右半边,合并左,右半边。已经有一半(左),生成右半边。

2024-11-16 18:17:18 1072

原创 函数(递归)最大公约数+最小公倍数+汉诺塔问题

有n个圆盘从小到大从上到下初始在第1根柱子上,现在要把这些圆盘移动到第2根柱子上,借助第3根柱子。最大公约数,也称最大公因数或最大公因子,是指两个或多个整数共有约数中最大的一个。1、写出自定义函数,函数递归求出两个数的最大公约数。圆盘只能小的在上面大的在下面。要求用函数递归来求两个数的。有3根柱子A、B、C。

2024-11-16 16:35:30 198

原创 塔纳的意外收获

塔纳终于结束了艰苦的一天英雄试炼,回家途中他经过一条蜿蜒盘旋的峡谷,在谷顶看到了谷底爬行着长长的一队蚁怪。蚁怪们首尾相接,步调一致,丝毫没有发现峡谷上方的塔纳正在盘算着要消灭它们以提升自己的经验。闪电链技能放射出的强大的闪电能消灭一些相邻的生物,闪。正准备猎杀这些蚁怪时,塔纳突然意识到自己的能量值在英雄试炼之后已所剩不多了,剩下的。一仃第二行n个整数ai(1

2024-11-16 16:31:45 257

原创 满足条件的三位数

需要计算出第n个同时满足这两个条件的3位数,如果t为完全平方数,那么t要满足t=i*i。如果是3位数以上的多位数那以上方法就很容易出错和麻烦,2.该数至少有2位数字相同。1.该数为完全平方数。

2024-11-16 16:26:47 210

原创 阶乘和 问题

用高精度计算出S=1!(n≤50)其中“!=5*4*3*2*1。输入正整数N,输出计算结果s。

2024-11-16 16:23:07 223

原创 斐波那契数列

斐波那契数列是指这样的数列:数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。给出一个正整数n,要求斐波那契数列中第n个数是多少。编程:输出斐波那契数列的前n项。

2024-11-16 16:21:54 190

原创 珠心算测验

珠心算是一种通过在脑中模拟算盘变化来完成快速运算的一种计算技术。珠心算训练,既能够开发智力,又能够为日常生活带来很多便利,因而在很多学校得到普及。个正整数,每两个正整数之间用一个空格隔开,表示测试题中给出的正整数。其中有多少个数,恰好等于集合中另外两个(不同的)数之和。他随机生成一个正整数集合,集合中的数各不相同。其中有多少个数,恰好等于集合中另外两个。,表示测试题中给出的正整数个数。,表示测试题中给出的正整数个数。一个整数,表示测验题答案。表示测试题中给出的正整数。集合中另外两个数之和。

2024-11-16 16:17:54 245

原创 八皇后问题

优化(1):把8皇后问题改为了n皇后问题,解法用到了每一次在放a(s,j)时都判断是否符合在a(s,j)的这一列这一行往上、左斜线往上、右线往上是否有皇后与之冲突,如果有就不执行下面的枚举摆放,也就是不执行下面的递归,这样可以让所有的皇后都不互相冲突,枚举摆完n皇后后,直接让解法加一。8×8格的国际象棋上摆放8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。优化(2)是把优化(1)的判断左斜线,右斜线,列往上是否有皇后用标记数组标记是否有皇后,判断速度会更快。

2024-11-16 16:11:43 472

原创 最长最短单词

输入1行句子(不多于200个单词,每个单词长度不超过100) ,只包含字母、空格和逗号:单词由至少一个连续的字母构成 ,空格和逗号都是单词间的间隔。试输出第1个最长的单词和第1个最短单词。c++中需要用char类型的数组来存放这些单词,字母和空格都当做字符来存,问题是要输出最长和最短的单词。【提示】 如果所有单词长度相同,那么第一个单词既是最长单词也是最短单词。【输出】 第1行,第一个最长的单词。第2行,第一个最短的单词。【输入数据】 一行句子。需要输入一行句子,在。

2024-11-16 16:02:23 387

原创 [CSP-J 2024] 扑克牌

在之前的小明随机数中找到了思路,用桶装起每个牌的花色与点数,然后按照每个牌的花色与点数依次判断每个牌的个数,大于0就是有一个新牌,计数变量--(计数变量初始为52,最坏情况),根据需要可以用二维数组。本题有许多种解法,在满分算法中需要完成去重,找到每个新牌的数量,然后用52张牌的总数减去每个新牌的数量,就是本题的正解。因为在特殊性质A中已经保证了每一张牌都两两不同,所以只要把特殊性质B写对了,那么特殊性质A的40分也能拿到。想到排序算法,先对所有的牌排序,符合特殊性质B,然后再用特殊性质B判断。

2024-11-16 15:56:34 489

原创 [CSP-J 2024] 小木棍

这道题的最简单也是最初的想法就是用枚举法,把数字0~9的小木棍数打表存入数组,然后求出10和之后数字用的小木棍数,用一个巧妙的方法,就是当前数字i用的小木棍数是(数字i的个位用的小木棍数+数字i的个位以上位的小木棍数)==当前数字i用的小木棍数。而木棍数一定,拼出来的数字越小,那么数位越少,数位越高的数字尽可能小,又因为性质A保证小木棍是7的倍数,所以每一位摆出数字8使得位数最小,那么摆出的数字最小。在之前的测试程序中找到n%7==0~6的7种不同的规律,然后特判1~10小木棍数n的情况,然后输出。

2024-11-16 15:47:19 566 1

空空如也

空空如也

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

TA关注的人

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