写作绅士,读作丧尸 X岛揭示板
顺猴者昌 逆猴者亡 首页版规 |用户系统 |移动客户端下载 | 丧尸路标 | | 常用图串及路标 | 请关注 公众号:【矛盾苇草】| 人,是会思考的芦苇
常用串:·豆知识·跑团板聊天室·公告汇总串·X岛路标

No.65033572 - 无标题 - 学业打卡


回应模式
No.65033572
名 称
E-mail
标题
颜文字
正文
附加图片

•欢迎各路学霸考王互触
•可以询问备考问题、日西考试成绩
•本版发文间隔15秒


无标题 无名氏 2025-01-18(六)15:58:16 ID:qk3CGp4 [举报] [订阅] [只看PO] No.65033572 [回应] 管理
( ゚∀。)放寒假,零编程基础开始看网课学C的打卡串
无标题 无名氏 2025-08-29(五)15:51:12 ID:Ds94pyH [举报] No.66919518 管理
一点经验,如果前一天码了坨石出来多遍排查无果,第二天与其努力去理解昨天的自己不如换个思路重头写,说不定一次就对还更快思路也更清晰
无标题 无名氏 2025-08-29(五)15:52:50 ID:Ds94pyH [举报] No.66919525 管理
以及算法课明白一个思路就行了,具体到代码实现顺着自己思路来就行,不一定非得和老师示范一样,比如多或者少设个指针,用什么循环自增减
无标题 无名氏 2025-08-29(五)15:55:06 ID:Ds94pyH [举报] No.66919542 管理
最后千万不要给ai验错完后就觉得自己写对了,一定要设数据,要跑要调试( ´д`)
无标题 无名氏 2025-08-29(五)15:59:49 ID:Ds94pyH [举报] No.66919576 管理
( ˇωˇ)栈与队列,启动
顺便感觉括号匹配这个好天才。
无标题 无名氏 2025-08-29(五)16:37:32 ID:Ds94pyH [举报] No.66919867 管理
(・ー・)本来开弹幕想头脑风暴的怎么全是问题发言呢,老师伪代码用的cpp语法,虽然没学过(我也没学),但至少得知道cpp传引用变量的时候c得传指针才能改实参吧
有人问为什么不用->,有人答因为传的不是指针,感觉问的和答的都是懵的
无标题 无名氏 2025-08-29(五)17:57:08 ID:9ionKfO [举报] No.66920515 管理
>>No.66919576
用栈做括号匹配这种知识感觉是一旦知道了脑子里就想不出别的做法了( ゚∀。)
收起 查看大图 向左旋转 向右旋转
无标题 无名氏 2025-08-29(五)19:41:58 ID:Ds94pyH [举报] No.66921130 管理
如果你觉得自己经验主义错误犯得太多了,看看这个
无标题 无名氏 2025-08-29(五)19:43:27 ID:Ds94pyH [举报] No.66921152 管理
>>No.66920515
还真是,因为不跟我讲脑子里思路永远是0,跟我讲了是1,哈哈哈哈呜呜。
收起 查看大图 向左旋转 向右旋转
无标题 无名氏 2025-08-29(五)20:32:06 ID:Ds94pyH [举报] No.66921473 管理
如果你感觉自己犯错了老是不吸取经验,看看这个
( ・_ゝ・)
收起 查看大图 向左旋转 向右旋转
无标题 无名氏 2025-08-29(五)20:32:44 ID:Ds94pyH [举报] No.66921482 管理
发错了是这个
无标题 无名氏 2025-08-31(日)15:19:58 ID:Ds94pyH [举报] No.66932439 管理
>>No.66921152
其实感觉自己问题就出在没法提炼出数学模型,看到题目要求脑子里只知道“这个一看就是对的”“这个一看就是错的”,却不能描述自己判断的依据( ・_ゝ・)旦
无标题 无名氏 2025-09-03(三)15:53:11 ID:Ds94pyH [举报] No.66954783 管理
刘姥姥初试KMP( ˇωˇ)人

顺便看评论说鹏哥那个也讲过,居然啊居然,教C但是远比C广泛周到多了,都有点后悔推给室友了|д` )虽然这么说但金子发光是抵挡不住的,我的确能够相信他们宣传的那些拿到好offer的是真的了(*゚∇゚)
无标题 无名氏 2025-09-03(三)19:24:14 ID:Ds94pyH [举报] No.66956149 管理
其实还没开始学就知道了,硬背下来用会比理解的性价比多得多(つд⊂)但是还是试着理解了一下吧。

特点就是源串不需要回溯到比较失败的开头字符的下一个。

由此产生的疑惑是“不会漏掉正确答案吗”。
如果有答案,使用KMP找到答案前,源串某轮比较失败的结果有两种情况:答案还在后面;包括了答案的前面一部分,在末尾截断了(包含答案后一部分不可能)。

第一种情况不回溯毫无影响,所以要考虑的就是第二种。而next数组就是用来定位这个“前面一部分”在哪。
很多时候即使定位了可能紧接着下一个就又是断的,然后直接跳到下一个比。

每个都要挨个算出来是因为从哪里截断都有可能。
明明是要分析源串、却逮着模式串计算next数组是因为在一轮失败的比较里,比较过的源串和模式串内容完全相同,分析模式串也就是分析了源串。
模式串有“aaaa”这种重复的开头如果匹配失败,会导致卡在这进行几轮无意义的次数呈等差数列的比较是因为,系统只会想到这一步:“aaaa对了,那源串后面的aaa和模式串前面的aaa就是对应的”,不会明白 由于源串下一个是b,所以一堆a怎么凑也不会有正确答案 的道理。
至于相应的nextvalue还是死记硬背吧(;´ヮ`)7说白了我上面那个解释虽然说得通但总结得完全不够典型。也就是说一知半解。
无标题 无名氏 2025-09-03(三)21:01:29 ID:Ds94pyH [举报] No.66956681 管理
哈哈next数组函数怎么写出来的啊,我会个屁( ・_ゝ・)
无标题 无名氏 2025-09-03(三)21:26:11 ID:Ds94pyH [举报] No.66956795 管理
哈哈动态规划研究着像是比递归还抽象的东西吧( ・_ゝ・)
无标题 无名氏 2025-09-04(四)09:52:49 ID:Ds94pyH [举报] No.66958938 管理
“理解代码的方法就是跟着代码跑一遍”

ok,总之目前想理解的就是教材上版本的代码,因为next数组算的版本还有不一样的……
我觉得主要是数组第一位空不空出来的问题导致出现了“当没有重复的情况时,j=1”,因为这样在之后索引到这一位(对应的j=1)时,如果失配,就意味着再往前也肯定找不到能重叠的了——因为j已经是开头第一个元素了;j就滑成0。下一轮由于j是0必推进,具体就是在当前的next位置留下1(未来匹配到这失败的结果就是j=0,如上所说),然后比较下一位

冥冥之中函数做到了一个事,和kmp本体一样的事,就是能够保证i不回溯也能准确得出每个位置的结果,不遗漏可能性,很牛逼
无标题 无名氏 2025-09-04(四)09:59:03 ID:Ds94pyH [举报] No.66958963 管理
>>No.66958938
具体是怎么做到不遗漏的,大概就是因为在写next函数的同时也已经用上了next函数的逻辑来辅助推理

也就是j=next[j]这一步,可以保证j往前移动时不用移动到头,而是移动到上一个已经被记录下来的、类似于最小公共点的地方,能保证在这之前已经有几个前后缀是重合的了,已经算出来过并且存起来了,直接用。

( ゚∀。)哇哦,原来这就是动态规划。
我是笨比
无标题 无名氏 2025-09-04(四)10:49:03 ID:Ds94pyH [举报] No.66959165 管理
像小学奥数课,你总觉得你抓到了一点蛛丝马迹能想出来却死活想不出来,最后只能套辅导书给你总结好的规律和公式,下次遇到题又套下一个公式,没公式给套了,就解不出来了
收起 查看大图 向左旋转 向右旋转
无标题 无名氏 2025-09-04(四)20:10:34 ID:Ds94pyH [举报] No.66961902 管理
boss进入二阶段(・ω・)

UP主: