自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 离散化处理

用途数据范围很大(1~m),但使用的数据不大(1~n),且不考虑具体值,只需要用其相对大小的时候,将各个数大小从1到n进行排名法一(无重复元素)b[ ]中第k大的数是b[ a[ k ] ]#include<iostream>#include<algorithm>using namespace std;const int maxn=500005;int a[maxn],b[maxn];bool cmp(const int x,const int y){

2021-05-05 13:46:13 130

原创 线段树入门

这里写目录标题简介建树简单(无pushdowm)1.单点修改,区间查询单点修改区间查询2.区间修改,单点查询区间修改单点查询简介线段树是一种二叉树它能把一些对于区间(或者线段)的修改、维护,从O(N)的时间复杂度变成O(logN)。建树先定义结构体struct tree{ long long l,r,sum;}递推到叶子再回溯累计void built(long long i,long long l,long long r){ t[i].l=l;

2021-05-03 12:16:29 105

原创 cf-Food Allocation I

Food Allocation I思路此题数据范围较少,可以用dfs+回溯过递归到第n层,记录此时的sum子母题Food Allocation II#include<iostream>#include<cstring>#include<algorithm>using namespace std;typedef long long ll;const int MAX_N=11;int n,a[MAX_N][MAX_N],vis[MAX_N][MAX

2021-04-13 20:53:34 86

原创 tarjan强连通分量

文章目录tarjan强连通分量tarjan强连通分量连通:无向图中,任意点i可以到任意点j强连通:有向图中,任意点i可以到任意点j

2021-04-11 16:46:42 109

原创 Coins

POJ 1742思路多重部分和问题滚动数组见注释#include<iostream>#include<cstring>using namespace std;int main(){ int n,m,a[105],c[105],dp[100005];//dp数组记录的是第i种钱凑到j元剩余的个数 while(cin>>n>>m&&n&&m){ memset(dp,-1,sizeo

2021-03-31 21:43:51 60

原创 Wooden Sticks

POJ 1065思路:结构体排序,l或w哪个优先排都行,从小到大排从没有被标记的点开始往后面找满足条件的,更新,标记来个变量数分了多少组AC代码#include<iostream>#include<algorithm>#include<cstring>using namespace std;struct node{ int l,w; bool friend operator<(node a,node b){ i

2021-03-31 20:13:13 49

原创 DFS/BFS+二分基础及例题

前言

2021-03-19 23:43:52 85

原创 DP基础与及例题

分析有限集中的最值问题状态表示:f[i]表示一类相似元素的集合,其值为(max,min,count…)状态计算:f[i]=f[i-1]集合的最优解题型 一、01背包二、完全背包三、石子合并

2021-03-18 16:35:03 66

原创 最长公共子序列

最长公共子序列题目传送门分析状态表示集合f(i,j):所有a[1 , i]和b[1 , j]的公共子序列的集合属性:求最大值状态计算f(i,j)是以下4种情况的最大值公共子序列不包含a[i]和b[j]的集合 f(i-1,j-1)公共子序列不包含a[i],包含b[j]的集合 f(i-1,j)-f(i-1,j-1)公共子序列不包含b[j],包含a[i]的集合 f(i,j-1)- f(i-1,j-1)公共子序列包含a[i]和b[j]的集合 f(i-1,j-1)+..

2021-03-18 16:13:46 38

原创 石子合并

石子合并题目传送门分析状态表示集合f(i,j):所有将[i , j]合并到一堆的方案的集合属性:求最小值状态计算f(i,j)是以下j-i种情况的最小值左边的一堆有第i个左边的一堆有第i,i+1个左边的一堆有第i,i+1,i+2个……左边的一堆有第i,i+1,i+2,……,k,……个……左边的一堆有第i,i+1,i+2,……,j-1个不失一般性考虑左边的一堆是第i个到第k个(k<=j-1)希望的得到的是[i ,k]的最小值加上[k+1,j-1]的最大值状..

2021-03-18 15:45:54 44

原创 完全背包

完全背包问题有n种重量和价值分别为wi,vi的物品。从这些物品种挑选总重量不超过w的物品,求出挑选物品价值总和的最大值。每种物品可以多次挑选分析状态表示集合f(i,j):所有只从前i个物品种选,且总重量不超过w的方案的集合属性:求最大值状态计算f(i,j)是下面情况的最大值所有不选第i个物品的方案的集合所有选1个第i个物品的方案的集合所有选2个第i个物品的方案的集合……所有选k个第i个物品的方案的集合…………直到总重量大于w转移方程f(i,j) = max..

2021-03-18 02:35:23 43

原创 01背包

01背包问题有n个重量和价值分别为wi,vi的物品。从这些物品种挑选出总重量不超过w的物品,求所有挑选方案中价值总和的最大值。分析状态表示集合f(i,j):所有只考虑前i个物品,且总重量不超过j的选法的集合属性:求最大值状态计算f(i,j)时下面两种情况的最大值所有选择第i个物品的方案(前i-1个物品中选出总重量不超过w-wi的方案的集合)所有不选第i个物品的方案(前i-1个物品中选出总重量不超过w的方案的集合)状态转移方程f(i,j) = max( f(i-1,w)..

2021-03-18 01:40:42 124

原创 数论基础及例题

文章目录常识一、整除二、素数三、最大公约数(gcd)四、最小公倍数(lcm)五、同余六、快速幂七、扩展欧几里得八、逆元九、模运算例题一、J - Sum二、C - A/B常识一、整除定义若整数a除以非零整数b,商为整数,且余数为零, 我们就说a能被b整除(或说b能整除a)b|a,否则b∤a。基本性质1.若b|a,c|a,且b和c互质,则bc|a2.若a|b,且b|c,则a|c3.若b|a,且b|c,则b|(a±c)4.若c|a,且c|b,则对于任意整数m、n,有c|(ma+nb).

2021-03-18 00:03:43 1095

原创 图论基础及例题

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-03-17 16:48:16 342

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除