题目传送门


Solution

树形背包dp大水题,是POJ某道题的弱化版。。。不想说了,据说贪心也能过此题。。

一开始50分,dp数组初始化炸了,表示无语。。


Code

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <algorithm>
#include <cmath>
#define N 111using namespace std;int n, v, cur, head_p[N];
int dp[N][N][2];
struct Tadj{int next, obj;} Edg[N<<1];void Insert(int a, int b){cur ++;Edg[cur].next = head_p[a];Edg[cur].obj = b;head_p[a] = cur;
}void dfs(int root, int fa){for(int i = head_p[root]; ~ i; i = Edg[i].next){int v = Edg[i].obj;if(v == fa)  continue;dfs(v, root);for(int j = n; j >= 1; j--)for(int k = 1; k <= j; k++){if(k >= 2){dp[root][j][0] = max(dp[root][j][0], dp[v][k-2][0] + dp[root][j-k][0]);dp[root][j][1] = max(dp[root][j][1], dp[v][k-2][0] + dp[root][j-k][1]);}dp[root][j][1] = max(dp[root][j][1], dp[v][k-1][1] + dp[root][j-k][0]);//这里其实还有一个状态不过是废的//就是让它回到儿子节点但不回到子树的根(明显这不优)}}
}int main(){scanf("%d%d", &v, &n);for(int i = 1; i <= v; i++)  head_p[i] = -1;cur = -1;int a, b;for(int i = 1; i < v; i++){scanf("%d%d", &a, &b);Insert(a+1, b+1);Insert(b+1, a+1);}memset(dp, 0, sizeof(dp));for(int i = 1; i <= v; i++)for(int j = 0; j <= n; j++)  dp[i][j][0] = dp[i][j][1] = 1;//初始化dfs(1, 0);printf("%d\n", max(dp[1][n][0], dp[1][n][1]));return 0;
}

用力踩,那不堪一击的洁白。

BZOJ 4813: [Cqoi2017]小Q的棋盘 (树形dp)相关推荐

  1. bzoj 4813: [Cqoi2017]小Q的棋盘【树形dp】

    这么简单的dp我怎么没想到x2 f为从这个点出发后回到这个点最多能走过的点,g为从这个点出发后不回到这个点最多能走过的点,注意g有两种转移:g[u][k]=max(g[u][k],f[u][k-j-1 ...

  2. [bzoj4813][Cqoi2017]小Q的棋盘

    来自FallDream的博客,未经允许,请勿转载,谢谢. 小Q正在设计一种棋类游戏.在小Q设计的游戏中,棋子可以放在棋盘上的格点中.某些格点之间有连线,棋子只能在有连线的格点之间移动.整个棋盘上共有V ...

  3. Luogu 3698 [CQOI2017]小Q的棋盘

    BZOJ 4813 虽然数据范围很迷人,但是想树形$dp$没有前途. 先发现一个事情,就是我们可以先选择一条链,最后要走到这一条链上不回来,走到链上的点每一个只需要一步,而如果要走这条链之外的点,一个 ...

  4. bzoj 4814: [Cqoi2017]小Q的草稿【计算几何】

    //先打个50暴力,10min50分简直美滋滋~ #include<iostream> #include<cstdio> #include<algorithm> u ...

  5. [CQOI2017]小Q的棋盘

    输入输出样例 输入样例#1: 5 2 1 0 2 1 3 2 4 3 输出样例#1: 3 输入样例#2: 9 5 0 1 0 2 2 6 4 2 8 1 1 3 3 7 3 5 输出样例#2: 5 说 ...

  6. P3700 [CQOI2017]小Q的表格(反演、分块)

    P3700 [CQOI2017]小Q的表格 给定一个大小为n×nn \times nn×n的表格,初始时i,ji, ji,j位置上填的是f(i,j)=i×jf(i, j) = i \times jf( ...

  7. [CQOI2017]小Q的表格(数论+分块)

    题目描述 小Q是个程序员. 作为一个年轻的程序员,小Q总是被老C欺负,老C经常把一些麻烦的任务交给小Q来处理.每当小Q不知道如何解决时,就只好向你求助. 为了完成任务,小Q需要列一个表格,表格有无穷多 ...

  8. BZOJ.4199.[NOI2015]品酒大会(后缀自动机 树形DP)

    BZOJ 洛谷 后缀数组做法. 洛谷上SAM比SA慢...BZOJ SAM却能快近一倍... 只考虑求极长相同子串,即所有后缀之间的LCP. 而后缀的LCP在后缀树的LCA处.同差异这道题,在每个点处 ...

  9. bzoj 2427: [HAOI2010]软件安装(Trajan+树形DP)

    2427: [HAOI2010]软件安装 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 1844  Solved: 723 [Submit][Sta ...

最新文章

  1. 精选Python开源项目Top10!
  2. python pandas写入数据后保存_python读取MySQL数据使用pandas写入到csv,并保存列名
  3. ARM7还是ARM9?uCOS还是Linux?
  4. Linux 下关闭防火墙设置
  5. Atitit.跨语言异常转换机制 java c# php到js的异常转换
  6. linux安装mysql5.6rpm_centos6.5 下安装mysql5.6,rpm方式
  7. 点点滴滴——变量对象的产生
  8. [GIS原理] 10.1 空间统计描述(描述性分析、探索性数据分析)、空间自相关分析 - QQ图、权重矩阵、Moran'sl、G统计量
  9. Qt登录界面实现以及跳转不同界面
  10. python 正则findall右斜杠_Python正则表达式匹配反斜杠问题解析
  11. 太阳时角、太阳高度角、天顶角、太阳方位角和剖面角计算的Python程序
  12. draw.io二次开发改造过程
  13. 50个查询系列-第五个查询:查询没学过“叶平”老师课的同学的学号、姓名;...
  14. 机器学习-LDA--景区评论分析 ipython
  15. uvalive4987
  16. 计算机操作与应用60,60个技巧使您成为计算机高手!
  17. 跨境电商前景 跨境电商运营前景待遇
  18. python图像锐化,图像加强、锐化,利用 Python-OpenCV 来实现 4 种方法!
  19. Web UI自动化测试系统设计
  20. 第四代计算机主要采用什么作为逻辑开关元件,第四代计算机重要采纳什么作为逻辑开关元件?...

热门文章

  1. 百度提前批-面试凉凉之-梯度下降
  2. java设置系统环境变量_设置java 环境变量
  3. Synplify 综合Gtech 网表
  4. 职业+英语思维导图模板
  5. NetBIOS 漏洞的入侵与防御
  6. linux云主机安全加固
  7. 打印、报表和文档-家谱树
  8. 图像形成(5)球面透视投影和近似相机模型
  9. 基于ESP32的SPI读取MPU9250数据
  10. java下载网络文件至本地