总结的语法
一只蓝色小鲨鱼
并不是我们主动选择辛苦和努力,而是别无选择!!!
一枚25考研,考公人。加油加油!!!
展开
-
P5740 【深基7.例9】最厉害的学生
【代码】P5740 【深基7.例9】最厉害的学生。原创 2024-03-10 14:43:55 · 225 阅读 · 0 评论 -
AcWing 1072. 树的最长路径 --树的直径模板
我们知道:树上 任意两点 的路径是 唯一 确定的,因此我们可以暴力枚举 起点 和 终点 找出最长路径。我们考虑换一种 枚举方式:枚举路径的 起点和终点 → 枚举路径的 中间节点。每次记录以当前节点为树的根下的最长链和次长链即可。找出两点之间的路径长度 — O(logn)枚举 起点 和 终点 — O(n^2)原创 2024-03-04 11:19:00 · 455 阅读 · 0 评论 -
乘法逆元--模板
【代码】乘法逆元--模板。原创 2024-02-27 09:59:07 · 214 阅读 · 0 评论 -
快速幂--模板
由于一个属的 k 次方可以等于 一些数相加,所以我们可以 把 k 分为 1 + 2 + 4 + 8.......的形式,这样我们就变成了log k 的级别,并且每次处理mod 不会爆掉。原创 2024-02-27 09:29:02 · 261 阅读 · 0 评论 -
最长上升子序列--模板
优化,有三份代码:第一二份是优化了算法,可以利用贪心+二分优化递推的过程。动态规划,f[i] 表示 以第 i 个数结尾的最长上升子序列的长度。原创 2024-02-26 14:37:27 · 499 阅读 · 0 评论 -
并查集--模板
4.查询集合的大小,元素和,最大值,以及到根节点的距离从而判断两个元素的关系---带权并查集(在对并查集进行路径压缩和合并操作时,这些权值具有一定属性,即可将他们与父节点的关系,变化为与所在树的根结点关系。4.判断集合的数量,因为集合用根节点表示,如果一个点的父节点就是本身,那个它就是代表整个集合,如果父节点不是本身,那么它就是属于某个集合的。2.find函数,p数组表示节点的父节点是谁,sz数组用于记录集合的大小等,d数组表示每个节点到父节点的路径长。1.合并两个元素所属的集合。原创 2024-02-17 20:12:42 · 318 阅读 · 0 评论 -
完全背包详解--模板
为什么从前往后枚举呢,因为与01背包反过来,要保证是当前 i 层更新的,而不是第 i-1 层更新过来的。为什么完全背包变成了 i 呢,因为 每个物品都是可以随便选的,不像01背包只能选一次。1.01背包和完全背包核心代码其实只有一句不同(注意下标)原创 2024-02-12 20:31:34 · 373 阅读 · 0 评论 -
01背包详解--模板
例如,一维状态第 i 轮对体积为 3 的物品进行决策,则f[7]由f[7-3]更新而来,这里的f[4]正确应该是f[i - 1][4],但从小到大枚举到7 的时候 f[4] 在第i轮计算却变成了 f[i][4]。(1)当前背包容量不够:(j < v[i]),没得选,因此前 i个物品最优解即为前 i−1 个物品的最优解:f(i,j)=f(i-1,j)选:f(i,j)=f(i-1,j-v[i])+w[i];2.状态转移:f(i,j)可以由什么转移过来,不选:f(i,j)=f(i-1,j);原创 2024-02-12 20:17:23 · 720 阅读 · 0 评论 -
前缀和知识--模板;
求 【i,n】的和,O(1)查询。因为 pre[i-1]表示前 i -1 个数的和,那么pre[n]-pre[i-1],就是。//pre[i]表示就是前 i 个数的总和,因为要用上 i - 1 所以通常下标从1开始。原理就跟数学中的一样。原创 2024-02-08 21:09:08 · 270 阅读 · 0 评论 -
二分算法--模板及原理总结
【代码】二分算法--模板及原理总结。原创 2024-02-07 21:42:59 · 1060 阅读 · 1 评论 -
图论的知识点--模板
g[ i ][ j ]表示i,j两点的边。原创 2024-02-07 19:19:30 · 256 阅读 · 0 评论 -
试除法求约数--数学模板
核心代码:从1开始枚举,因为约数成对出现,所以枚举一半即可,复杂度为O(根号n)原创 2024-02-05 13:07:56 · 262 阅读 · 0 评论 -
分解质因数--数学模板
在分解质因数的时候,我们只需要枚举一半的约数即可,因为约数是成对存在的,所以复杂度为O(根号n)。原创 2024-02-05 12:44:51 · 167 阅读 · 0 评论 -
试除法判定是否为质数--数学模板
时间复杂度为O(根号n)的,因为约数是成对出现的,所以只需判断一半的约数即可。原创 2024-02-05 12:33:06 · 165 阅读 · 0 评论 -
D - Bitmask--( 位运算应用)
最开始想用搜索,但是行不通,应该实贪心+位运算。原创 2024-02-04 20:30:58 · 204 阅读 · 0 评论 -
P8753 [蓝桥杯 2021 省 AB2] 小平方--2024蓝桥杯冲刺省一
本题注意有个小坑,因为题上说小于n的一半,我们的惯性思维就是 n/2,所以要改成 n/2.0。,或者我们分类讨论,判断n是不是偶数,这样就避免C++中除法是向下取整。n&1类似于n%2。二进制表示 11&01 == 1。原创 2024-02-04 17:27:56 · 481 阅读 · 0 评论 -
位运算(实用用法总结)
3&1-->等价于3%2;二进制表示:11&01==01;所以判断一个数是不是偶数可以k&1判断。我们只需要知道原理即可,那些说的什么高级用法根本用不上。原创 2024-02-04 17:27:12 · 321 阅读 · 0 评论 -
stringstream实用用法总结
sstream> 定义了三个类:istringstream、ostringstream 和 stringstream,分别用来进行流的输入、输出和输入输出操作。本文以 stringstream 为主,介绍流的输入和输出操作。 主要用来进行数据类型转换,由于 使用 string 对象来代替字符数组(snprintf 方式),避免了缓冲区溢出的危险;而且,因为传入参数和目标对象的类型会被自动推导出来,所以不存在错误的格式化符号的问题。原创 2024-02-02 19:42:16 · 1941 阅读 · 0 评论 -
string的总结;
string原创 2022-07-15 17:21:15 · 324 阅读 · 2 评论 -
我的语法 3
语法原创 2022-07-11 23:22:11 · 134 阅读 · 0 评论 -
取模总结;
1原创 2022-07-08 21:39:31 · 130 阅读 · 0 评论 -
我的语法 2
max_element min_element求C++数组或vector求最大值最小值,二者返回的都是迭代器或指针,可以通过*符号来获得值时间复杂度:O(n)数组: int position=max_element(a,a+n)-a; int data=*max_element(a,a+n);容器: int position=max_element(v.begin(), v.end())-v.begin(); int it = *max_element(v.be...原创 2022-05-24 11:19:32 · 82 阅读 · 0 评论 -
我的语法总结1
bitset<4>a1("1011");//这个赋值方法只能在c++11里用,noip八行//可以用上面位运算时的方法bitset<4>a1(string("1011"));cout<<a1[0]<<endl;//1cout<<a1[1]<<endl;//1cout<<a1[2]<<endl;//0cout<<a1[3]<<endl;//1//注意!这两种赋值方式都是..原创 2022-05-22 09:36:27 · 194 阅读 · 0 评论