Chinaunix首页 | 论坛 | 博客
  • 博客访问: 126964
  • 博文数量: 124
  • 博客积分: 3940
  • 博客等级: 中校
  • 技术积分: 1235
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-05 18:57
文章分类

全部博文(124)

文章存档

2011年(52)

2010年(62)

2009年(10)

最近访客

分类:

2010-08-21 15:47:09

Div2-200:水题

Div2-550:模拟题

Div2-1100:树形dp,题意是给定一棵带权树,求遍历完整个树顶点时所走路径长度的最小值。通过分析dfs的过程,可以知道除了最后的一条路径,其他的每个路径上每条边都要走两次,所以答案就是2倍的所有边和减去最长的路径。

Div1-550:数学题。给定1-x和数字,选出其中的y个个数。条件有两个一个是是否非递减序cd1,另外一个是是否允许重复cd2

两个条件均为假时,显然是x^y

两个条件均为真时,相当于是组合c(x,y)

cd1为假,cd2为真时,相当于全排列A(x,y)

cd1为真,cd2为假时,即要求可重复的非递减序列时,略微复杂,答案是c(x+y-1,y).可以看做有x个盒子,每个盒子上从左到右依次标记为1-x,每次我们可以选择一个球放入任意一个盒子中,可以允许一个盒子放多个。那么最后各个球所在盒子标号的序列则和这个一一对应。对于这个个数,我的思路是这样的,可能比较繁。

对于n个盒子装m个球,盒子可以为空,也可以装多个。设每个盒子中数量为xk,xk>=0,x1+…+xn=m,两边同时加n,有x1+1+…+xn+1=m+n,则相当于有m+n1,从中插入n-1个挡板,以分成n个大于0的数。所以答案为c(m+n-1,n-1)=c(m+n-1,m).

阅读(498) | 评论(1) | 转发(0) |
0

上一篇:Chapter1-introduction

下一篇:最优比例生成树

给主人留下些什么吧!~~

chinaunix网友2010-08-24 09:11:09

Download More than 1000 free IT eBooks: http://free-ebooks.appspot.com