![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LC
文章平均质量分 73
烂柯人8
这个作者很懒,什么都没留下…
展开
-
C++ 正则处理
头文件C++正则都在#include<regex>中基本文法符号含义^匹配行的开头$匹配行的结尾.匹配任意单个字符[…]匹配[]中的任意一个字符(…)设定分组\转义字符\d匹配数字[0-9]\D\d取反\w匹配字母[a-z],数字,下划线\W\w取反\s匹配空格\S\s取反+前面的数字重复一次或多次*前面的元素重复任意次?前面的元素重复0次或1次{n}原创 2021-10-28 10:57:25 · 718 阅读 · 0 评论 -
数位DP总结
题目类型数位DP题目往往呈现出如下题目特征:给定一个闭区间[L,R], 求这个区间中满足某个条件的数的总数量题目示例某人命名了一种不降数, 这种数字必须满足从左到右各位数字呈非下降关系, 如123, 446现在大家决定玩一个游戏, 指定一个整数闭区间[a,b], 问这个区间内有多少个不降数.解决思路1.转换范围首先把统计[L,R]范围内满足条件的数字转化成统计[0,N]内满足条件的数字数量.则ans [L,R] = ans[0,R] - ans[0,L-1]这样就把双边界改为了只需要考虑上原创 2021-08-27 16:38:40 · 117 阅读 · 0 评论 -
C++——整数快速幂与矩阵快速幂
整数快速幂传统情况下求解整数快速幂,需要使用一个for循环,不断乘,循环n-1次整数快速幂的思路在于x^(m+n) = x^(n) * x^(m),以此通过不断将原始整数累乘,这里设定幂依次为1,2,4,8……可以看到正好为二进制进位,因此利用将次数转为二进制编码,如9的二进制编码应为1001,来简化计算过程以下是代码:int quickpow(int x,int n){ int res = x; int ans = 1; while(n){ if(n&原创 2021-06-04 19:25:22 · 557 阅读 · 0 评论 -
C++——转换标准函数式为逆波兰表达式并计算结果
前缀、中缀、后缀表达式开宗明义,首先搞清楚概念前缀表达式(波兰表达式):运算符位于操作数之前,如*34中缀表达式(常见数学表达式):如(3+4)*5后缀表达式(逆波兰表达式):如34+5*如何将中缀表达式转换为逆波兰表达式算法:使用两个栈,一个符号栈,一个运算栈具体计算规则如下:1.数字直接入队列2.运算符要与栈顶元素比较 ①栈为空直接入栈 ②运算符优先级大于栈顶元素优先级则直接入栈 (这里一定注意是优先级大于才可入栈,你可以在网上看到各种抄袭版本,都是大于等于,错都很一致,误原创 2021-05-31 23:43:28 · 1380 阅读 · 2 评论 -
map与unordered_map的区别以及map的排序
map与unordered_map区别map头文件 #include<map>内部基于红黑树实现红黑树红黑树是一种自平衡的二叉查找树性质:1.每个节点要么是黑色,要么是红色2.根节点黑色3.每个叶子节点是黑色4.每个红色节点是黑色5.任意一节点到每个叶子节点的路径都包含数量相同的黑节点自平衡:1.左旋:以某个结点作为支点(旋转结点),其右子结点变为旋转结点的父结点,右子结点的左子结点变为旋转结点的右子结点,左子结点保持不变。如图3。2.右旋:以某个结点作为支点(旋转结原创 2021-05-20 11:13:46 · 438 阅读 · 0 评论 -
每日linux——性能分析1
top命令实时显示系统中各个进程的资源占用状况top [参数]显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等参数选项-b 批处理-c 显示完整的治命令-I 忽略失效过程-s 保密模式-S 累积模式-i<时间> 设置间隔时间-u<用户名> 指定用户名-p<进程号> 指定进程-n<次数> 循环显示的次数显示内容第一行,任务队列信息,同 uptime 命令的执行结果当前系统时间、系统运行时间、用户登录转载 2021-05-07 11:07:50 · 67 阅读 · 0 评论 -
每日linux——磁盘存储
df命令df命令用来检查linux服务器的文件系统的磁盘空间,获取磁盘被占用空间大小与剩余空间命令格式df [选项] [文件]默认情况下,磁盘空间将以 1KB 为单位进行显示选项功能-a 全部文件系统列表-h 方便阅读方式显示-H 等于“-h”,但是计算式,1K=1000,而不是1K=1024-i 显示inode信息-k 区块为1024字节-l 只显示本地文件系统-m 区块为1048576字节–no-sync 忽略 sync 命令-P 输出格式为POSIX–sync 在取得磁转载 2021-05-07 09:56:53 · 77 阅读 · 0 评论 -
每日linux——文件权限设置
chmod命令chmod用于改变linux系统文件或目录的访问权限,控制文件或目录的访问权限。可以使用包含字母和操作符表达式的文字设定法,或是包含数字的数字设定法。认识文件权限文件或目录的访问权限分为只读、只写和可执行三种。每一文件或目录的访问权限都有三组,每组用三位表示1.文件属主的读、写和执行权限;2.与属主同组的用户的读、写和执行权限;3.系统中其他用户的读、写和执行权限。-rw-r--r-- 1 root root 296K 11-13 06:03 log2012.log第一列共转载 2021-05-06 10:59:19 · 926 阅读 · 0 评论 -
C++实现同或 && 详解bitset
基础问题在C++的位运算中,实现与使用&,实现或使用|,实现异或使用^,实现取反使用~,那么如何实现同或呢?探索过程首先,按照运算法则~(a^b) 尝试 unsigned int a,b,c; a=0B1010; b=0B0000; c=~(a^b); cout<<a<<endl; cout<<b<<endl; cout<<c<<endl; return 0;但原创 2021-05-06 09:57:10 · 6511 阅读 · 2 评论 -
LC序列化操作涉及函数
一、字符串与数字的来回转换1. int 转 string在头文件<string> 下定义2. string 转 int在头文件<string> 下定义二、通过getline()对输入完成切分C++中 cin.getline()可读取一行输入,允许读取包含空格的字符串。会一直读取到最大指定的字符数,或按下回车键cin.getline(sentence, 20);同时要注意,getline函数一 定义在<istream>中,是istream类的成原创 2021-04-30 12:28:02 · 123 阅读 · 0 评论 -
LC208——Trie(前缀树)
Trie树是一种树数据结构,用于检索字符串数据集中的键。主要应用有:1.自动补全2.拼写检查3.IP路由(最长前缀匹配)4.T9打字预测5.单词游戏比哈希表的优势在于一、可高效的完成1.找到具有同一前缀的全部键值2.按词典序枚举字符串的数据集二、随着哈希表大小增加,冲突也增加,时间复杂度增长到O(n)Trie树存储多个具有相同前缀的键时使用较小的空间,只需要O(m)的时间复杂度,m为键长平衡树中查找键值需要O(mlogn)的时间复杂度Trie的结点结构1.有根树2原创 2021-04-07 09:54:57 · 188 阅读 · 0 评论