2006年国家集训队论文_从特殊情况考虑(PPT报告).pptx
从特殊情况考虑,,引子,从特殊情况考虑是一种重要的数学思想。 在算法设计中,巧妙地运用这一思想,可以取得事半功倍的效果。,特殊情况主要分为两种极端情况和简单情况 极端情况例1 Bra 简单情况例2 Sko,问题一 POI 03-04 Bra 改编,问题描述 如图,给定n个门,分别编号为0至n-1。每个门可能有多个输入端,但只有一个输出端。,电路的信号 有三种可能性 0、1/2和1。,编号为0和1的门没有输入端,0号门始终输出0,1号门始终输出1。对于其它的门,它的输入信号中 0的个数比1的个数多时,它输出0; 1的个数比0的个数多时,它输出1; 0的个数和1的个数一样多时,它输出1/2; 保证存在符合要求的输出状态。 给定一个电路,要求尽可能多地确定每个门的输出结果。,问题一 问题描述(续),问题一 初步思考,令Cj,i表示i号门的所有输入端中,来自j号门输出端的数量。设Pi为i号门的输出状态。,C2,01,C2,11,C3,21,C3,41,C4,21,C4,41 其它均为0,令 ,,问题一 初步思考(续),即相当于ii1号门所有输入信号的平均值。 Ui1/2,则Pi1,令Pmini 和Pmaxi分别为Pi在所有可能的电路中能取到的最小值和最大值,它们是Pi的极端情况。 显然,若PminiPmaxi 0≤i≤n-1,则i号门的输出状态是固定的,否则就不是固定的。 因此,我们只需要求出Pmini和Pmaxi。,问题一 考虑极端情况,问题一 一个想法,如果Pk变大,那么所有的Ui0≤i≤n-1也只能变大,而不可能变小,而对应的Pi也是如此。 令Pi Pmini 0≤i≤n-1,可以得到,此时的输出状态是符合要求的。,不妨先将所有的门的输出状态都标为0,此时只有1号门不正确。从1号门开始,将它的输出状态改为1。然后不断找到矛盾所在,进行迭代。由于每个门的状态最多变两次(0变1/2,1/2变1),每个门的输入的总数不超过200000,因此在不超过2*200000 400000次迭代后,迭代就会中止。迭代终止时,有Pi Pmini 0≤i≤n-1。 类似的,也可以求得Pmaxi0≤i≤n-1。,问题一 Pmini的求法,极端情况是特殊情况的一种表现形式。题目中的许多性质,往往会通过一些具有极端性质的对象(比如本题中的极值)表现出来。这就使得我们可以以它们为重点考察对象,来寻找突破口和答案。,问题一 小结,,,问 题 二 POI 04-05 Sko 改编,骑士在一个无限大的坐标平面上移动。他能够执行的每种移动可以用一对整数a,b来描述,这表示骑士可以从x,y移动到xa,yb或x-a,y-b,,如果一个骑士有移动2,1,那么他在A4,3点就可以移动到B6,4或C2,2,对于每个骑士,从原点出发所能够到达的点,不全在一条直线上 给定一个骑士和一些点,问这个骑士从原点出发,能到达这些点中的哪几个。 为了讨论方便,设给定骑士的第k种移动为ak,bk。将一个骑士从原点出发,能够到达的点称为该骑士的可行点。一个骑士的可行点的集合称为该骑士的可行点集。,问 题 二 题目描述(续),棋盘是二维的,我们不妨先考虑比较简单的一维情况。 此时,每个骑士都在一条直线上移动,他的第i种移动1≤i≤n可以表示为一个整数ai,令ra1,a2,,an,则他能够到达横坐标为X的点的充要条件是r|X。,问 题 二 考虑一维情况,对于不退化的二维情况(即骑士所能够到达的点,不全在一条直线上),可以猜想他的可行点集与满足下列三个条件之一的所有点的集合相同。 1r|XY2r|XqY3r|pXqYp,q,r均为待定整数,r≠0。 通过对简单情况的验证,易知前两种假设是错误的。对于最后一种假设,由于参数比较多,一时难以判断其是否正确。,问 题 二 回归二维情况,设Sp,q,r为所有满足r|pXqYp,q,r均为整数,r≠0的点的集合。 考虑猜想对于不退化的二维情况(即骑士所能够到达的点,不全在一条直线上),存在整数p,q,r,r≠0,满足骑士的可行点集与Sp,q,r相同。,问 题 二 猜想,由于n的上限是100,比较大,可以先考虑比较简单的n2n2是最小的非退化情况。可以用数学归纳法证明,只需要讨论n2。 证明要点 假设只有前k种移动的骑士的可行点集与Sp,q,r0相同,设rpak1qbk1,r0那么有全部k1种移动的骑士的可行点集与Sp,q,r相同。,问 题 二 猜想的简化,,假设当nk(k为任意正整数)时猜想成立,当nk1时,设只有前k种移动的骑士的可行点集与Sp,q,r0相同。则对有全部k1种移动的骑士而言,X,Y是他的可行点的充要条件是 存在整数m满足pX-mak1qY-mbk1 ≡0mod r0。 上式等价于pak1 qbk1m≡pXqYmod r0。考虑这个模线性方程,知它有解等价于pak1 qbk1, r0|pXqY。令rpak1qbk1,r0,知当nk1时,猜想也成立。,问 题 二 对n2的处理,当n2时,骑士只有两种移动a1,b1和a2,b2。且a1b2-a2b1≠0(否则退化为一维情况)。 为了能更好地挖掘这个问题的本质,不妨证明简单一点的命题1。 命题1骑士有两种移动a1,b1和a2,b2,a1b2-a2b1≠0,a1和a2互质,b1和b2互质,存在整数p,q,r,r≠0,满足骑士的可行点集与Sp,q,r相同。 命题1与原猜想的本质区别在于,它增加了一个条件a1和a2互质,b1和b2互质。,问 题 二 命题1,命题1中,p,q,r三个值均为待定,可变的数太多了,难以考虑。 根据裴蜀定理,存在整数x,y满足a1xa2y1 设s1,s2为满足a1s1a2s21的两个整数。 令pb1s1b2s2,q-1,ra1b2-a2b1 能够证明,命题1成立。,问 题 二 命题1的构造性证明,,先证必要性,即若点X,Y是骑士的可行点,则r|pXqY。 考虑pa1qb1 同理 由于点X,Y是骑士的可行点,设骑士将 移动a1,b1执行c次,移动a2,b2执行d次后,从原点到达点X,Y。,问 题 二 命题1的证明必要性,,,,,问 题 二 命题1的证明必要性,,再证充分性,即若r|pXqY,则点X,Y是骑士的可行点。 由于r|pXqY,设pXqYkr,即pX-Ykr,问 题 二 命题1的证明充分性,,∴ 骑士将移动a1,b1执行Xs1ka2次,移动a2,b2执行Xs2-ka1次之后,将从原点到达点X,Y。 至此,命题1得证。,问 题 二 命题1的证明充分性,,问 题 二 回到猜想,要证明原猜想,只要把它转化为命题1即可。 命题1与原猜想的本质区别在于,它增加了一个条件a1和a2互质,b1和b2互质。,如果a1和a2不互质,b1和b2不互质 令d1a1,a2 ,d2b1,b2。 命题1中的一个格子等价于猜想中的d1d2个格子。 以d13, d22为例,,问 题 二 回到猜想,考虑一维情况,得到猜想。 对猜想的一个特例(命题1),给出构造性证明。 将特例推广到一般情况,证明猜想。,问 题 二 思路回顾,有些题目条件与结果之间的联系不很明显,难以找到突破口,从比较原始的地方(比如本题中的一维情况),能够看清楚问题;或者将简单情形(本题中的命题1)作为一面镜子来为一般情形(本题中的猜想)造成某种对比,从对比中发现两种情形最本质的不同之处,再对症下药,求得问题的彻底解决。,问 题 二 小结,特别地,在某些构造类的问题中(本题中的命题1) ,可行的情况很多,但我们只需要一个。此时只需要考虑某种较为简单的情况,就能迅速有效地解决问题。这样的例子有很多,比如论文中的例3。Baltic OI 2005 Polygon,问 题 二 小结续),总结,“万物皆数”------毕达哥拉斯 从特殊情况考虑,事实上是一种数学思想,它能够帮助我们在各个方面,包括信息学竞赛中,更好地认识事物的本质。 认识了事物的本质,我们就能够比较轻松地解决问题。而且,还能够在解决特殊情况的过程中,得到有益的启示,为处理一般情况提供对策,这一点比解决一个问题本身更为重要。,