自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 侦察守卫(树形dp)

题目链接思路:因为d比较小,考虑对状态进行nd的转移。设置一下两种状态:1.f[i][j]: i的子树中的关键点全部被覆盖,并且至少能沿着父节点覆盖j层。2.g[i][j]: i的子树层次比j深的全部覆盖,j层以内的随意。这些状态的性质有以下几点:1.f[i][0]=g[i][0]2.因为f[i][j]需要沿着父节点向上覆盖j层,那么下面j层必然是覆盖的,这就与g[i][j]成了一个互补关系。于是便有一下四个转移:设当前遍历的节点为u,其子节点为v1.f[u][i]=min(f[u][i]

2020-12-07 22:37:48 151

原创 codeforces 1447D Catching Cheaters

题目地址题目大意:给定两个字符串,任意选取他们的子串C,D。求出其中最大的 4⋅LCS(C,D)−|C|−|D|。思路:n=5000,考虑n^2的状态转移。dp[i][j]为以第一个串以第i个字符结尾,第二个串以第j个字符结尾的子串的所能取到的最大值.则转移分两种情况:1.c[i]==d[j],则dp[i][j]=dp[i-1][j-1]+2;2.c[i]!=d[j] 则dp[i][j]=max(dp[i][j-1],dp[i-1][j])-1;其中dp[i][j]>=0;#inclu

2020-11-28 09:13:33 117

原创 codeforces 1436E Complicated Computations

题目链接题目大意:给定一个数列,先对所有区间依次求mex,得到一个集合,再对这个集合求mex。思路:1.对于一个数a是否存在一个区间mex==a的条件是这个a到上一个最近出现a的位置这中间是否满足 1 — a-1 这a-1个数是否都存在。于是很好想到用权值线段树来记录a[i]出现的最大位置,对于一个a而言,只要满足(1,a-1) 这个线段树区间的最小值大于last[a]即可。特别注意最后需要特判,假设第n+1个数是2,3…n+1,这样才不会出错。#include<bits/stdc++.h&

2020-11-21 14:43:59 151

原创 SDOI2009 HH的项链

洛谷题目链接思路:本来想用莫队卡过,结果评论区说数据加强卡莫队和主席树,那只能用常数较小的树状数组来优化一下。其中sum(i)代表1-i的种类个数。1.对于一个区间而言,一个种类对答案的贡献我们应该考虑最后出现的,这样易于维护,只需要下面这样做。if(la[a[j]]){ add(la[a[j]],-1);}add(j,1);la[a[j]]=j;把上次最后出现的影响消除,然后再加上这一次影响即可。如果要这样做,那么我们就得保证r单调不递减。因为如果不单调的话,举个例子,先处理(1,1

2020-11-21 11:46:47 106

原创 2019 icpc 香港区域赛补题

E:题目链接:https://codeforces.com/gym/102452/problem/E题目大意:给定一个序列,任选三个连续的数去掉一个最小的和最大的,问最后哪些数可能留下来。题目思路:因为n是5000以内的数,想到n^2算法,枚举每一位数,比它大的数设为1,比它小的数设为0。首先,因为n是奇数,很容易想到1和0的个数是都是奇数或者都是偶数,也就是他们之间相差2k,其中k=(n-a[i]-a[i]+1)/2。其次,假设x想要剩余下来,最后的情况必定是01x,10x,x01,x10,1x0,

2020-11-21 10:16:40 502

原创 The Largest Clique(tarjan+dp)

题目链接:https://onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2299题目大意:给定一个图,求最大的一个点集合,这个点集合的性质:任意选择两个点u,v,满足从u到v有路径或者从v到u有路径。思路:一个强联通分量内的所有的点肯定是满足性质的,先考虑用tarjan缩点,现在整个图就变成了DAG,每个点赋予一个权值,这个权值就是该强联通分量原来所含有的一个

2020-11-17 19:47:36 119

原创 组合数公式(遇见不会的就更新,说不定有用)

Chu–Vandermonde identity数学上的证明略去,可以看成从一个元素个数为n1的集合里选择个数为i,在另一个元素个数为n2的集合里选择个数为r-i,其中(0<=i<=r)这就等价于从一个个数n1+n2的集合中选择r个数。证明完毕。...

2020-11-12 19:35:49 441

原创 cf1436D题解

cf1436D题解原题链接:http://codeforces.com/contest/1436/problem/D题目大意:给一颗以一为根的树,每个结点上都有一个初始值,初始值可以向子节点传。问·最后叶子结点最大的可能值 最小。思路分析:一般情况而言,一个结点及其它子树的所有值之和全部尽量平均分配给它的子树所含有的叶子结点肯定是最好的,如果一个树的一个叶子结点值很大,而其他叶子结点的值非常小,那么就其实已经包含在 以这个值很大的叶子结点 为根 的情况下,所以只要枚举以每个结点平均分配的情况,然后取m

2020-11-11 17:03:43 167

空空如也

空空如也

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

TA关注的人

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