• BZOJ 4813: [Cqoi2017]小Q的棋盘


    Description

    一棵(n)个节点的树,从根节点走(k)步,最多经过多少节点.(n,kleqslant 100)

    Solution

    树形DP.

    (f[i][j][0/1])表示从节点(i),向下走(j)步,是否回来,经过最多的节点数.

    Code

    /**************************************************************
        Problem: 4813
        User: BeiYu
        Language: C++
        Result: Accepted
        Time:28 ms
        Memory:1380 kb
    ****************************************************************/
     
    #include <bits/stdc++.h>
    using namespace std;
     
    #define uor(i,j,k) for(int i=j;i<=(int)k;i++)
    #define uep(i,j,k) for(int i=j;i<(int)k;i++)
    #define dor(i,j,k) for(int i=j;i>=(int)k;i--)
     
    const int N = 105;
     
    int n,m;
    vector<int> g[N];
    int f[N][N][2];
     
    void AddEdge(int u,int v) { g[u].push_back(v),g[v].push_back(u); }
    void DFS(int u,int fa) {
        uep(t,0,g[u].size()) {
            int v=g[u][t];
            if(v==fa) continue;
            DFS(v,u);
            dor(i,m,1) uor(j,0,i) {
                if(j-1>=0) 
                    f[u][i][0]=max(f[u][i][0],f[u][i-j][1]+f[v][j-1][0]);
                if(j-2>=0)
                    f[u][i][1]=max(f[u][i][1],f[u][i-j][1]+f[v][j-2][1]),
                    f[u][i][0]=max(f[u][i][0],f[v][j-2][1]+f[u][i-j][0]);
            }
        }
        uor(i,0,m) 
            f[u][i][0]=max(f[u][i][0]+1,f[u][i-1][0]),
            f[u][i][1]=max(f[u][i][1]+1,f[u][i-1][1]);
    //  cout<<"---------"<<endl;
    //  cout<<u<<"-->"<<endl;
    //  uor(i,0,m) cout<<f[u][i][0]<<" ";cout<<endl;
    //  uor(i,0,m) cout<<f[u][i][1]<<" ";cout<<endl;
    }
    int main() {
        scanf("%d%d",&n,&m);
        int u,v;
        uep(i,1,n) scanf("%d%d",&u,&v),AddEdge(u,v);
        DFS(0,0);
        printf("%d
    ",f[0][m][0]);
        return 0;
    }
    

      

  • 相关阅读:
    Docker 部署 ElasticSearch-Head
    linux安装kibana-7.6.1
    CentOS部署ElasticSearch7.6.1集群
    linux 安装mysql 8
    Docker安装Mysql,并搭建一主一从复制集群,一主双从,双主双从集群
    linux 挂载光盘,rmp,yum
    git多账号登录问题
    js动态添加事件-事件委托
    yii2 RESTful api的详细使用
    yii2 ActiveRecord多表关联以及多表关联搜索的实现
  • 原文地址:https://www.cnblogs.com/beiyuoi/p/6784388.html
Copyright © 2020-2023  润新知