Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

总算过了。。

Posted by biran007 at 2009-06-05 00:19:24 on Problem 1722
交了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:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator