无标题无名氏No.65033572 只看PO
2025-01-18(六)15:58:16 ID:qk3CGp4 回应
( ゚∀。)放寒假,零编程基础开始看网课学C的打卡串
无标题无名氏No.66919867
2025-08-29(五)16:37:32 ID: Ds94pyH
(・ー・)本来开弹幕想头脑风暴的怎么全是问题发言呢,老师伪代码用的cpp语法,虽然没学过(我也没学),但至少得知道cpp传引用变量的时候c得传指针才能改实参吧
有人问为什么不用->,有人答因为传的不是指针,感觉问的和答的都是懵的
无标题无名氏No.66920515
2025-08-29(五)17:57:08 ID: 9ionKfO
>>No.66919576
用栈做括号匹配这种知识感觉是一旦知道了脑子里就想不出别的做法了( ゚∀。)
无标题无名氏No.66921152
2025-08-29(五)19:43:27 ID: Ds94pyH
>>No.66920515
还真是,因为不跟我讲脑子里思路永远是0,跟我讲了是1,哈哈哈哈呜呜。
无标题无名氏No.66932439
2025-08-31(日)15:19:58 ID: Ds94pyH
>>No.66921152
其实感觉自己问题就出在没法提炼出数学模型,看到题目要求脑子里只知道“这个一看就是对的”“这个一看就是错的”,却不能描述自己判断的依据( ・_ゝ・)旦
无标题无名氏No.66954783
2025-09-03(三)15:53:11 ID: Ds94pyH
刘姥姥初试KMP( ˇωˇ)人
顺便看评论说鹏哥那个也讲过,居然啊居然,教C但是远比C广泛周到多了,都有点后悔推给室友了|д` )虽然这么说但金子发光是抵挡不住的,我的确能够相信他们宣传的那些拿到好offer的是真的了(*゚∇゚)
无标题无名氏No.66956149
2025-09-03(三)19:24:14 ID: Ds94pyH
其实还没开始学就知道了,硬背下来用会比理解的性价比多得多(つд⊂)但是还是试着理解了一下吧。
特点就是源串不需要回溯到比较失败的开头字符的下一个。
由此产生的疑惑是“不会漏掉正确答案吗”。
如果有答案,使用KMP找到答案前,源串某轮比较失败的结果有两种情况:答案还在后面;包括了答案的前面一部分,在末尾截断了(包含答案后一部分不可能)。
第一种情况不回溯毫无影响,所以要考虑的就是第二种。而next数组就是用来定位这个“前面一部分”在哪。
很多时候即使定位了可能紧接着下一个就又是断的,然后直接跳到下一个比。
每个都要挨个算出来是因为从哪里截断都有可能。
明明是要分析源串、却逮着模式串计算next数组是因为在一轮失败的比较里,比较过的源串和模式串内容完全相同,分析模式串也就是分析了源串。
模式串有“aaaa”这种重复的开头如果匹配失败,会导致卡在这进行几轮无意义的次数呈等差数列的比较是因为,系统只会想到这一步:“aaaa对了,那源串后面的aaa和模式串前面的aaa就是对应的”,不会明白 由于源串下一个是b,所以一堆a怎么凑也不会有正确答案 的道理。
至于相应的nextvalue还是死记硬背吧(;´ヮ`)7说白了我上面那个解释虽然说得通但总结得完全不够典型。也就是说一知半解。