![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法Note
_AoSnow_
天道酬勤
展开
-
我的板子4——动态规划
0 1背包/*-------------------------------------------------- 有 N 件物品和一个容量为 V 的背包。 放入第 i 件物品耗费的空间是 w i ,得到的价值是 v i 。 求解将哪些物品装入背包可使价值总和最大。 要求恰好装满背包,在初始化时 dp[0] = 0 ,其它dp[1~V]均设为 −∞ 。 没有要求必须把背包装满,初始化时应该将 F[0~V] 全部设为 0 。 求方案数时,在初始化时F[.原创 2021-06-04 23:51:06 · 158 阅读 · 2 评论 -
我的板子3——图论
/*最小费用最大流//给一个包含n个点和m条边的图,每条边(u,v)有一个流量限制w(u,v)和单位流量的费用c(u,v)求出该网络的最小费用最大流,即在F(G)最大的前提下,是C(G)最小// SPFA跑费用流 洛谷 P3381#include<bits/stdc++.h>using namespace std;#define maxn 5005int read(){ char c=getchar(); int f = 1, ans = 0; whil..原创 2021-06-04 23:50:17 · 123 阅读 · 1 评论 -
我的板子2——字符串
#include<bits/bits/stdc++.h>using namespace std;/*输入N ,表示有一个长为N的子串,接下来N行,每行输入ai 和ai个数,表示有ai个数,表示子串第i个字符为ai个数中的一个,也就是这个子串的正则式,然后输入一个主串,要求输出这个主串中包含的所有的子串。// hdu 5972#include<bits/stdc++.h>using namespace std;#define endl '\n'#define IO原创 2021-06-04 23:49:40 · 126 阅读 · 1 评论 -
我的板子1——数学(持续更新)
嘿嘿,水题已经刷了好多好多了,开始做一些模板总结了!加油哇ORZ#include<bits/stdc++.h>typedef long long LL;/*数学*///快速幂(位运算写法)LL binaryPow(LL a, LL b, LL m){ LL ans = 1; while(b>0){ if(b&1) ans = ans*a%m; a = a * a %m; b >>=.原创 2021-06-03 16:33:51 · 122 阅读 · 0 评论 -
C++一些实用小技巧
一、vector取最值vector v:最大值:int max = *max_element(v.begin(),v.end());最小值:int min = *min_element(v.begin(),v.end());求和accumulate(weights.begin(), weights.end(), 0);原创 2021-05-19 17:27:50 · 336 阅读 · 0 评论 -
算法Note——素数(一)
大家好,我是小黄呀,最近刷到几个素数题,老是记不住,这里总结下。直接上个代码——线性筛#define INF 1500000bool flag[INF];int prime[100005];void f(){ int cnt = 0; for(int i = 2; i < INF ;i++){ if(!flag[i]) prime[cnt++] = i; for(int j = 0; j < cnt; j++){原创 2021-04-17 11:38:51 · 77 阅读 · 0 评论 -
算法Note——红黑树
大家好,我是小黄鸭,日常学习算法的Note。红黑树概要一、红黑树的性质二、变换规则变颜色的情况左旋右旋总结概要红黑树是一种自平衡的二叉查找树,是一种高效的查找树。它是由 Rudolf Bayer 于1978年发明,在当时被称为对称二叉 B 树(symmetric binary B-trees)。后来,在1978年被 Leo J. Guibas 和 Robert Sedgewick 修改为如今的红黑树。红黑树具有良好的效率,它可在 O(logN) 时间内完成查找、增加、删除等操作。因此,红黑树在业原创 2021-01-02 15:41:51 · 150 阅读 · 0 评论