- 博客(37)
- 收藏
- 关注
原创 202409-3-补丁应用
/定义Hunk结构体来存储每个补丁块的所有信息// 原文件起始行号// 原文件涉及的行数// 新文件起始行号// 新文件涉及的行数// 原文件内容片段// 新文件内容片段。
2025-11-08 14:56:23
985
原创 CCF-CSP认证考试 202312-4 宝藏 题解
队列为空,则输出单位矩阵;队列为1,则输出该矩阵;队列长度大于1,则计算乘积// 头部插入的矩阵要逆序(因为插入顺序是新到旧,但队列顺序是旧到新)i >= 0;i--) {// 尾部插入的顺序就是队列顺序i++) {return res;线段树是一种二叉树,用于高效处理区间查询和区间更新问题。想象你要管理一个数组,经常需要:· 查询某个区间的和/最大值/最小值· 修改某个位置的值如果每次查询都遍历区间,时间复杂度是O(n)。线段树通过预处理和树形结构。
2025-10-05 21:03:30
842
原创 CSP---202305-1 重复局面
国际象棋每一个局面可以用大小为 8 × 8 的字符数组来表示,其中每一位对应棋盘上的一个格子。六种棋子王、后、车、象、马、兵分别用字母 k、q、r、b、n、p 表示,其中大写字母对应白方、小写字母对应黑方。接下来 8 × n 行,依次输入第 1 到第 n步棋后的局面。具体来说每行包含一个长度为 8 的字符串,每 8 行字符串共 64 个字符对应一个局面。现已按上述方式整理好了每步棋后的局面,试统计每个局面分别是第几次出现。输出共 n 行,每行一个整数,表示该局面是第几次出现。从标准输入读入数据。
2025-09-20 16:17:25
359
原创 CSP认证---202303-3-LDAP
/用户dn到属性到值的映射。// 解析基本表达式 attr:value 或 attr~value。// attr~value: 属性存在且所有值都不等于value。// 跳过 ':' 或 '~'// attr:value: 精确匹配。// 对每个用户检查是否满足查询条件。4.注意边界,在pos的调节上须清楚pos的移动边界。// 解析第一个子表达式。// 解析第二个子表达式。// 检查用户是否存在该属性。
2025-09-19 15:31:41
728
原创 哈夫曼编码
例如,在JPEG图像压缩标准中,哈夫曼编码被用来对DCT变换后的量化系数进行编码,从而实现图像数据的压缩。通过为出现频率高的量化系数分配较短的编码,为出现频率低的量化系数分配较长的编码,可以有效地减少图像文件的大小,同时保持图像的质量。通过对文件中的数据进行哈夫曼编码,可以显著减少文件的大小,节省存储空间,同时加快文件的传输速度。哈夫曼编码作为一种经典的数据压缩算法,以其高效的压缩性能和广泛的应用场景,在计算机科学领域占据着重要地位。为出现频率高的字符分配较短的编码,为出现频率低的字符分配较长的编码。
2025-05-29 21:25:12
684
原创 求直线一共有的交点数
基本思路:一共有N条直线,假设有P条直线平行,则有(N-P)条相交直线与P条直线的交点数为P*(N-P)+(N-P) ---->一共有的交点可能性。题型来源:洛谷P2789。
2025-05-24 10:57:11
559
原创 续位值运算---左移、右移
简单来讲,二进制右移几位就在前面加几个0或1,(负数加1,正数加0),同时后面去掉相同的位数。简单来讲,二进制左移几位就在后面加几个0,同时前面去掉相同的位数。在这里进行高低位转换,思路则是将此数右移16位加上此数左移16位。0000 1010 也相当于缩小4倍。1010 0000 也相当于扩大4倍。例题、洛谷P1100。
2025-05-24 10:27:15
210
原创 位值运算--异或的基本理解
如果 p、q 两个值相同,异或结果为 0,即异或的运算法则为:0 ⊕ 0 = 0,1 ⊕ 0 = 1,0 ⊕ 1 = 1,1 ⊕ 1 = 0(同为 0,异为 1) [2]。异或也叫半加运算,其运算法则相当于不带进位的二进制加法:二进制下用1 表示真,0 表示假,这些法则与加法是相同的,只是不带进位,所以异或常被认作不进位加法。p 和 q 的异或是这样一个命题:当p 和 q 中恰好只有一个为真时命题为真,否则为假 [1]。在编程语言中通常为 p^q。两个操作数的对应位都为1时,结果的该位才为1。
2025-05-23 12:44:52
552
原创 图的深度遍历和广度遍历
它会沿着某一条分支一直走下去,直到无路可走时,继续回溯到上一条分支,通常选择递归或者栈的方式进行搜索。图的深度遍历可以理解为“
2025-05-06 09:49:17
152
原创 求二叉树的宽度
2.出队列,记录下该结点的值,便判断该结点的左右孩子十分为空,若不为空,则入队。思路:二叉树的宽度即为遍历层,层中结点数最多的一层的总结点数即为二叉树的宽度。方法:1.首先需要对每一层进行遍历,采用队列记下每一层的结点(利用队列的。3.设置一个变量记录层的结点数,便不断更新。
2025-03-27 19:29:48
258
原创 二叉树的横向输出
{ //递归调用,先访问右子树,再访问左子树,这样可以保证右子树在同一行上,左子树在右子树的下面。void display(tree t, int level) //二叉树的横向输出与其深度有关,所以需要一个level参数来控制输出的缩进。// 输出适当的缩进。
2025-03-27 17:54:27
201
原创 串的KMP算法
/ 匹配成功,返回起始位置。// 添加字符串结束符。// 释放动态分配的内存。return -1;// 释放动态分配的内存。// 初始化 SString。// 计算 next 数组。
2025-03-14 23:03:15
463
原创 palyfair密码(2)加密
#大家可以帮我看看有什么地方需要修改的,谢谢大家了#include <stdio.h>#include <stdlib.h>#include<string.h> /* run this program using the console pauser or add your own getch, system("pause") or input loop */ int main(int argc, char *argv[]) { char p[26],c[5][5],a[51],b[51],ch;
2024-11-07 23:09:35
928
原创 找二维数组中的最小点(所在列的最小,所在行的最小)
int m,n;cin>>m>>n;i<m;i++)j<n;j++)i<m;i++)flag=1;point=0;j<n;j++)point=j;j<m;j++)flag=0;break;c++;i<c;i++)j<m;j++)t<n;t++)return 0;
2024-11-06 23:55:52
311
原创 字符串求差
for(i=0;i<e;i++)for(j=0;j<f;j++)break;if(j==f)for(i=0;i<h-1;i++)for(j=i;j<h;j++)int n=c[i];c[i]=c[j];c[j]=n;d[0]=c[0];for(i=1;i<h;i++)for(j=0;d[j]!='\0';j++)break;d[m]='\0';elsefor(i=0;d[i]!='\0';i++)cout<<d[i];return 0;
2024-11-05 23:14:12
297
原创 结构体数组的排序
int id;int math;int score;}sul[5];for(i=0;i<5;i++)for(i=0;i<5;i++)for(i=0;i<5;i++)for(j=0;j<5;j++)for(i=0;i<4;i++)for(j=i+1;j<5;j++)t=a[i];a[i]=a[j];a[j]=t;for(j=0;j<5;j++)for(i=0;i<5;i++)return 0;
2024-11-05 22:31:54
428
原创 最长连号(11.1)
for(i=0;i<n;i++)for(i=0;i<n;i++)count++;elsecount=0;max=count;return 0;
2024-11-02 18:33:02
219
原创 playfair密码
for(ch='a';ch<='z';ch++)for(m=0;m<len;m++)break;if(m==len)n++;m=0;i<5;i++)j<5;j++)i<5;i++)j<5;j++)return 0;
2024-10-31 23:22:49
473
原创 判断密码是否安全
s[i]!='\0';i++)a=1;b=1;c=1;elsed=1;elsechar s[50];cin>>s;elsecout<<"NO";return 0;
2024-10-29 16:54:04
169
原创 上学迟到问题(10.25)
cin>>s>>v;n=s%v;a=s/v+10;if(n!=0)a=a+1;h=a/60;m=a%60;if(h>=8)if(m>50)elseelseif(m>50)elsereturn 0;
2024-10-27 12:41:57
333
原创 交集,并集
i<n;i++)cout<<endl;Print(a,n);set<int>ds;i<an;i++)i<bn;i++)i<an;i++)j<bn;j++)=0)break;int main()i<10000;i++)cin>>a[i];break;n++;j<10000;j++)cin>>b[j];
2024-10-24 23:57:10
366
原创 删除确定大小的数组中指定数字
int main()int a[10];i<10;i++)cin>>a[i];int b;int d=0;cin>>b;i<10;i++)if(i<9)j<9;j++)d=1;if(d==0)return 0;i<9;i++)return 0;
2024-10-23 23:38:07
235
原创 创建二维空间找鞍点(此行的最大,此列的最小)
if(a[j][point]<max) //如果发现有比这个数更小的数,就结束循环。//记录行最大的那个数的列下标。//假设此时的数就是鞍点。if(flag) //假设成立。
2024-10-21 18:04:17
316
原创 输入分数,得到最高分
/当分数为负值时,跳出循环。int b(int score[],int n) //得到最高分。int a(int score[]) //得到同学的分数。
2024-10-20 23:18:12
272
原创 递归反转字符串
int i,n;left++;right--;int main()cin>>a;turn(a);for(i=0;i<length;i++)cout<<a[i];return 0;
2024-10-18 23:02:42
256
原创 自定义函数交换数组内的最大值和最小值
for(i=1;i<n;i++)max=i;min=i;i=a[max];a[min]=i;int main()int a[3],i;for(i=0;i<3;i++)cin>>a[i];for(i=0;i<3;i++)return 0;
2024-10-17 18:07:05
234
原创 穷举法求两个数的最小公倍数
int main()cin>>a>>b;if(a<b)for(i=a;i>0;--i)d=(a*b)/i;if(b<a)for(i=b;i>0;--i)d=(a*b)/i;cout<<d;return 0;
2024-10-17 18:04:17
175
空空如也
有人能给我看看这个要怎么写吗?我写了一个,但就是无法输出
2024-10-25
可以帮我看看代码有什么问题吗?
2024-10-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1