|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
给你的建议是,有些最常用的语句是需要记住的比如ifforwhile这些、其他的一般语句你只要知道有这个函数或者有这个功能就可以了,当你用的时候你可以凭借记忆搜索就可以了。题意:树上恣意三个点不在一条路径上,统计如许的三点汇合有几种。三个点组成的路计划数S=C(n,3)=n*(n-1)*(n-2)/6用S减往三个点在一条路径上的数量就是谜底。列举两头点作为第二个点,在它的第K棵子树上找一个点作为第一个点,在剩下的,没有列举过的结点里,找一个点作为第三个点。数量相乘。如许成绩就酿成了统计结点的子节点成绩,复杂的树形dp。#include<iostream>#include<cstdio>#include<algorithm>#include<cstdio>#include<cstring>#include<vector>#pragmacomment(linker,"/STACk:102400000,102400000")usingnamespacestd;vector<int>tree[100005];typedeflonglongll;llans,lln;lldfs(intk,intfa=-1){llsum=0,son=0;for(inti=0;i<tree[k].size();i++)if(tree[k][i]!=fa){sum+=son=dfs(tree[k][i],k);ans+=son*(n-sum-1);}returnsum+1;}intmain(){inta,b;while(cin>>n){for(inti=1;i<=n;i++)tree[i].clear();for(inti=1;i<n;i++){scanf("%d%d",&a,&b);tree[a].push_back(b);tree[b].push_back(a);}ans=0;dfs(1);cout<<n*(n-1)*(n-2)/6-ans<<endl;}return0;}刚开始觉得自己对这些多少有些基础,很简单,但是看了老师那么熟练的进行网页布局的时候,突然之间发现,其实,我的基础并没有自己想像的那么好,自己设计的页面其实并不好看,就连表格的边框为1像素都不会弄。 |
|