timus专题

http://acm.timus.ru/problem.aspx?space=1num=1018Binary Apple Tree

题意:给你一棵树,树上有很多苹果,现在要求你砍去一些树枝,问你砍去树枝后最多可以保留多少苹果,树形dp入门题 dp[i][j]表示以i为根节点保留j个树枝最多可以保留的苹果数。可得动态转移方程dp[i][j]=max(dp[i][j],dp[la][i]+dp[ra][j-i+1]); AC代码: #include<iostream>#include<algorithm>#include

Goat in the Garden 2http://acm.timus.ru/problem.aspx?space=1num=1348

题意:给你一个山羊,问你山羊能吃到草需要拉伸的最小距离,和山羊能吃完草所要拉伸的最小距离 思路:首先求一点到一条线段距离要考虑垂线是否落在线段上,如果落在线段上,利用海伦公式求出高h即可,如果不在则求出该点到两个端点最短距离即可。注意a和b重合时要单独考虑。 AC代码: #include<iostream>#include<cstdio>#include<cmath>#includ