自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 11月30日

这几天主要是做状态压缩dp的题,第一道做的是Mondriaan's Dream ,题意是输入n和m表示一个n*m的矩形,用1*2的方块进行覆盖,不能重叠,不能越出矩形边界,问完全覆盖完整个矩形有多少种不同的方案,定义f[i,j]表示前i-1行已经完全覆盖,第i行的状态为j的时候的方案数。则f[i,j]+=f[i-1,k]。k能通过放置骨牌使第i-1行被完全覆盖,且第i行状态为j。这个状态转移可以用

2017-11-30 22:53:18 157

原创 11月26

这三天主要是做了两道题,看了会状态压缩dp的博客,复习了一下树型dp,首先,做的是N - Treasure Hunt II,这道题,题意是n个城市排成一行,每个城市中有vi个金币。两个人同时从同一个个城市出发,单位时间能走到相邻城市。 到达城市获取金币不耗时间,且任意时刻两人距离不可以超过m,问t个时间他们最多能获得多少金币。这个题没用树装dp来做,用的是模拟,如果 m >= t * 2,两个人两

2017-11-26 20:57:38 132

原创 11月23日

这几天主要是a题与看博客,首先是Choosing Capital for Treeland这道题,题意是有一棵有n个节点的数,有n-1条有向边,每条边的方向可以被翻转,但是代价为1,问你应该选取哪些点为根, 使从根到达所有点的代价最下。先输出最小代价,然后输出所有的可取点。首先将题目给出的正向边的权值赋值为0,而他的反向边赋值为1,那么题目就转换成了求每个点都其他点的权值之和的最下值了。先找出和直

2017-11-23 22:45:41 121

原创 11月19日集训

这一周主要还是做树性dp,最大的障碍是看不懂题意,然后样例输出也看不懂,哭。先看的是comtuper这道题,题意是求树中每个点到所有叶子节点的距离的最大值是多少。 由于对于一个节点来说,可能得到的距离最大的值的路径来自他的子树,或者从他的父节点过来,所以要用两次DFS。 第一次DFS求出所有节点在他的子树范围内到叶子节点距离的最大值和第二大的值,第二次DFS更新从父节点过来的情况就可以了。 然后看

2017-11-19 21:40:07 95

原创 11月16日

这些天研究树形dp,首先看的是Anniversary party 这道题,也算是新手入门题,题意是给你一棵树,每个点都有权值,现在要你选一些点,这些点与父亲不能同时选,问权值最大多少。有两种情况1.dp[u][0]:表示u这个人不去,那么他的手下v可以选择去或者不去。dp[u][0]+=max(dp[v][0],dp[v][1]);  2.dp[i][1]:表示u这个人去, 那么由题意他的手下肯定

2017-11-16 21:53:28 119

原创 11月12日

这三天做的数位dp题,首先是Apocalypse Someday这道题,题意是找出第n个包含666的数字。这道题本来想用二分加数位dp写的,但感觉老是套模板也不是很好,于是用了另一种方法的,首先要进行状态压缩,用0表示没有,用1表示有6,用2表示有66,用3表示有666。 dp[i][j]表示第i位状态为j时能得到包含666数字的方案数,那么枚举当前位置选多少来进行状态转移即可。 输出方案先找到位

2017-11-12 21:28:30 129

原创 11月9号

几天A了几道数位dp打了场比赛,首先做的odd-even number这道题,题意是,有一个数,每连续的奇数位以及连续的偶数位为一段,要求每一个奇数段要有偶数个奇数,每一个偶数段要有奇数个偶数,求区间[L,R]有多少个满足条件的。这个题忘了判前导0了,结果调了好长时间没调好。接下来做的是Palindromic Numbers,大意是求[a,b]中回文数的个数,讲道理真是一点头绪都没有,然后研究了一

2017-11-09 19:55:46 143

原创 11月5日

这三天打了一场比赛,做了几道dp题,一道题题意是给出区间[m,n],求区间内的所有数共有多少个0。设dp[i][j]表示处理到第i位时,它前面共有j个0,然后用dfs的写法就好了,然后还有一道题,题意是是给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次。先考虑允许前导0,得出公式f(i)=10*f(i-1)+10^(i-1),最后处理 前导0,先统计出1,

2017-11-05 20:31:53 146

原创 11月2日

这几天主要是做数位dp的题,发现没什么好说的,做了几道数位dp的题,这里就不一一说明了,这里写一下数位dp的理解吧, 数位dp一般应用于,求出在给定区间[A,B]内,符合条件P(i)的数i的个数。件P(i)一般与数的大小无关,而与数的组成有关。然后自然就有了一套数位dp的dfs的模板了,就是如果我们只能从前往后一位位枚举当前的数位,要做出这道题,我们需要知道的量补充到dfs的调用参数中。然后做了几

2017-11-02 21:47:42 93

空空如也

空空如也

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

TA关注的人

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