自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我是蒋卫升呀~

竞赛算法

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

原创 kmp入门 洛谷模板题

#include<bits/stdc++.h>using namespace std;const int maxn=1e6+100;char a[maxn],b[maxn];int nexts[maxn];int main(){ scanf("%s%s",b,a); int len1=strlen(a); nexts[0]=-1; for(...

2019-11-25 21:38:31 296

原创 分组背包+二分图染色 (bitset+滚动数组优化)

题目链接题意:给你n种物品,有m种限制条件,然后输入n种物品的价值,m种限制条件,表示第i个物品不能与第j个物品分成一组,求把物品分成两组后,价值差最小,输出其中最大的价值。思路:对于每一个限制条件,都可以看成一棵树,我们对这棵树染色,分成两组,然后把每一组都取上,输出答案。#include<bits/stdc++.h>using namespace std;co...

2019-11-25 21:23:38 131

原创 Codeforces Round #558 (Div. 2) D kmp + dp

题目链接题意:给你一个c串,你可以用任意小写字母替换c串中的 * 字符得到一个c',给你一个s和t串,定义:f(s1,s2) 为字符串 s2 在 s1 中出现的次数 ,求最大的 ans=f(c',s) - f(c',t)。思路:首先预处理出 s 和 t 的next数组,然后,设dp【i】【j】【k】分别代表c串匹配到第 i 个字符,s串匹配到第 j 个字符,t串匹配到第 k 个字符的最...

2019-11-25 21:22:39 102

原创 2019牛客暑期多校训练营(第七场)H Pair(数位dp)

题意:给你三个数,A,B,C,计算 有多少对数,满足 x & y > c || x ^ y < c ,其中(1 <= x <= A ,1 <= y <= B)。思路:我们可以首先求出他的反面,即有多少对数满足 【x & y <= c && x ^ y >= c 】然后拿总数 A*B 减去它就是最终的...

2019-11-25 20:17:13 125

原创 最小生成树 (kruskal 模板)

题目链接题意:给出一个无向图,求出最小生成树,如果该图不连通,则输出orz思路:首先,把这个无向图看成一个一个个离散的点,保存边,对边从小到大排序,要用到并查集对边进行合并,这样可以避免形成环,如果,最后边的数目是n-1,那么最小生成树就求出来了。#include<bits/stdc++.h>using namespace std;struct node{ ...

2019-11-11 15:13:39 162

原创 cf #599 (Div. 2) D 0-1 MST

题目链接题意:给你一个图,有n个节点,m条边,如果两个节点之间有边,则边权值为1,否则这两个节点之间的边权值为0。求这个图的最小生成树的边权值的和。思路:求这个图的逆向图的联通块的个数,答案就是个数减1,因为n个联通块只需要n-1条线段就可以变成一个联通块,而对于每个联通块来说,任意两点的边权都是0,可以默认看成一棵树。如何求出联通块的个数,用一个set-s保存每个节点的编号,set-G...

2019-11-09 00:03:14 143

原创 换根dp题集

题目链接题意:给你一棵树,按顺序输出以每个顶点为根节点,到任意点的边权和最大,输出这个最大值。思路:换根dp,两遍dfs,第一个dfs求出以这个点为根节点,子树的最大边权值,保存在d数组中。第二个dfs1,首先算出以u节点为根节点的dp值,保存在ans数组里,然后求出u节点的儿子的前缀dp值保存在suf数组中,再求出u节点儿子的后缀dp值保存在x中,那么换根后的u节点的dp值,d【u】=...

2019-11-08 23:41:34 844

空空如也

空空如也

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

TA关注的人

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