题目链接:10253 - Series-Parallel Networks
白书的例题。
这题也是需要把问题进行转化,一个并联可以分为几个串联,然后串联可以分成边。
如此一来,最后叶子结点种数会是n,问题转化为去分配叶子结点,使得总和为n。
书上有两种方法,一种直接去递归,利用组合数学的方式去计算答案。
一种是推出递推式:
设dp[i][j]为一共j个叶子结点的树,子树的叶子最多的为i...
分类:
Web程序 时间:
2014-05-12 06:22:04
阅读次数:
447
---------------------- IOS开发、Android培训、期待与您交流! ----------------------
一、autorelease
autorelease与release相似,是OC中的一个对象方法。这两个方法都能把对象的引用计数器减1,但是release是一个精确的减1,对对象的操作只能在release之前进行,如果是在之后,就会出现野指针错误;而auto...
分类:
其他好文 时间:
2014-05-12 06:19:57
阅读次数:
354
题目链接:1073 - Glenbow Museum
白书上的例题,需要一定的推理。
首先要把问题转化,推理出n个点,R的个数为(n + 4) / 2, O的个数为(n - 4) / 2个,因为首先四个角必须为R,然后在中间添加O点,每有一个O点就要多一个R点,所以最后R点比O点多4。
然后问题就转化为给定n个R点和m个O点,求出有多少个序列,要求O点不连续,并且R的连续个数不能超过4,的序...
分类:
其他好文 时间:
2014-05-11 14:41:25
阅读次数:
293
题目链接:11038 - How Many O's?
题意:求[a.b]之间,0出现的次数。
思路:一开始一直往数位DP上去想,结果发现挺复杂的。。
把问题先转化为求0 - num的个数,在用到b的个数减去到a的个数
其实只要利用计数的乘法和加法原理,把数字对应的每一位的分成左右两边,利用乘法原理求总数,在用加法原理把所有的总数加起来就是总情况数。那么讨论一下分成两边的情况。举个例子
比...
分类:
其他好文 时间:
2014-05-11 13:16:13
阅读次数:
282
题目链接:1362 - Exploring Pyramids
白书上的例题,思路是对于每个结点,往后遍历分为左右两边子树来考虑,左边的子树为去掉根节点剩下的子树,而右边是要算上根节点的,这样就不会有重复的情况出现,然后根据乘法原理,左右两边情况相乘为总情况数,然后计算这些总和。
f[i][j]表示[i,j]结点的情况种数,那么 f[i][j] = sum{f[i + 1][k - 1] * ...
分类:
其他好文 时间:
2014-05-11 07:02:11
阅读次数:
277
一、计数原理
加法原理:n个方法,每个方法有Pi种方案,那么一共方案数为P1 + P2 + P3... + Pn
乘法原理:一件事情有n个步骤,每个步骤需要pi种方案,那么一共有P1 * P2 * P3 * ... * Pn种方案。
容斥原理:集合A,B,C。|A U B U C| = |A| + |B| + |C| - |AB| - |AC| - |BC| + |ABC|。依次类推。
基...
分类:
其他好文 时间:
2014-05-11 06:28:46
阅读次数:
450
第一章 内存分配
1. 内存区域。
方法区和堆(线程共享),程序计数器 , VM栈 和 本地方法栈(线程隔离)。
1) java虚拟机栈:线程私有。描述的是java方法执行的内存模型:栈帧,用户存储 局部变量表,操作数栈,动态链接,方法出口等信息。
局部变量表在编译时即可完全确定!如果线程请求的栈深度大于 规定的深度,StackOverflowErro...
分类:
其他好文 时间:
2014-05-10 04:47:01
阅读次数:
275
设计过ORM的攻城狮们或多或少都应该考虑过连接池,考虑过连接池就或多或少会想过计数器....
分类:
数据库 时间:
2014-05-10 03:18:27
阅读次数:
569
进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动。
进程是系统进行资源分配和调度的一个独立单位.。 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。
线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),...
分类:
编程语言 时间:
2014-05-10 02:35:32
阅读次数:
341