自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wangtao的博客

加油噢

  • 博客(26)
  • 收藏
  • 关注

原创 树形dp题集

Binary Apple Tree题意:树枝上间连接着一些苹果,给定留下m根树枝,问最后剩下的最多苹果是多少解析:树上背包,要求一定要选1,选择的物品要连通把树枝上的苹果赋到子节点上.先求子树最大点数,然后遍历求值,要从大到小背包求结果dp[u][j]代表以u为根结点,选取j个子节点的树的权值和.dp[u][j]=max(dp[u][j],dp[u][j-k]+dp[v...

2019-07-29 10:27:18 270

原创 篮球校赛(状压dp||贪心+深搜||费用流)

链接:https://cometoj.com/contest/59/problem/G?problem_id=2697教练my手下有n名队员,现在他要挑选5人组成一个篮球队来参赛。众所周知,一个篮球队伍有五个不同的位置(控球后卫,得分后卫,小前锋,大前锋,中锋),现在教练my给出每名队员在每个位置的能力。注:如果一个队员作为控球后卫出战,则他只能发挥他的控球后卫的能力值。(其他位置...

2019-07-29 03:51:09 238

原创 树形dp学习

树的重心树的直径树的最大独立集E. Tree Painting(树形dp换根)1:给出一棵树 每个节点有权值 要求父节点和子节点不能同时取 求能够取得的最大值 (hdu1520)2:给出一棵树,求离每个节点最远的点的距离(hdu2196)3:1>在一个地图上,有N座城堡,每座城堡都有一定的宝物,在每次游戏中允许攻克M个城堡并获得里面的宝物。但由于 ...

2019-07-28 14:49:10 160

原创 F Planting Trees(单调队列,尺取)

Planting Trees题意:给一个矩阵,求一个面积最大的子矩阵,该子矩阵内部任意元素之差小于等于k求有极差限制的最大面积子矩阵解析:考虑n^3的算法遍历上边,遍历下边遍历右边,维护最大区间范围我们在这个范围存在一个单调性,如果l1>l2,(l2,r)不行,呢么(l1,r)肯定不行所以我们用两个个单调队列维护区间最大和最小值我们不断入队,如果(区间...

2019-07-27 11:16:59 195

原创 单调队列

单调队列Sliding Window题意:Window position Minimum value Maximum value [13-1]-35367 -1 3 1[3-1-3]5367 -3 3 13[-1-35]367 -3 5 ...

2019-07-25 20:54:25 241

原创 筛法例题

https://vjudge.net/problem/HDU-2136题意:给定一个n,求n的最大素因子是第几个素数直接用素因子筛ac:#include <iostream>#include <cstdio>using namespace std;#define MAXN 1000000+5int a[MAXN];int main(){...

2019-07-24 11:53:18 168

原创 最大团&最大独立集

给定无向图G=(V,E),其中V是非空集合,称为顶点集;E是V中元素构成的无序二元组的集合,称为边集,无向图中的边均是顶点的无序对,无序对常用圆括号“( )”表示。如果UV,且对任意两个顶点u,v∈U有(u,v)∈E,则称U是G的完全子图。G的完全子图U是G的团。G的最大团是指G的最大完全子图最大独立集:一个图中最大的互相没有边相连的点集结论:原图的最大独立集等于补图的最大团(补图:图...

2019-07-23 19:52:35 1652

原创 Vus the Cossack and Strings(位运算)

Vus the Cossack and Strings题意:给定两个串a,b求a中所以子串和b匹配数位偶的情况个数解析:这题只需要判断是否为偶就可以,不需要求出多少个匹配用异或前缀和,可以直接求出最前面一段然后ans^(a[i-len_b])可以消掉最前面呢个,再^a[i],即又加入一个元素,完成移动操作ans^a[i-len_b]^a[i],即完成一次移动,判断a...

2019-07-20 21:34:49 242

原创 E. Tree Painting(树形dp换根)

题意:给定一棵树,树上每个节点都是白色.操作:可以选择一个节点涂黑,然后加上它的子节点的数目的值(包括自身)直到涂满整棵树,求能获得的最大值解析:树形dp换根,两个dfs第一个dfs求各节点的子节点数目,第二个dfs换根,每次换相邻节点的为根.siz(v)是为根的节点子节点数,n-siz(v)是是v->u方向的子节点数,即siz(u)sum(v)=sum(u)...

2019-07-19 20:33:32 455

原创 ABBA

链接:https://ac.nowcoder.com/acm/contest/881/E来源:牛客网时间限制:C/C++ 2秒,其他语言4秒空间限制:C/C++ 524288K,其他语言1048576K64bit IO Format: %lld题目描述Bobo has a string of length 2(n + m) which consists of characters ...

2019-07-19 10:19:54 564

原创 凸包

模板:#include<bits/stdc++.h>#define inf 1000000000#define ll long longusing namespace std;int n,top;double ans;struct node{ int x,y;}p[5005],s[5005];node operator-(node a,node b)...

2019-07-18 21:23:51 105

原创 最短路题集

链接:https://ac.nowcoder.com/acm/contest/949/J来源:牛客网时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 524288K,其他语言1048576K64bit IO Format: %lld题目描述小雨所在的城市一共有 mm 条地铁线,分别标号为 1 号线,2 号线,……,m 号线。整个城市一共有 nn 个车站,编号为 1∼n1...

2019-07-17 17:53:52 365

原创 C. Flag(简单dp)

C - Flag题意:给定1片高为n,宽为m的矩形,每个格由一种颜色构成.在矩形中最多可以找到的旗子数目.旗子:由三种颜色构成,且三种颜色宽度相同,每个颜色横方向颜色全相同解析:预处理每个点下方相同颜色最大,右边相同颜色最大然后遍历每个点,对于同一点,如果呢里有棋子,呢么它的旗子高度是确定的,高度等于该点down[i][j]*3有三个要求满足,才能有1面棋子:1...

2019-07-12 15:59:49 174

原创 序列自动机

序列自动机:scanf("%s",pp+1);for(int i=n;i>=1;i--){ for(int j=0;j<26;j++){ nt[i-1][j]=nt[i][j]; } nt[i-1][pp[i]-'a']=i;}int st=0;//检索序列从0开始https://nanti.jisuanke.com/t/41...

2019-07-11 18:29:16 184

原创 Two Pizzas(状压压缩,贪心)

F - Two Pizzas题意:披萨只有9种部位有n个人,他们每个人需要一些部位,如果他所需要的部位都有,呢么他就满足有m个披萨,每种披萨有若干部位,每种披萨有一定的价钱只能购买2个披萨,在满足最多人满足的情况下,选择花费最小的两个披萨解析:贪心+二进制优化,处理的细节较多一共9个部位,可以用二进制压缩,披萨最多512种输出的结果可能是两个不同类型的披萨,也可...

2019-07-11 16:40:51 411

原创 Max Power(特殊背包)

链接:https://ac.nowcoder.com/acm/contest/221/E来源:牛客网时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32768K,其他语言65536K64bit IO Format: %lld题目描述 小卤蛋刚把dnf的技能点重新洗了一遍,现在他要重新加点,假设他的技能树一共有n层,第i层有n-i+1个技能,每个技能只能够学习...

2019-07-10 23:49:30 266

原创 矩阵快速幂题集

矩阵快速幂矩阵必须全部初始化,注意矩阵大小POJ - 3070最简单的矩阵快速幂f[n]=f[n-1]+f[n-2]ac:#include <iostream>#include <cstdio>#include <cstring>#define ll long longusing namespace std;/*(f(n-...

2019-07-10 15:22:54 643

原创 线性基

线性基是竞赛中常用来解决子集异或一类题目的算法模板:#include<bits/stdc++.h>#define LL long longusing namespace std;struct Linear_Basis{ LL b[63],nb[63],tot; void init()//重置 { tot=0; ...

2019-07-10 01:17:16 164

原创 最大流&&最小割&&最大权闭子图题集

链接:https://vjudge.net/problem/POJ-3281题意:一头牛需要吃1个drink和1个food,给定牛的喜好,每个food和drink只能给1头牛吃,问最多满足多少头牛解析:匹配问题,第一个想到是二分图匹配,但是这里要匹配两个东西,所以二分图匹配无效解法为最大流.如果建图为:food->牛->drink,解决了一个食物饮料给1头牛吃,...

2019-07-09 21:37:49 258

原创 C 分治(区间dp)

链接:https://ac.nowcoder.com/acm/contest/903/C来源:牛客网时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 65536K,其他语言131072K64bit IO Format: %lld题目描述你是DEEP国的大军师,辅佐一个非常有野心的国王,这位国王非常有野心,他计划攻占 n 个国家。在地图上,这些国家排成一行。探子已...

2019-07-05 19:08:00 263

原创 线段树题集合

统计颜色 题意:n个桶按顺序排列,我们用1~n给桶标号。有两种操作:1 l r c 区间[l,r]中的每个桶中都放入一个颜色为c的球 (1≤l,r ≤n,l≤r,0≤c≤60)2 l r 查询区间[l,r]的桶中有多少种不同颜色的球 (1≤l,r ≤n,l≤r)解析:二进制优化,线段树或操作最多61种求,转化为一个LL数字每次加一个c球,就对区间(l,r)或上...

2019-07-02 22:41:12 286

原创 数据结构

单调栈:单调栈单调队列:单调队列线段树:线段树树状数组:树状数组RMQ:RMQ算法主席树:主席树莫队:莫队算法树链剖分:树链剖分差分数组:差分数组...

2019-07-02 13:28:13 175

原创 树状数组

树状数组是一个查询和修改复杂度都为log(n)的数据结构。主要用于查询任意两位之间的所有元素之和,但是每次只能修改一个元素的值;经过简单修改可以在log(n)的复杂度下进行范围修改,但是这时只能查询其中一个元素的值(如果加入多个辅助数组则可以实现区间修改与区间查询)树状数组就是二进制的应用c[1]=a[1] c[2]=a[1]+a[2] c[3]=a[3] ...

2019-07-02 13:27:57 183

原创 树链剖分

P3384:https://www.luogu.org/problemnew/show/P3384ac:#include<bits/stdc++.h>#define ls l,m,rt#define rs m+1,r,rt#define ll long long#define MAXN 400005using namespace std;int to[MAXN],...

2019-07-02 13:26:07 116

原创 最近公共祖先lca

LCA-最近公共祖先两个点在树上距离最近的公共祖先节点lca有主要的两种算法1.tarjan:离线算法,复杂度O(n+q)2.倍增|RMQ:在线算法1.在线算法:倍增法倍增O(nlogn)查询怎么求lca?1.先将深度大的移动到小的一样深2.然后同时尽往上跳,但没就是没有跳过lca点,最后会调到lca的两个子节点上代码:1.建树并预处理每个点的深度,...

2019-07-01 16:06:32 185

原创 E - Polycarp and Snakes(模拟)

E - Polycarp and Snakes 题意:画蛇,蛇宽只能为1,长可若干,字母大是蛇可以把字母小的蛇覆盖从最多a画到z给一个图,问能否被蛇填充完解析:模拟字母小的不一定在图上出现,但可以被最大的蛇压在上面(直接输出最大的蛇,最大的蛇已经判断是必有的,如果只是输出比他大1的蛇,可能都没有)字母大是蛇可以把字母小的蛇覆盖,但不能被反向覆盖对所以蛇...

2019-07-01 16:02:02 274

空空如也

空空如也

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

TA关注的人

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