今日份水题2018.11.2

这几天想突破一下树形DP,这也是高中时候一直没能搞定的。

今天先来两道简单的水一下。

HDU2196 Computer 给一棵树,求树中每个点离其他点最远的距离。每个点第一遍DFS记录能达到的最远距离dp1[]和次远距离dp2[],之后第二遍dfs,每次先更新当前节点答案然后再向下搜。如果当前节点位于父节点答案所在链上,即dp1[j]+w[i,j]=dp1[i],此时又分两种情况1: dp1[j]<dp2[i]+w[i,j],则dp2[j]=dp1[j],dp1[j]=dp2[i]+w[i,j],2:dp1[j]>=dp2[i]+w[i,j],则dp1[j]不变,dp2[j]=max(dp2[j],dp2[i]+w[i,j])  剩余情况就是当前节点不在父节点答案所在链上,这时dp2[j]=max(dp1[j],dp2[i]+w[i,j]),dp1[j] = dp1[i]=w[i,j]。注意两个数组的赋值。

POJ2378 Tree Cutting 给一棵树,求出树中所有满足条件的点:将这个点除去,剩余所有联通块大小不超过总结点数的一半。第一次dfs统计子树大小,第二次dfs时,若子树小于一半节点,直接返回,遍历所有子节点,记一个flag,子树中如果出现大于总结点一半的,flag=false,并且搜索该子树,碰到等于一半的可以直接记录答案。最后搜索完所有的子节点,如果flag=true,将本节点计入答案。

永远忘不了被一道各位大佬称之为“简单树形DP”的JLOI2016侦察守卫虐到怀疑人生

原文地址:https://www.cnblogs.com/hzs2000/p/9899116.html

时间: 2024-10-09 09:41:11

今日份水题2018.11.2的相关文章

【Python】今日份刷题

题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶.求该青蛙跳上一个n级的台阶总共有多少种跳法? 解题思路:列出前5级台阶可以产生多少种跳法,并观察规律  可以发现规律如下 没有台阶的时候,不用跳,0种跳法 只有1阶台阶的时候,有1种跳法 有2阶台阶的时候,有2种跳法 有3阶台阶的时候,有3种跳法 有4阶台阶的时候,有5种跳法 有5阶台阶的时候,有8种跳法 结论:除了没有台阶,1阶,2阶比较特别,3阶开始后续的跳法符合斐波那契数,即f(n)=f(n-1)+f(n-2) 函数递归可解 代码如下

11.06水题Test

11.06水题比赛 题目 描述 做法 \(BSOJ5150\) 求\(n\)个数两两之差的中位数 二分中位数,双指针判定\(\le x\)差值对数 \(BSOJ5151\) 求树的最大匹配和其个数 来一遍\(dp\),转移中途计数 \(BSOJ5152\) 求丢一张麻将后最大听牌数 爆搜 \(T1\) 二分中位数,从小到大求出每个点与最小的使得他们差值小于等于\(x\)的位置累加区间,判定两倍是否多于\(\frac{n(n-1)}{2}\) 注意偶数还要二分一次以\(\frac{n(n-1)}{

nyoj-1099-Lan Xiang&#39;s Square(几何,水题)

题目链接 1 /* 2 Name:nyoj-1099-Lan Xiang's Square 3 Copyright: 4 Author: 5 Date: 2018/4/26 9:19:19 6 Description: 7 给4个点,判断是否形成正方形 8 double类型的值比较大小,直接判断==0竟然A了,然而小于1e-6竟然WA 9 */ 10 #include <iostream> 11 #include <cstdio> 12 #include <algorithm

sdut 2841 Bit Problem (水题)

题目 贴这个题是因为看题解有更简单的方法, 我做的时候是直接算的, 也很简单. 贴一下题解吧: 如果一个整数不等于 0,那么该整数的二进制表示中至少有一位是 1. 这个题结果可以直接输出 x - (x&(x-1)); 因为x-1 之后二进制下,就是最右边的1变成了0, 最右边的1的 右边所有的0变成了1, 不影响最左边. 我的代码: 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4

sdut 2413:n a^o7 !(第三届山东省省赛原题,水题,字符串处理)

n a^o7 ! Time Limit: 1000MS Memory limit: 65536K 题目描述 All brave and intelligent fighters, next you will step into a distinctive battleground which is full of sweet and happiness. If you want to win the battle, you must do warm-up according to my inst

G - Brain Network (easy)(并查集水题)

G - Brain Network (easy) Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u CodeForces 690C1 Description One particularly well-known fact about zombies is that they move and think terribly slowly. While we still don't know

涨姿势题2_水题_两种解法

Problem Description 涨姿势题就是所谓的优化题,在组队赛中,队伍发现了一题水题,那么应该交给谁去处理?作为处理水题的代码手,应该具备什么样的素养?1,要快,水题拼的就是速度!2,不能卡水题!水题都卡,绝对不是一个代码手的风范!3,不能出错,错一次即罚时20分钟,对于水题来讲是致命的!4,要能看出来一题是水题!没有这条,上面三条都是没有意义的! 如果你希望你成团队中一个合格的代码手,那么这套题是你最好的选择,快AC吧! 本系列即是为了提高水题代码手的素养而准备的!水题经常需要用到

Identity Card(水题)

Identity Card Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2696    Accepted Submission(s): 1048 Problem Description Do you own an ID card?You must have a identity card number in your family'

B - 楼下水题(扩展欧几里德)

B - 楼下水题 Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Status Practice CodeForces 7C Description A line on the plane is described by an equation Ax + By + C = 0. You are to find any point on this line, whose coo