内贸网站有多少,佛山网站制作哪家好,wordpress 添加插件,湛江seo排名题目链接#xff1a;bzoj上是权限题~ 题目大意#xff1a; 题解#xff1a; 树型DP f[i][0]表示不选i#xff0c;f[i][1]表示选i。(因为很水..就不详写了) 可列出方程#xff1a; f[i][0]sigama(max(f[y][1],f[y][0])); f[i][1]sigama(f[y][0]); y为i的孩子 #includec… 题目链接bzoj上是权限题~ 题目大意 题解 树型DP f[i][0]表示不选if[i][1]表示选i。(因为很水..就不详写了) 可列出方程 f[i][0]sigama(max(f[y][1],f[y][0])); f[i][1]sigama(f[y][0]); y为i的孩子 #includecstdio
#includecstdlib
#includecstring
#includeiostream
#includealgorithm
using namespace std;
#define maxn 51000struct node
{int x,y,next;
}a[maxn*2];int len,first[maxn];
int f[maxn][2];//0-不选自己 1-选
int mymax(int x,int y){return (xy)?x:y;}
void ins(int x,int y)
{len;a[len].xx;a[len].yy;a[len].nextfirst[x];first[x]len;
}
void dp(int x,int fa)
{int f00,f10;for (int kfirst[x];k!-1;ka[k].next){int ya[k].y;if (yfa) continue;dp(y,x);f1f[y][0];f0mymax(f[y][0],f[y][1]);}f[x][0]f0;f[x][1]1f1;
}
int main()
{//freopen(vacation.in,r,stdin);//freopen(vacation.out,w,stdout);int n,i,x,y;scanf(%d,n);len0;memset(first,-1,sizeof(first));for(i1;in;i){scanf(%d%d,x,y);ins(x,y);ins(y,x);}dp(1,0);printf(%d\n,mymax(f[1][0],f[1][1]));return 0;
} 转载于:https://www.cnblogs.com/Euryale-Rose/p/6527853.html