dp
文章平均质量分 83
zjunzhao
这个作者很懒,什么都没留下…
展开
-
【题解】codeforces766E Mahmoud and a xor trip
题目链接 题意:给定一棵树,树的每个点有点权,定义2个点u和v之间的距离为u到v的路径上的点的点权的异或和。求全体点对(u,v):1 分析:考虑按位处理距离和。设有ans[i]个点对的距离的第i位为1,则距离和=ans[0]*2^0+ans[1]*2^1+...+ans[20]*2^20。从而问题转化为点权为0或1的情况。对于转化后的问题,我是用树分治处理的:对于子树u的所有点对路径,要么原创 2017-02-08 13:46:36 · 745 阅读 · 0 评论 -
【题解】codeforces441E Valera and Number
题目链接 题意:给定整数x、k和概率值p,对x进行k次随机操作,每次操作有p概率对x乘2,有1-p概率对x加1。求操作结束后,得到的数的二进制表示末尾的连续的0的数目的期望。 分析:设f[i][S][k]为第i次操作后得到的数的二进制0~8位为S且第8位起向后与第8位相等的数位数为k的概率。转移枚举第i次状态为(S,k)时的操作,计算对第i+1次状态为(newS,newk)的贡献即可。 代码原创 2017-02-10 16:35:17 · 610 阅读 · 0 评论 -
【题解】玲珑学院oj1089 Place the Tiles
题目链接 题意:用1×2的骨牌来铺带障碍格的矩形网格,使得每个网格至多被一张骨牌覆盖且无法再加入骨牌(即没有相邻的未覆盖无障碍网格)。求需要的最少骨牌数。 分析:轮廓线dp。每个格子的状态用一个4进制数来表示,0代表未覆盖,1代表已覆盖且由骨牌右端或下端覆盖,2代表已覆盖且由骨牌左端覆盖,3代表已覆盖且由骨牌上端覆盖。转移按如下分类进行: 1.障碍格:将当前格状态改成1原创 2017-02-13 18:57:25 · 332 阅读 · 0 评论