仓酷云

标题: PHP网页编程之hdu 4705 树形dp [打印本页]

作者: 若天明    时间: 2015-1-16 22:13
标题: PHP网页编程之hdu 4705 树形dp
给你的建议是,有些最常用的语句是需要记住的比如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像素都不会弄。
作者: 小妖女    时间: 2015-1-19 05:10
基础有没有对学习php没有太大区别,关键是兴趣。
作者: 再见西城    时间: 2015-1-26 21:03
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
作者: 分手快乐    时间: 2015-2-4 21:29
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
作者: 小魔女    时间: 2015-2-10 15:13
兴趣是最好的老师,百度是最好的词典。
作者: 愤怒的大鸟    时间: 2015-3-1 13:35
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
作者: 爱飞    时间: 2015-3-10 18:22
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
作者: 莫相离    时间: 2015-3-17 09:11
对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
作者: 山那边是海    时间: 2015-3-24 05:48
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2