p1928求助,#7和#8一直过不去

感觉#7和#8应该是n%3==0的情形
【之前写错一个数……会导致n%3==0的情形只输出-1……
修改之后虽然#7和#8还是WA(那么这两个点肯定不是-1了),
但是程序的运行时间足足长了一倍(应该多在输出上了……)】
现在,
当n%3==0时,如果方程组有解,则必有无穷多组整数解,
不过如果t[0]确定,那么t[3],t[6],...也随之确定,
同样地如果t[1]确定,那么t[4],t[7],...也随之确定,
然后……如果t[0],t[1]确定了,t[2]也确定了……然后所有都确定了,
于是……
我现在暂定t[0]=1,然后计算t[3],t[6],....,
找出其中最小的数,记其大小为t,如果t=1就皆大欢喜,
否则令t[0]=2-t,这相当于把所有数加上1-t,使得最小数=1,
对t[1]进行相同操作,
这样能使t[0]和t[1]最小化,
然后再依次计算t[2],t[3],...,t[n-1],
若t[n-1]+t[0]+t[1]!=b[0]或者t[n-2]+t[n-1]+t[0]!=b[n-1]
则此时原方程是无解的,
否则判断是否每一个数≥1,
根据之前的操作,此时只有t[2],t[5],...可能≤0,
如果这组解是合法的,由于t[0],t[1]最小,应该是字典序最小的一组解……
虽然还是WA了#7和#8……
【或者这两组数据其实不是n%3==0的情形?】
于是现在各种求解……先预支万分的感谢好啦……

附上代码:http://paste.ubuntu.com/10271559/

3 条评论

  • @ 2015-02-24 03:56:28

    楼主您若感受出来了出题人想表述啥,烦劳告之。我实在不想去研究std了。

    • @ 2015-02-25 21:07:45

      →_→窝感觉……
      如果是要求每一项取绝对值之后所得序列的字典序最小,
      那么当n%3==0且有解时令t[0]=t[1]=1是说得通的……

    • @ 2015-02-25 21:15:36

      至于0嘛……窝假装什么也不知道→_→

  • @ 2015-02-20 12:29:58

    所以说……
    3
    3 3 3
    应该输出什么?
    t[0]可以取无穷小……

    • @ 2015-02-24 03:54:58

      3 3 3应该是输出1 1 1(我用std跑的,别问我为啥=_=)

  • @ 2015-02-17 22:00:54

    很遗憾,这一题的数据依然出现了错误,准确说是题目描述出现了错误。
    在本题中,t[]是允许为负整数的。
    万分抱歉...=_=....

    • @ 2015-02-17 22:10:33

      嘛......这个没关系啦......
      可是......如果可以是负的......那字典序怎么办0.0

    • @ 2015-02-17 22:42:22

      在n%3==0的时候,总有最优解满足t[0]=t[1]=1

    • @ 2015-02-17 23:12:06

      QAQ啊......
      t[0]=t[1]=0的话字典序不是更小嘛......?

    • @ 2015-02-18 01:30:48

      对呀=_= 我只是在看着std阐述自己的观察结果... 我再去琢磨下std。

    • @ 2015-02-18 11:03:47

      知道真相的我留下了眼泪

    • @ 2015-02-18 13:58:17

      求楼上告诉我真相。

    • @ 2015-02-18 14:18:12

      what?我也被坑了。。。

  • 1

信息

ID
1928
难度
8
分类
a 点击显示
标签
(无)
递交数
92
已通过
14
通过率
15%
被复制
2
上传者