题解

74 条题解

  • 0
    @ 2008-10-29 19:30:10

    r,g,b居然都要用int64!

    真想……

  • 0
    @ 2008-10-20 15:46:39

    楼下下牛解..

    注意如果使用另外函数比大小..一定也要用int64类型..- -|

    我就因为这个不能one ac

  • 0
    @ 2008-10-14 18:32:35

    顶楼下的牛解,玩过魔兽的都知道要女巫、小鹿的厉害,就是这个道理:负属性尽可能多的附加给敌方单位(对方没有破法的话。。),纯伤害的放在后面。。。。。

  • 0
    @ 2008-10-11 15:27:19

    魔法塔防 解题报告

    Xascal 2008/10/11

    题意:找出一个魔法师的排列,使其对怪物的总伤害最大

    红 攻击

    蓝 减速

    绿 下毒

    输入:n, r, g, b, y

    (魔法师数量,攻击力大小, 减速时间, 毒性, 通过每个魔法塔的时间)

    输出:一个数,表示最大伤害。

    总体思路:

    1.如果放置红法师,那么红法师一定要被放在最后。

    2.DP求出放置蓝、绿法师的最优解

    DP算法:

    d[i, j] 表示在前i+j个位置放置i个蓝法师 j个绿法师的最优解。

    初始化:

    d[0, 0]:=0; {没有法师}

    d[0, 1]:=0; {只放一个绿法师}

    d[0, j]:=d[0, j-1]+(j-1)*g*t;(1

  • 0
    @ 2008-10-05 19:46:57

    #include

    using namespace std;

    int main()

    {

    int k[101][101];

    int n,r,g,b,i,t1,t2,j,t;

    unsigned int max=0;

    cin>>n>>r>>g>>b>>t;

    k[0][0]=n*r*t;

    for(i=1;i

  • 0
    @ 2008-10-05 11:07:52

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 72ms

    ├ 测试数据 08:答案正确... 197ms

    ├ 测试数据 09:答案正确... 212ms

    ├ 测试数据 10:答案正确... 197ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:678ms

    一定要注意!!要开int64,连输入数据也要int64...

  • 0
    @ 2008-10-04 22:40:44

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 103ms

    ├ 测试数据 08:答案正确... 119ms

    ├ 测试数据 09:答案正确... 150ms

    ├ 测试数据 10:答案正确... 166ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:538ms

    第151个AC。。。口袋妖怪NO.151是梦幻吧。。。囧

    简单的DP啦。。。

    谁都知道红魔法师是个LJ,所以他们必须遗弃在队尾。。。

    (PS:其实我还是挺同情他们的。。。FF1中还是挺卖力的I think)

    f表示当前i个魔塔中放j个蓝魔法师(即还有i-j个绿魔法师)能达到的最大毒性损血量(无视红魔法师,当然蓝魔法师也不会斩血啦)。

    f……|max{"f(i=j,此时i-j-1=-1,而底线是0) or f+(t+b*j)*(i-j-1)*g(ij)"("..."中是一个部分哦),f+(t+b*(j-1))*(i-j)*g}

    搞定这些后只要在i=1~n,j=0~i中把(n-i)*(t+b*j)*(i-j)*g这部分红魔法师的斩血(红魔法师终于有用了。。。)和(n-i)*(t+b*j)*r这后面部分的毒性损血量加上求最大值Max就行了。。。↖(^ω^)↗

    注意:除了循环变量用Longint外,所有计算所用到的变量都得是int64级别的才行。

    (PS:我就是这样死了,半个月后发现才复活的。。。)

  • 0
    @ 2008-10-02 18:14:55

    提醒一句....n

  • 0
    @ 2008-09-20 16:48:17

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 119ms

    ├ 测试数据 08:答案正确... 275ms

    ├ 测试数据 09:答案正确... 275ms

    ├ 测试数据 10:答案正确... 244ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:913ms

    哇,,

    郁闷了几次之后,,终于AC了

    总结下

    首先

    FOR I:=0 TO N DO

    FOR J:=0 TO N DO

    而且要+个判断

    IF (I-1>=0) OR (J-1>=0) THEN

    DP方程

    不加判断会WA6个还是5个点。

    FOR I:=1 TO N DO

    FOR J:=1 TO N DO

    会WA掉第5个点

  • 0
    @ 2008-09-20 18:54:55

    入楼下所说!!

  • 0
    @ 2008-09-20 13:09:39

    循环变量要开到longint,其他int64啊。郁闷一次没过。

    f表示前i个中有j个蓝魔法师造成的伤害。

    每次把f加上i以后红色法师攻击以及中毒掉的血,跟最大值作比较。

  • 0
    @ 2008-09-15 15:58:01

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    18行 但理解这题题意对我是无比困难的

  • 0
    @ 2008-09-13 21:02:53

    多谢各位大牛提醒~

    BT的数据

  • 0
    @ 2008-09-03 22:00:00

    动规方程:

    f:=(n-i)*r*(t+b*i);

    f[0,i]:=f[0,i-1]-r*t+g*(n-i)*t;

    f:=max(f+(n-i-j)*r*b+(n-i-j)*(g*j)*b-r*(t+(i-1)*b),f+(n-i-j)*g*(t+i*b)-r*(t+i*b))

  • 0
    @ 2008-08-29 15:24:14

    除了循环变量,

    其他数据都开成int64,

    包括输入数据!!!!

    ————————非常重要——————

  • 0
    @ 2008-08-26 21:39:01

    还是开qword好啦...

  • 0
    @ 2008-08-25 16:51:42

    友情提示:

    输入的数据也要用INT64否则WA掉一半

    真是奇怪的很

    但是在TOI上不用这样也能AC

  • 0
    @ 2008-08-25 16:29:15

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 25ms

    ├ 测试数据 08:答案正确... 103ms

    ├ 测试数据 09:答案正确... 134ms

    ├ 测试数据 10:答案正确... 88ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:350ms

    绿魔的效果竟然有0...我汗...

  • 0
    @ 2008-09-28 09:42:46

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    强大!

  • 0
    @ 2008-08-24 09:25:45

    问一下 方程怎么写

信息

ID
1417
难度
6
分类
动态规划 点击显示
标签
(无)
递交数
1088
已通过
297
通过率
27%
被复制
2
上传者