- 博客(23)
- 收藏
- 关注
原创 7-1 列出连通集
作者 陈越单位 浙江大学给定一个有 n 个顶点和 m 条边的无向图,请用深度优先遍历(DFS)和广度优先遍历(BFS)分别列出其所有的连通集。假设顶点从 0 到 n−1 编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。
2025-04-07 20:21:31
245
原创 L1-6 剪切粘贴
L1-6 剪切粘贴分数 15全屏浏览切换布局作者 DAI, Longao单位 杭州百腾教育科技有限公司使用计算机进行文本编辑时常见的功能是剪切功能(快捷键:Ctrl + X)。请实现一个简单的具有剪切和粘贴功能的文本编辑工具。abcdefgcdeabfgbfgabfcdeg每次操作后的字符串即为新的当前字符串。在若干次操作后,请给出最后的编辑结果。
2025-04-07 11:39:54
455
原创 以差分为底层数组的树状数组,实现单点查询,区间修改均为O(logn)
那么差分为底数组的树状可以实现单点查询O(logn),区间修改O(logn)差分数组单点查询效率为O(n),区间修改效率为O(1),,所以前缀和就是单点查询),单点修改为O(logn),树状数组区间查询效率为O(logn)(前缀区间求和,,所以单点修改就是区间修改。
2025-03-31 09:00:00
77
原创 dfs(842排列,843n皇后两种dfs搜索)
左上角为原点,设直线方程,其中y=x+b,求解b,b可根据实际进行调整。n皇后:n*n棋盘上任意两个皇后不得共行,列,斜线。
2025-03-28 21:00:00
294
原创 7-18包装机(栈和队列)
一种自动包装机的结构如图 1 所示。首先机器中有 N 条轨道,放置了一些物品。轨道下面有一个筐。当某条轨道的按钮被按下时,活塞向左推动,将轨道尽头的一件物品推落筐中。当 0 号按钮被按下时,机械手将抓取筐顶部的一件物品,放到流水线上。图 2 显示了顺序按下按钮 3、2、3、0、1、2、0 后包装机的状态。图1 自动包装机的结构图 2 顺序按下按钮 3、2、3、0、1、2、0 后包装机的状态一种特殊情况是,因为筐的容量是有限的,当筐已经满了,但仍然有某条轨道的按钮被按下时,
2025-03-26 20:30:45
397
原创 L2-1 彩虹瓶(栈)
彩虹瓶的制作过程(并不)是这样的:先把一大批空瓶铺放在装填场地上,然后按照一定的顺序将每种颜色的小球均匀撒到这批瓶子里。假设彩虹瓶里要按顺序装 N 种颜色的小球(不妨将顺序就编号为 1 到 N)。现在工厂里有每种颜色的小球各一箱,工人需要一箱一箱地将小球从工厂里搬到装填场地。如果搬来的这箱小球正好是可以装填的颜色,就直接拆箱装填;如果不是,就把箱子先码放在一个临时货架上,码放的方法就是一箱一箱堆上去。
2025-03-26 18:08:20
283
原创 6666翻了
从左到右扫描输入的句子:如果句子中有超过 3 个连续的 6,则将这串连续的 6 替换成 9;但如果有超过 9 个连续的 6,则将这串连续的 6 替换成 27。其他内容不受影响,原样输出。
2025-03-26 09:52:41
288
原创 选民投票(PTA 7-61)
编程统计候选人的得票数。有若干位候选人(n<=10),候选人姓名从键盘输入(候选人姓名不区分大小写,姓名最长为9个字节),若干位选民,选民每次输入一个得票的候选人的名字(姓名最长为9个字节),若选民输错候选人姓名,则按废票处理。程序自动统计各候选人的得票结果,并按照得票数由高到低的顺序排序。最后输出各选票人得票结果和废票信息。
2024-12-30 19:17:54
335
原创 期末复习题基础篇
return 0;Tip:判断是否为素数is_prime(),重点i<=p/i;int res=0;i<=n;其中a和b是用户传入的参数。int t=*a;*a=*b;*b=t;a 是数组,n是数据个数i<len;='z'&&s[i]!int len=0;i<len;i++){j<len;j++){
2024-12-23 16:49:07
1078
原创 6-17 字符串消消乐
级别,思路是消去两个字符后,立刻把之后的字符向前移动两次,如果i==0,本人觉得这题可能有点难在于要执行到第几位字符,有点难掌控吧。我的解法有点偏向于模拟这个过程,还是比较笨,望不吝赐教。,意义是回溯一格,如果本位是第一位,则相当于不回溯。都无所谓,因为我的是模拟这个过程,可能更利于理解吧。首先声明一点,我的解法复杂度为。
2024-12-20 22:06:21
211
原创 6-16 找密码
在一个古堡的大门上有5行字符。其中隐藏着打开大门的密码。密码共有4位数字(0到9)。小明发现了一种找密码的方法:最后一行中的字符在第一行字符中出现的总次数是密码的第一个数字,依此类推。输入数据保证每行得到的数字在0到9之间。int a[200]判断每个字符是否出现过,用1表示出现过,0则是没有,在某些需要判断次数的场合,可以用出现就a[op]++表示出现次数。
2024-12-20 21:17:21
159
原创 6-14 分词并显示(PTA)
第二个函数第一要return 单词个数,第二要把每个单词首地址赋值给pStr指针数组的元素,同时要在每个单词的末尾后一位添加结束符,其中。要求用指针完成函数中各参数的传递与访问,自定义函数头和函数体中不得出现数组下标形式的表示法。题目给出的代码如下(实际上直接按下回车键会导致越界访问,题目给出的代码有缺陷),空格用于分隔单词。请将字符串中用空格分隔的单词在屏幕上输出来。第一个函数注意80字符以内,只要字母或者空格,回车符号结束输入(程序的功能是:调用Input函数读入。到此结束,PTA可AC。
2024-12-20 20:44:12
240
原创 不同方法求n以内的质数
三种方法分别在n=1e4,1e6,1e8计算执行时间 ,每种方法的后面有,代码,三个运行结果后续的图不再赘叙1e4的结果为0.001秒1e6的结果为0.371秒1e8的结果为260.559秒 1e4结果:0.000秒后来1e6不能定义那么大的ll数组,改成了char型别的,此外,第二个for内的i作了修改,从int 修改为ll 1e6结果:0.254秒1e8:没有然后了,不允许申请太大的数组,本人学艺不精,确实没法,不过粗略估计为第一种方法的1/10 1e4不出意外是0.000秒让我意外的
2024-11-10 23:33:46
212
原创 *和++的羁绊
从右到左执行,先做自增行为(此处的自增是将p的地址往后一个整数型别单位),再*p解引用,又因为++在后面,因此解引用的是没有自增前的p。3)++(*p)和++*p相同,都是从右向左,先解引用,再自增,因为++在前,因此打印的值是*p自增后的值。2)*++p和*(++p)相同:先自增,再解引用,与1)的区别是,此处解引用的是自增后的p。如图,运行两次,一次印出1,一次印出2,p仍然指向num[0],但是num[0]已经为3。第一次打印的值是1,第二次打印的值是3,此时p已经指向了第三个元素,num[2]
2024-09-17 18:16:45
495
1
原创 vs2022使用方法
输出窗口的字体及大小也可以在上列过程中修改。9.程序员编程的习惯:--保存在编写程序时,左上角有一个*号,代表现在你正在编辑这个文件,直到你保存文件后(开始执行不调试,此时会自动保存//以及手动保存,保存按钮(ctrl+s)),该*会消失,即你的文件已经保存好了,如果退出vs且有文件没有保存时,会提示是否保存,且会显示哪个项目的哪个文件没保存(会显示*)在vs中有自动保存的功能 ,但不推荐使用(因为要养成随时保存的习惯)
2024-08-13 01:30:04
2086
原创 看了两个数值交换后的一些感想
1.对于等号在c语言中的作用更加深刻,=是用来将等号右边的结果复制到左边的记忆体内,且如果左边的记忆体内有数据,就会产生覆盖的效果,这导致数据交换不能简单的用integer1=integer2;4.对于%d符号的理解,%d可用于占位,比如printf,scanf,双引号内可用于占位,其中的内容在括号内,双引号外,逗号后去找,如printf("%d内\n",integer1),printf输出的内容是integer1里的内容。%d的内容应该从哪里读取?还存在的疑问:A.4中提及的一行代码中\n的作用?
2024-07-14 23:41:10
290
空空如也
vs2022,用.cpp后缀的文件编写c++,源文件能过便于但外部文件大量报错
2024-10-14
vs2022,cpp源文件没问题,外部文件大量报错,啥情况
2024-10-14
通过链表打印数组数据,输入输出释放内存三个部分
2024-10-11
c语言链表中函数不能调用另一个函数
2024-10-10
malloc函数引用了库却仍未定义标识符
2024-09-22
指针在函数里怎么用?
2024-09-12
code blocks无法编译的问题
2024-08-06
code blocks里的项目创建后应该怎么用?
2024-08-02
if else做四则运算的一些问题
2024-07-27
if从句中的一些小问题
2024-07-19
初学者,想问下哪里出错了
2024-07-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人