牛客算法进阶——树形dp】的更多相关文章

大意: 给定树, 对于每个节点, 求包含该节点的连通子集数. 显然有$dp[x]=\prod (dp[y]+1), ans[x]=(\frac{ans[fa[x]]}{dp[x]+1}+1)dp[x]$. 特判$dp[x]+1=0$的情况. #include <iostream> #include <cstdio> #include <queue> #define REP(i,a,n) for(int i=a;i<=n;++i) #define pb push_b…
2019牛客国庆集训派对day3 链接:https://ac.nowcoder.com/acm/contest/1108/J来源:牛客网 题意 ICPCCamp 有 n 个商店,用 $1,2,...,n$ 编号.对于任意 i > 1,有从商店 $p_i$​ 到 i 的单向道路. 同时,商店 i 出售类型为 $a_i$​ 的商品. Bobo 从商店 1 出发前往商店 i.他要在两个不同的商店购买商品(包括商店 1 和 i).设他先购买的商品类型是 x,后购买的商品类型是 y,他用 $f_i$​ 表…
链接:https://www.nowcoder.com/acm/contest/74/F来源:牛客网 德玛西亚是一个实力雄厚.奉公守法的国家,有着功勋卓著的光荣军史. 这里非常重视正义.荣耀.职责的意识形态,这里的人民为此感到强烈自豪. 有一天他们想去制裁邪恶的比尔吉沃特,于是派遣了自己最优秀的战士. 结果比尔吉沃特领土太小,只有长为n宽为m共计n*m块土地,其中有些土 地标记为0表示为高山峻岭或者深海湖泊,英雄们无法在其中站立,只有标 记为1的土地才能容纳一个英雄.德玛西亚的英雄们战斗时有一个…
树形dp的状态转移分为两种,一种为从子节点到父节点,一种为父节点到子节点,下面主要讨论子节点到父亲节点的情况: 例题1(战略游戏): 这是一道典型的由子节点状态转移到父节点的问题,而且兄弟节点之间没有相互影响,我们用f[i][0]/f[i][1]表示i不取/要取时其所在子树总共最少取的节点数,不难得出dp方程: 代码: #include<iostream> #include<cstdio> #include<cstdlib> #include<cmath>…
import java.util.*; public class Main{ public static void main(String[] args){ try(Scanner in = new Scanner(System.in)){ String s = in.next(); System.out.println(fun(s)); } } /* 思路是从字符串中分别截取所有长度为1,2,3,4,...的字符串,然后与可能的DNA子串进行匹配 长度1的子串:A,G,T,C 共4个 长度2的…
题意:给你一张图,对其染色,使得相连的点的颜色两两不同求,最少使用多少种颜色. 题解:首先,若\(n=1\),只需要一种.然后我们再去判断是否是二分图,对于二分图,两种颜色就够了,若不是二分图,也就是可能存在奇环的情况,那么三种颜色铁够了.所以题目就转化成了判断是否是二分图. 代码: int n,m; int u,v; int color[N]; vector<int> V[N]; bool dfs(int u,int c){ color[u]=c; for(auto w:V[u]){ if(…
\[f[u][step] = \begin{cases} C[u] & step = 0 \\ (\sum{f[v][step - 1]}) - f[u][step - 2] \cdot (deg[u] - 1) & 1 \leq step < maxSteps \end{cases}\] #include <iostream> #include <cstdio> #include <cstring> #include <algorithm&…
链接:https://ac.nowcoder.com/acm/contest/327/G来源:牛客网 一天,处女座在牛客算法群里发了一句“我好强啊”,引起无数的复读,可是处女座发现复读之后变成了“处女座好强啊”.处女座经过调查发现群里的复读机都是失真的复读机,会固定的产生两个错误.一个错误可以是下面的形式之一: 1.       将任意一个小写字母替换成另外一个小写字母 2.       在任意位置添加一个小写字母 3.       删除任意一个字母 处女座现在在群里发了一句话,他收到了一个回应…
今天学了树形dp,发现树形dp就是入门难一些,于是好心的我便立志要发一篇树形dp入门的博客了. 树形dp的概念什么的,相信大家都已经明白,这里就不再多说.直接上例题. 一.常规树形DP P1352 没有上司的舞会 题目描述 某大学有N个职员,编号为1~N.他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司.现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数Ri,但是呢,如果某个职员的上司来参加舞会了,那么这个职员就无论如何也不肯来参加舞会了.所以…
自己做了动态规划的题目已经有了一个月,但是成效甚微,所以来总结一下动态规划,希望自己能够温故知新.这个博客是关于树形dp的,动态规划的一类题目. 首先从最简单的树形DP入手,树形DP顾名思义就是一棵树和动态规划结合起来,我做了7,8题树形DP,目前为止发现树形DP的代码样式都是差不多,都在dfs树的过程中进行DP. 首先看一道简单的入门题目 题意就是在一棵树中,选取一些结点每个结点都可以监管者连接自己的一条边,问最少选取多少个结点可以让所有边都被监管起来. 思路:1:结点状态可以分为取和不取,所…