摘要:
## 数位 DP ```cpp #include using namespace std; using ll = long long; int dp[64][10][10][10][2][2][2][2][2][2]; int main() { ll n; int b1, b2, b3; cin > 阅读全文
摘要:
1. 系统调用是操作系统为应用程序使用内核功能所提供的接口。 2. 广义指令就是系统调用命令,而命令解释器属于命令接口,shell 是命令解释器,它也属于命令接口。系统中的缓存全部由操作系统管理,对用户是透明的,操作系统不提供管理系统缓存的系统调用。 3. 引入多道程序设计后,程序的执行就失去了封闭 阅读全文
摘要:
```cpp #include using namespace std; struct big_number { bool is_postive; string s; big_number () {} big_number (string ss) { if (ss[0] != '-') {this- 阅读全文
摘要:
Python3 heapq # 默认小根堆 Heap = [] # 初始化为空 heapq.heapify(list) # 将一个list原地转换为堆,线性时间 heapq.heappush(Heap, item) # 插入一个元素 item,类型随意 x, (x, y) 均可 Top = heap 阅读全文
摘要:
题目链接 首先这道题最暴力的想法就是给每个相同的字符在并查集上合并,最后暴力判断,但是这样复杂度是 $O(n^2)$ 会得到一个 TLE 。 由于并查集具有可以合并的性质,因此可以使用神奇的 倍增 。 对于一个长度为 $n$ 的回文串 $s$ 来说,如果我们复制一份原字符串到末尾,那么对于一个回文子 阅读全文
摘要:
题目描述 简要描述:给定一个长度为 $N$ 的数组,求数组的子数组满足最大值为 $X$ 且最小值为 $Y$ 的子区间的个数。 做法 1. ST表 + 二分 时间复杂度: $O(n \log n)$ 对于每个位置,二分出以它为左端点最大值为 $X$ 的最远和最近的位置,以及以它为左端点最小值为 $Y$ 阅读全文
摘要:
[国家集训队]最长双回文串 题目描述 顺序和逆序读起来完全一样的串叫做回文串。比如acbca是回文串,而abc不是(abc的顺序为abc,逆序为cba,不相同)。 输入长度为$n$的串$S$,求$S$的最长双回文子串$T$,即可将$T$分为两部分$X$,$Y$,($|X|,|Y|≥1$)且$X$和$ 阅读全文