- 博客(94)
- 收藏
- 关注
原创 CSP错题集
3.假设一棵二叉树的后序遍历序列为 DGJHEBIFCADGJHEBIFCA,中序遍历序列为 DBGEHJACIFDBGEHJACIF,则其前序遍历序列为(B)。如果周末丙去了,则甲___去了_____,乙___没去_____,丁____没去____,周末___没下雨_____。5.由四个没有区别的点构成的简单无向连通图的个数是( A)。已知①如果周末下雨,并且乙不去,则甲一定不去;④如果丁不去,而且甲不去,则丙一定不去。则空格内要填入的语句是(B )。③如果丙去,则丁一定不去;②如果乙去,则丁一定去;
2025-06-29 13:48:23
264
原创 GESP4级错题集
1.以下程序执行后的输出结果是( B )。int a='A';return 0;A.AB.65C.97D.a死记硬背:'0'的ASCLL码是48,‘A’的ASCLL码是65,‘a’的ASCLL码是97,最大的ASCLL码是127,是DEL (delete)2.下列运算符中运算优先级最高的是( B )。A.*B.!C.&&D.>=知识点:死记硬背,!是概念神,因为他是单目运算符,但括号和++,--比它的优先级高。!下面是:算术>比较>逻辑>判断>赋值。
2025-06-29 13:46:55
881
原创 揭秘指针陷阱:变量大小与编译器的隐秘关系
指针参数:定义函数时指针作为形参,在函数调用时传递变量的地址。排序算法平均时间复杂度最好情况最坏情况空间复杂度稳定性冒泡排序O(n^2)O(n)O(n^2)O(1)稳定选择排序O(n^2)O(n^2)O(n^2)O(1)不稳定插入排序O(n^2)O(n)O(n^2)O(1)稳定快速排序O(log n)O(log n)O(n^2)O(log n)不稳定计数排序O(n+k)O(n+k)O(n+k)O(k)稳定桶排序O(n+k)
2025-06-29 13:45:42
873
原创 7.23 高精度and位运算
已知5个:a<<b:将被a转换为2进制后向右移b位,多余位数填充0a>>b:将被a转换为2进制后向左移b位,移到小数点后的删除a&b:a和b都转换为2进制后列竖式,两个数同位上都为1才是那位对应的答案才是1a&b:a和b都转换为2进制后列竖式,两个数同位上都为0才是那位对应的答案才是0a^b:a和b都转换为2进制后列竖式,两个数同位上都不等才是那位对应的答案才是0。
2025-06-29 13:44:35
153
原创 2025.1.4 原码&补码&反码 and 进制转换 & 位运算
a>>b:将被a转换为2进制后向右移b位,移到小数点后的删除,向右移动相当于缩小2的b次方倍,小数点不动,数字往右移。a<<b:将被a转换为2进制后向左移b位,多余位数填充0,向左移动相当于扩大2的b次方倍,小数点不动,数字向左移。a&b:a和b都转换为2进制后列竖式,两个数同位上都为1才是那位对应的答案才是1。a|b:a和b都转换为2进制后列竖式,两个数同位上都为0才是那位对应的答案才是0。a^b:a和b都转换为2进制后列竖式,两个数同位上都不等才是那位对应的答案才是0。| 符号位 注意:0正1负!
2025-06-29 13:43:39
526
原创 2025.1.4 原码&补码&反码 and 进制转换 & 位运算
a>>b:将被a转换为2进制后向右移b位,移到小数点后的删除,向右移动相当于缩小2的b次方倍,小数点不动,数字往右移。a
2025-01-05 11:17:55
506
原创 我的创作纪念日
这一年我在 CSDN 上面结交了一个很棒的朋友,他和我互相讨论题目,也会在 CSDN 的私信上说说笑笑,这位朋友让我知道了许多新鲜的 关于 c++的东西,也让我们在聊天时度过了一段快乐的时光😊。提示:你过去写得最好的一段代码是什么?
2025-01-05 11:14:42
215
原创 快速排序呆码模版
#include typedef long long Int;Int a[101];void qsort(Int left, Int right) { if (left >= right) return; Int x = a[left], i = left, j = right; while (i < j) { while (i < j && a[j] >= x)//改a[j] >= x为a[j]
2024-11-22 07:13:23
143
原创 千千蓝鲸6483
共 16 个符号,分别表示十进制数的 0 至 15。十六进制的计数方法是满 16 进 1,所以十进制数 16 在十六进制中是 10,而十进制的 17 在十六进制中是 11,以此类推,十进制的 30 在十六进制中是 1。十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,(n==0){//这里一开始没有写,不写只有90分,因为不写0考虑不到。给出一个非负整数,将它表示成十六进制的形式。输出这个整数的 16 进制表示。
2024-07-30 20:03:13
641
原创 千千蓝鲸3819字符串版
i--){//这里遍历时应该用n-1,用0从后往前找第一个1有可能是1010这类最后一个不是1最后的树0就被忽略了。//这里要求一下字符串长度,不求的话后面没法for。位数不超过25位,保证转换成的十进制数在int类型的范围内。请编程实现二进制数到十进制数的转换。二进制数对应的十进制数。
2024-07-30 20:00:01
576
原创 千千蓝鲸3819整形版
/原来我写了一个pow函数用来写幂,但是返回long long还是一样的问题,要26位不够。用整形做90分代码://因为longlong最大只能存不到20位,,题目最大可达26位,所以太大存不下,还是有一个测试点错了。位数不超过25位,保证转换成的十进制数在int类型的范围内。请编程实现二进制数到十进制数的转换。二进制数对应的十进制数。
2024-07-30 19:59:12
511
原创 千千蓝鲸3824
行和辅对角线共同组成一个“Z”字。请计算这个“Z”字上所有元素的和。然后考虑到第1和n行的末尾和头遍历过了不再遍历。j应该从尾开始for。的方阵,第 1 行、第。个整数,用空格隔开。≤20,0≤数字≤9。
2024-07-30 19:57:17
501
原创 千千蓝鲸3824
行和辅对角线共同组成一个“Z”字。请计算这个“Z”字上所有元素的和。然后考虑到第1和n行的末尾和头遍历过了不再遍历。j应该从尾开始for。的方阵,第 1 行、第。个整数,用空格隔开。≤20,0≤数字≤9。
2024-07-30 19:55:38
442
原创 千千蓝鲸3828
j++) {//一开始没有考虑到万一中心在旁边,没有做讨论,,现在写用来判断的函数meichujie判断。给定一个n×m的二维数组a,和一个数组元素的下标(x, y) ,请找出a[x][y]及其四周元素中的最大元素,并输出这个最大元素的行列下标。(0≤x<n, 0≤y<m)两个正整数,用空格隔开,分别表示a[x][y]及其四周元素中最大元素的行列下标。
2024-07-30 19:53:54
666
原创 千千蓝鲸1601
输入 4 个小于 10 的正整数,不改变它们的顺序,在两个数之间可以添加+、-、*、/(整除)这四种运算符,然后从左往右计算整个式子的值(不考虑优先级,运算符严格从左往右计算),最终得到的值是否是一个给定的值 n,如果可以得到,请问有多少种不同的添加方法?例如四个数字 1、2、3、4,要得到给定的值 24,可以有两种方法:1+2+3×4 和 1×2×3×4,没有其他方法了。if (i == 1) {//第二次循环时没有还原,+了再-,应该for完在最里面一次性算。输出添加运算符后,式子的值为n的方法数。
2024-07-30 19:52:57
992
原创 千千蓝鲸2877
a++) {//这里一开始用了双层循环,因为c最大10000所以10000*10000=100000000,复杂度爆表,改为单层。//这里一开始写的时候变成了Int,粗心大意,应该改为双精度浮点数,否则后面的比较没有用,判断它是不是个整数。一个直角三角形的两个直角边是a,b(a≤b),其斜边是c,且a,b,c 都是正整数。输出两个整数a,b表示答案。如果有多个可能的答案,请确保a尽可能的小。现在我们已经知道了斜边长度c,请问这个直角三角形的两个直角边的长度是什么?输入一个整数c(1≤c≤10000)。
2024-07-30 19:52:14
753
原创 千千蓝鲸2924
i++){//这里之前i初始化时错写为1,改为3,因为a[1],a[2]都有了。斐波那契数列:数列的第一个值和第二个值都为1,接下来每个数都等于前两个数的和。//之前错写为0,未好好审题,下标从1开始,因为题目要求从1开始。一个整数n,表示要求的第n位。(1<n<90)注意数据大小!一个整数,第n位的数字。
2024-07-30 19:50:00
1480
原创 7.23 高精度and位运算
已知5个:a<<b:将被a转换为2进制后向右移b位,多余位数填充0a>>b:将被a转换为2进制后向左移b位,移到小数点后的删除a&b:a和b都转换为2进制后列竖式,两个数同位上都为1才是那位对应的答案才是1a&b:a和b都转换为2进制后列竖式,两个数同位上都为0才是那位对应的答案才是0a^b:a和b都转换为2进制后列竖式,两个数同位上都不等才是那位对应的答案才是0。
2024-07-24 21:29:52
395
原创 7.22 高精度
include <iostream> // 引入标准输入输出库。#include <string> // 引入字符串处理库。#include <vector> // 引入向量容器库。// 判断是否两数相等(小于等于或等于)// 判断是否两数不相等(大于等于)// 判断是否一个小于等于另一个数。// 将长整型转换为数字向量形式。// 将字符串转换为数字向量形式。// 判断是否一大于等于另一个数。// 数字向量转换成字符串形式。// 使用循环进行乘法计算。// 指定次数的乘法。
2024-07-24 21:29:11
344
原创 [NOIP2004 提高组] 津津的储蓄计划
因此津津制定了一个储蓄计划:每个月的月初,在得到妈妈给的零花钱后,如果她预计到这个月的月末手中还会有多于 100100 元或恰好 100100 元,她就会把整百的钱存在妈妈那里,剩余的钱留在自己手中。如果不会,计算到 20042004 年年末,妈妈将津津平常存的钱加上 20%20% 还给津津之后,津津手中会有多少钱。有可能在某个月的月初,津津手中的钱加上这个月妈妈给的钱,不够这个月的原定预算。每个月的月初妈妈给津津 300300 元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同。
2024-06-10 20:17:04
385
原创 [NOIP1998 普及组] 幂次方
在编号为 𝑁N 的堆上取的纸牌,只能移到编号为 𝑁−1N−1 的堆上;有 𝑁N 堆纸牌,编号分别为 1,2,…对于 100%100% 的数据,1≤𝑁≤1001≤N≤100,1≤𝐴𝑖≤100001≤Ai≤10000。3.当q[y](第y堆纸牌与平均数的关系)不等于0时,q[y+1]=q[y+1]+q[y],移动次数加1。,AN,表示每堆纸牌初始时的纸牌数。例如 𝑁=4N=4 时,44 堆纸牌数分别为 9,8,17,69,8,17,6。2.求每堆纸牌与平均数的关系(多1记为1,少1记为-1)。
2024-06-10 20:13:12
213
原创 [NOIP1998 普及组] 幂次方 题解
所以 13151315 最后可表示为 2(2(2+2(0))+2)+2(2(2+2(0)))+2(2(2)+2(0))+2+2(0)2(2(2+2(0))+2)+2(2(2+2(0)))+2(2(2)+2(0))+2+2(0)。所以最后 137137 可表示为 2(2(2)+2+2(0))+2(2+2(0))+2(0)2(2(2)+2+2(0))+2(2+2(0))+2(0)。由此可知,137137 可表示为 2(7)+2(3)+2(0)2(7)+2(3)+2(0)NOIP1998 普及组 第三题。
2024-06-10 20:11:30
576
原创 [NOIP1998 提高组] 拼数
数字收尾相接可以认为是字符串相加,故题意为有 𝑛n 个字符串,𝑠1,𝑠2,…分析可见两同样长字符串 𝑠1,𝑠2s1,s2,若 𝑠1s1 比 𝑠2s2 大,必有 𝑥x 使得 𝑠1s1 在 𝑥x 位第一次比 𝑠2s2 大。比较方法只要比较 𝑠1+𝑠2s1+s2 和 𝑠2+𝑠1s2+s1 的大小即可。an,将它们联接成一排,相邻数字首尾相接,组成一个最大的整数。对于全部的测试点,保证 1≤𝑛≤201≤n≤20,1≤𝑎𝑖≤1091≤ai≤109。NOIP1998 提高组 第二题。
2024-06-10 20:08:39
688
原创 11111
简介:你认为对于程序员而言,什么职业素养是最为重要的呢?在你的职业生涯中,有什么切实的案例发生吗?让我们探讨程序员在职业生涯中应具备的职业素养,讲述你在工作中的态度和价值观吧!提示:探讨作为程序员所应具备的持续学习和不断进步的意识,分享学习方法与进步经验。提示:谈谈作为程序员所应具备的沟通能力和团队合作意识,可以从实际工作中切入。提示:探讨作为程序员所应具备的专业精神,分享程序员对技术执着追求的故事。
2024-06-10 20:04:56
156
原创 [NOIP1999 普及组] Cantor 表
算法3:发现第i条斜线(即分子分母之和=i+1的所有项)中包含i*(i-1)/2+1至i*(i+1)中的每一项,所以可以二分分子分母之和,再根据分子分母之和的奇偶性直接计算第n项。第一项是 1/11/1,然后是 1/21/2,2/12/1,3/13/1,2/22/2,…1/1 , 1/2 , 3/1 , 1/4 , 5/1 , 1/6……时间复杂度O(㏒₂n),可以通过n≤10^18,加上高精可通过n≤10^1000。算法2.5:枚举第n项在哪一行,计算得出答案,比算法2好写,
2024-06-09 20:33:52
292
原创 [NOIP2011 提高组] 铺地毯
接下来的 𝑛n 行中,第 𝑖+1i+1 行表示编号 𝑖i 的地毯的信息,包含四个整数 𝑎,𝑏,𝑔,𝑘a,b,g,k,每两个整数之间用一个空格隔开,分别表示铺设地毯的左下角的坐标 (𝑎,𝑏)(a,b) 以及地毯在 𝑥x 轴和 𝑦y 轴方向的长度。如下图,11 号地毯用实线表示,22 号地毯用虚线表示,33 号用双实线表示,覆盖点 (2,2)(2,2) 的最上面一张地毯是 33 号地毯。对于 100%100% 的数据,有 0≤𝑛≤1040≤n≤104, 0≤𝑎,𝑏,𝑔,𝑘≤1050≤a,b,g,k≤105。
2024-06-09 20:12:56
528
原创 P1002 [NOIP2002 普及组] 过河卒
那么假设从 (1,1)(1,1) 走到 当前格子的左侧格子 的路径条数是 𝑥x,从 (1,1)(1,1) 走到 当前格子的上方格子 的路径条数是 𝑦y,那么从 (1,1)(1,1) 走到当前格子的路径条数就应该是 𝑥+𝑦x+y。根据 𝑓(1,1)=𝑓(0,1)+𝑓(1,0)f(1,1)=f(0,1)+f(1,0),我们只需要让 𝑓(1,0)=1f(1,0)=1 或者 𝑓(0,1)=1f(0,1)=1 即可。这个方法可行,但是我们把本来是 𝑂(𝑛2)O(n2) 小常数的做法加了一个 8 倍常数。
2024-06-09 20:09:22
1016
原创 约瑟夫问题
若是使用链表,这题的代码实现复杂程度无疑大大上升了,其实,我们完全用不着那么麻烦,一个个地报数,可以想象成一个队列,一个人报完数后,判断他所报的数是不是出局的数,如果是,直接弹出,但若不是,将其移动至队尾。𝑛n 个人围成一圈,从第一个人开始报数,数到 𝑚m 的人出列,再由下一个人重新从 11 开始报数,数到 𝑚m 的人再出圈,依次类推,直到所有的人都出圈,请输出依次出圈人的编号。代表这个人的编号,输出时使用,另外两个指针分别指向上一个和下一个人,不过我们先要对其初始化。在这里,我使用了一个结构体。
2024-06-09 20:04:10
720
原创 6.8链表
𝑛n个人围成一圈,从第一个人开始报数,数到 𝑚m的人出列,再由下一个人重新从 11 开始报数,数到 𝑚m的人再出圈,依次类推,直到所有的人都出圈,请输出依次出圈人的编号。输入两个整数 𝑛,𝑚nm。输出一行 𝑛n个整数,按顺序输出每个出圈人的编号。
2024-06-09 19:59:27
2087
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
2