my模板库
konghhhhh
记录自己的学习过程
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
STL常用api(函数版)
二. 常用API vector / list / deque vector<int>v(n, val); v.resize(n, val); vv.resize(n, vector<int>(m, val)); // 二维数组 v.insert(v.begin(), val); v.erase(v.begin() + i); v.push_back(val); v.pop_back(); v.size(); v.empty(); // deq原创 2022-03-15 21:15:10 · 600 阅读 · 0 评论 -
数位dp模板(1的个数0
力扣:1的个数 题意:求1-n的所有数中包含的1的个数。 模板: 数组:dp[pos][state] : 初始化为-1 a[len] : 把数字存储为数组 dfs(pos, state, limit): pos代表剩余的可变位数 state代表前缀中有几个1 limit代表前缀是否都为0,(是否一直为上界) up = limit ? a[pos] : 9; for循环up,定义tmp累加,!limit 下记忆化到dp数组中 class Solution { public: int a[20]原创 2022-02-20 20:45:08 · 288 阅读 · 0 评论 -
二分查找模板
我写二分老是死循环,找了个模板:点击链接 左闭右闭 : [left, right] 基础模板1 while条件 left <= right 时: left = mid + 1 right = mid - 1 基础模板2 while条件 left < right 时: mid = (left + right) / 2 left = mid + 1 rgiht = mid NOTE 这里 (left - 1)但是right没有减一 的理解: 本轮已经判断完mid了,实际上就应该判断.原创 2021-12-03 14:55:10 · 525 阅读 · 0 评论 -
STL常用接口
<string.h> 初始化string string s1; string s2(s1); string s3("string"); string s4(10, 'c'); string的输入 stream is, os; os << s; is >> s; getline(is, s); // 从is中读取一行给s,返回is getline() getline()函数的参数是一个流is和一个s原创 2021-09-04 21:52:28 · 290 阅读 · 0 评论 -
c/c++处理输入(字符串处理)
有时候输入会给定字符串的形式,需要进行特定处理 c++ stringstream 流处理 #include <iostream> #include <sstream> using namespace std; int main() { // 逗号分隔开的串,使用getline()函数 string str("1,2,-3,-4"); string tmp; int a; stringstream input(str); while(getline(input, .原创 2021-09-01 19:44:14 · 495 阅读 · 0 评论 -
奇安信 笔试题 结束进程树 (+ string流读写模板)
奇安信的笔试题,给一行数列代表进程pid,再给一行代表上面那一行的父进程的pid,再给一个进程pid,问杀死这个进程,会导致杀死几个进程。 很简单了,但是没ac,只能说菜了确实是菜了。 思路就很简单把树存起来,从要杀死的进程遍历其子树数个数就可以了。 但是只对了91%,我估了一下,两个可能吧。一个是我用的邻接表,用pid当数组下标结果pid给的太大越了数组,不过系统给出...原创 2020-01-06 22:18:51 · 568 阅读 · 0 评论 -
POJ 3461 Oulipo(KMP 模板 一个串在另一个串出现的次数(可重叠|不可))
Oulipo Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 44509 Accepted: 17841 Description The French author Georges Perec (1936–1982) once wrote a book, L原创 2017-12-14 22:20:39 · 272 阅读 · 0 评论 -
LIS 最长上升子序列 (n*logn) 模板 (二分查找+递归)
最长上升子序列是很早就接触了的问题了,一直用的是动态规划n*n的方法,也知道那不是最好的,可以优化,今天看博客无意中看到LIS,LCS两个词,就特意找了博客看了看,主要是理解一下这里的思想,其实蛮复杂难懂的,自己很难说清楚,还是得引用人家的博客才行。点击打开链接 下面还有模板: #include #include using namespace std; int a[1000]; in原创 2018-01-03 22:06:33 · 768 阅读 · 0 评论 -
线段树模板
今天看了半天,主要是知识点,还看了些博客,最后总结出来线段树的这么一套模板,连带着自己加的些理解注释,模板库终于不是空的了。 #include using namespace std; const int MAX=10010; int N,M,ans; int a[MAX]; struct node { int l,r; int sum; int f; }tree[MAX原创 2017-09-02 17:36:25 · 195 阅读 · 0 评论
分享