my模板库
konghhhhh
记录自己的学习过程
展开
-
STL常用api(函数版)
二. 常用APIvector / 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 · 522 阅读 · 0 评论 -
数位dp模板(1的个数0
力扣:1的个数题意:求1-n的所有数中包含的1的个数。模板:数组:dp[pos][state] : 初始化为-1a[len] : 把数字存储为数组dfs(pos, state, limit):pos代表剩余的可变位数state代表前缀中有几个1limit代表前缀是否都为0,(是否一直为上界)up = limit ? a[pos] : 9; for循环up,定义tmp累加,!limit 下记忆化到dp数组中class Solution {public: int a[20]原创 2022-02-20 20:45:08 · 230 阅读 · 0 评论 -
二分查找模板
我写二分老是死循环,找了个模板:点击链接左闭右闭 : [left, right]基础模板1while条件 left <= right 时:left = mid + 1right = mid - 1基础模板2while条件 left < right 时:mid = (left + right) / 2left = mid + 1rgiht = midNOTE这里 (left - 1)但是right没有减一 的理解:本轮已经判断完mid了,实际上就应该判断.原创 2021-12-03 14:55:10 · 486 阅读 · 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,返回isgetline()getline()函数的参数是一个流is和一个s原创 2021-09-04 21:52:28 · 246 阅读 · 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 · 404 阅读 · 0 评论 -
奇安信 笔试题 结束进程树 (+ string流读写模板)
奇安信的笔试题,给一行数列代表进程pid,再给一行代表上面那一行的父进程的pid,再给一个进程pid,问杀死这个进程,会导致杀死几个进程。 很简单了,但是没ac,只能说菜了确实是菜了。 思路就很简单把树存起来,从要杀死的进程遍历其子树数个数就可以了。 但是只对了91%,我估了一下,两个可能吧。一个是我用的邻接表,用pid当数组下标结果pid给的太大越了数组,不过系统给出...原创 2020-01-06 22:18:51 · 512 阅读 · 0 评论 -
POJ 3461 Oulipo(KMP 模板 一个串在另一个串出现的次数(可重叠|不可))
OulipoTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 44509 Accepted: 17841DescriptionThe French author Georges Perec (1936–1982) once wrote a book, L原创 2017-12-14 22:20:39 · 233 阅读 · 0 评论 -
LIS 最长上升子序列 (n*logn) 模板 (二分查找+递归)
最长上升子序列是很早就接触了的问题了,一直用的是动态规划n*n的方法,也知道那不是最好的,可以优化,今天看博客无意中看到LIS,LCS两个词,就特意找了博客看了看,主要是理解一下这里的思想,其实蛮复杂难懂的,自己很难说清楚,还是得引用人家的博客才行。点击打开链接下面还有模板:#include#includeusing namespace std;int a[1000];in原创 2018-01-03 22:06:33 · 720 阅读 · 0 评论 -
线段树模板
今天看了半天,主要是知识点,还看了些博客,最后总结出来线段树的这么一套模板,连带着自己加的些理解注释,模板库终于不是空的了。#includeusing 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 · 159 阅读 · 0 评论