1、NOIP2012提高组初赛试题分析,2013年9月,南京市复赛分数线68分,省控线(使用奖励名额)50分,1. 本题中,我们约定布尔表达式只能包含p,q,r三个布尔变量,以及“与“()、”或“(v)、”非“()三种布尔运算。如果无论p,q,r如何取值,两个布尔表达式的值总是相同,则称它们等价。例如,(pVq)Vr和pV(qVr)等价,pVp和qVq也等价,而pVq和pq不等价。那么,两两不等价的布尔表达式最多有_个。 解答:对于p、q、r三个变量,每个变量可取0,1两种取值,共有8种组合。对于每种组合,代入表达式只有0和1两种答案。因此两两不等价的表达式只有28=256种。,对于一棵二叉树,独
2、立集是指两两互不相邻的节点构成的集合。例如图1有5个不同的独立集(1个双点集合,3个单点集合,1个空集),图2有14个不同的独立集,那么,图3有_个不同的独立集。,请分析图2的14个是怎样得来的?,1空+5单+6双+2三 14,使用DP求解 设 m(i)为以i号点为根结点 总个数f(i)为选i的总个数g(i)表示不选i的总个数,显然有m(i)=f(i)+g(i),1,2,3,4,5,f(i)=g(left_childi)*g(right_childi),g(i)=m(left_childi)*m(right_childi),m(17)=f(17)+g(17)=1936+3600=5536 f(
3、17)=g(8)*g(8)=44*44=1936 g(17)=m(8)*m(8)=60*60=3600 m(8) =f(8)+g(8)=16+44=60f(8)=g(1)*g(6)=1*16=16 g(8)=m(1)*m(6)=2*22=44 m(6)=f(6)+g(6)=6+16=22 f(6)=g(1)*g(4)=1*6=6 g(6)=m(1)*m(4)=2*8=16 m(4)=f(4)+g(4)=2+6=8 f(4)=g(1)*g(2)=1*2=2 g(4)=m(1)*m(2)=2*3=6 m(2)=f(2)+g(2)=3 f(2)=g(1)=1 g(2)=m(1)=2 m(1)=2 f(1)=1 g(1)=1,