Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
总算过了。。交了n多次后终于过了。。。。写个帖子显摆下 首先,n个数字,只允许按照一定顺序的减法,最终得到数字T 这相当于给 a1-a2-a3-..-an 加上括号(减号不变)来控制减法进行的顺序。 得到的式子通过去括号,可以得到一个新式子,每个项ai前面可以是加好或者减号.比如: a1-(a2-a3) --> a1-a2+a3 可以想象,新式子中,不管怎么加括号,a1前一定是加好,a2前一定是减号。 于是,我们通过给每个项前加上正负号先构造出这种新的式子,满足前两个元素的符号是一正一负,同时式子的结果为要求的T。具体用0-1背包实现(我好多次wa一直没发现是0-1背包写错了,。。。) 然后就是通过加括号使得所有运算都是减法运算。 可以证明,只要一个式子的前两项的符号是一正号一负号,那么这个式子一定可以通过加括号来来使所有式子中的加号变成减号(数学归纳法) 然后就要构造出一个解。 如果第三项的符号为正,那么可以给2,3项加括号,合并成一个负号的项,得到的新式子前两项仍然保持一正一负 如果第三项为负,那么给1,2项加括号,得到的新式子前两项仍然符合一正一负。 如此可以构造出一个解 Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator