摘要: clion写代码的时候会有while(cin>>n)无法终止的问题 #include<bits/stdc++.h> using namespace std; int main() { int a,b; freopen("./t.in","r",stdin); freopen("./t.out","w 阅读全文
posted @ 2025-05-10 22:47 Guaninf 阅读(5) 评论(0) 推荐(0)
摘要: 题意 给定一个字符串集合P和字符串S , 找出S由P中字符串组成的最长前缀 , P中元素可以重复使用 思路 设\(f(i)\)为\(1-i\)位置都可以 , 考虑接下来的从\(i+1\)开始的字符串 , 枚举每一个集合中的字符串 , 如果\(i+1\)开始的和之前的相同 , 那么更新\(f\) 代码 阅读全文
posted @ 2025-05-10 22:37 Guaninf 阅读(6) 评论(0) 推荐(0)
摘要: 对于边界问题 , 思考的时候永远构成闭区间 , 如果不是闭区间 , 则通过将操作量指针想成已操作数指针 , 从而解决边界问题 比如kmp中\(s[i] \neq s[j+1]\) , 想着要把\(j\)为已经匹配的最大指针位置 , 从而能自然推导出下一个需要匹配的是\(j+1\) 代码 #inclu 阅读全文
posted @ 2025-05-10 22:03 Guaninf 阅读(11) 评论(0) 推荐(0)
摘要: Q : 堆排序和插入排序的共同点 , 和归并排序的共同点 ? 空间原址性 : 任何时候都只需要常数个额外的元素空间存储 时间复杂度 : O(nlogn) 6.1 堆 堆是一个数组 堆有两个属性 , A.length表示元素个数 , A.heap-size表示有多少个堆元素存储 , 一个是容量 , 一 阅读全文
posted @ 2025-05-10 20:35 Guaninf 阅读(5) 评论(0) 推荐(0)
摘要: #define lg log_2 Q : 分治策略中如何求解一个问题 ? 递归求解 每层递归时 , 需要三个步骤 : 分解 , 解决和合并 当问题足够大需要递归求解 , 那么为递归情况 当问题足够小时 , 称为基本情况 Q : 如何求解一个问题的递归式 ? 代入法 . 猜测一个界 , 然后用数学归纳 阅读全文
posted @ 2025-05-10 15:44 Guaninf 阅读(6) 评论(0) 推荐(0)