03 2024 档案

摘要:简单来说,建立一个 AC 自动机有两个步骤: 基础的 Trie 结构:将所有的模式串构成一棵 Trie。 KMP 的思想:对 Trie 树上所有的结点构造失配指针。 然后就可以利用它进行多模式匹配了。 TODO AC 自动机上 DP 阅读全文
posted @ 2024-03-30 09:52 congmingyige 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2024-03-30 09:51 congmingyige 阅读(5) 评论(0) 推荐(0) 编辑
摘要:看到别人的视频讲解 AtCoder Beginner Contest 346 A 至 G 題讲解 by dreamoon C 如果用sort写,那么再从小到大遍历也需要写几行 #include <cstdio> #include <cstdlib> #include <cstring> #inclu 阅读全文
posted @ 2024-03-29 19:30 congmingyige 阅读(16) 评论(0) 推荐(0) 编辑
摘要:A 要么所有人全部做左边的筷子,要么全部右边的筷子。依次处理。 大家按照顺序拿筷子,如果成立,当前的人,所需方向的筷子肯定没拿。如果所需方向的反方向的筷子被拿了,就结果*2(第一选择方向可以任选);反而,肯定要求第一选择方向是所需方向,就结果*1。 1 #include <cstdio> 2 #in 阅读全文
posted @ 2024-03-29 14:57 congmingyige 阅读(20) 评论(0) 推荐(0) 编辑
摘要:别人写的 LIS(最长上升子序列)问题的三种求解方法以及一些例题_lis算法-CSDN博客 阅读全文
posted @ 2024-03-28 20:28 congmingyige 阅读(3) 评论(0) 推荐(0) 编辑
摘要:一般priority_queue就能弄 手写堆,一般是删除其中一个位置(非根和最后一个叶子)的点,那么需要delete(数值为max/min),然后down操作。然后修改后有一个新值,要up 要记录a[x]=y,给出一个x,要获得这个节点在树上的位置 c++优先队列(堆) - congmingyig 阅读全文
posted @ 2024-03-27 20:49 congmingyige 阅读(5) 评论(0) 推荐(0) 编辑
摘要:1 /** 2 1. rightmost_smaller,那肯定是第一个啊。所以不成立! : 应该是小于x的数最靠右的那个 3 2. 两个方法,a. 手写二分while (l<r)... b.binary_search函数upper_bound和lower_bound。它们互相对照 4 3. 手写二 阅读全文
posted @ 2024-03-27 03:04 congmingyige 阅读(42) 评论(0) 推荐(0) 编辑