2385专题

POJ - 2385 Apple Catching(动态规划)

题目连接 初学DP,虽然都是简单的DP,但每做出一道题都不容易啊,不能仅仅局限于一题,更重要的是要触类旁通。 dp[i+1][j] = max(dp[i][j], dp[i][j-1]) + ( t==(j%2+1) ? 1:0); 表示前i个苹果,走j次的最大获得值。可以压缩空间用一维数组即可。 其中( t==(j%2+1) ? 1:0)表示:若已停留在该树,则+1; #i

LeetCode:2385. 感染二叉树需要的总时间(DFS Java)

目录 2385. 感染二叉树需要的总时间 题目描述: 实现代码与解析: DFS 原理思路: 2385. 感染二叉树需要的总时间 题目描述:         给你一棵二叉树的根节点 root ,二叉树中节点的值 互不相同 。另给你一个整数 start 。在第 0 分钟,感染 将会从值为 start 的节点开始爆发。 每分钟,如果节点满足以下全部条件,就会被感染: 节点

SSL 2382 2383 2384 2385 k好数 睡眠 字符串 猜数

提醒:题目在最后,都是水题。 (1)k好数 分析: 模拟,然后如果要优化。 两种方法: (1)视为 k + 1 k+1 k+1进制:请看链接:借鉴 (2)碰到不符合的跳到符合的(我的方法) 代码 #include <cstdio>using namespace std;int n,m,i=1,ans;int main(){freopen("knumber.in","r",s

1372. 二叉树中的最长交错路径;1042. 不邻接植花;2385. 感染二叉树需要的总时间

1372. 二叉树中的最长交错路径 核心思想:递归。对于一个子节点,如果它是右子树,那么它往右走等于它父节点左边的长度+1,否则就重新开始,然后维护最大值即可,感觉这里用语言不好描述,借鉴一下别人的图。 1042. 不邻接植花 核心思想:就是枚举每一个花园,然后看与它相连的花园,且将已经选过的花的种类去除,然后从剩下的种类中选择一种即可,然后如何枚举花园,我们可以预先处理好花园的

poj 2385

在某一时刻牛的状态为,它可能上一时刻它也在这棵树下,或者是从另外一棵树移过来的。这样,我们用 dp[i][j] 来表 示在第 i 个时刻走了 j 步接到的最多苹果数。暂且不管当前这一时刻是否接到苹果, dp[i][j] = max(dp[i-1][j], dp[i-1][j- 1]) ,这描述了我前面说的两种状态。 再看当前这一秒是否接到苹果。因为初始在第一棵树下,因而如果 j 为奇