- 博客(18)
- 收藏
- 关注
原创 字符串哈希
字符串哈希的原理就是将每一个字符串映射到一个数上,当然数的范围是非常大的,可以基本容纳到一个字符串对应一个特殊的值,为了避免溢出,可以采用unsigned long long 的类型,可以自然溢出,也就是自动取模。那么现在就是让一个字符串拥有一个特殊的值了,考虑到字符串中字符的先后顺序,可以用一个基数的次方来代替顺序,也就是说可以用字符的ascii值来乘于基数的次方,来实现字符的顺序。在进行字符串匹配的过程中,除了可以用kmp进行高效匹配外,还可以使用字符串哈希来进行高效匹配。
2025-02-28 20:18:26
256
原创 链表(vector,list)
int value;i <= n;cnt = 0;return 0;首先是单向链表vectorvector的创建//创建空链表//创建空间为100,初始始值为0的值//b始a的复制//b复制a的区间(a.begin()+3,a.end()-3)//二维vector的两种创建vector的各种功能函数//添加元素到末尾//从结尾删除元素。
2025-02-25 21:11:11
605
2
原创 分治的思想
快速了解分治策略,几道例题详细讲解(洛谷P1908 逆序对,[CF 1385D]a-Good string,洛谷P1429 平面最近点对(加强版)
2025-01-13 22:24:40
526
1
原创 几个简单的排序(冒泡,选择,插入)
冒泡排序很好理解,每次都是选择一个位置,将这个位置排好,如排一个数组要求是从小到大,先确定最后一个数字,从前向后扫,如果前面的数大于后面的,就交换,即swap(a[j],a[j+1]),整个过程像冒泡泡一样,将最大值传递到指定位置,排完这个位置后,后面不再考虑这个位置,代码如下。插入排序是从小到大思想,让数组逐步扩展,逐步有序,第一开始,从a1开始长度为1的数组一定有序,再扩展到a2,让a1,a2有序,逐步扩展一直到an,每次只用确定一个数。冒泡排序时间复杂度为O(n2),通常只能排1e4个数,多了超时。
2025-01-11 17:17:49
294
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人