题目名称 1503. [IOI 1998]多边形
输入输出 polygon1.in/out
难度等级 ★★
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 5
题目来源 Gravatarcstdio 于2014-01-23加入
开放分组 全部用户
提交状态
分类标签
IOI 动态规划 区间DP
分享题解
通过:74, 提交:187, 通过率:39.57%
GravatarLGLJ 100 0.000 s 0.00 MiB C++
Gravatar没啥,随心 100 0.000 s 0.00 MiB C++
Gravataryi_fan0305 100 0.000 s 0.00 MiB C++
Gravatarop_组撒头屯 100 0.000 s 0.00 MiB C++
Gravatarsyzhaoss 100 0.000 s 0.00 MiB C++
Gravatarwow草原 100 0.000 s 0.00 MiB C++
Gravatarliuyiche 100 0.000 s 0.00 MiB C++
Gravatar┭┮﹏┭┮ 100 0.000 s 0.00 MiB C++
Gravatar宇战 100 0.000 s 0.00 MiB C++
Gravatar嗨嗨嗨 100 0.000 s 0.00 MiB C++
关于 多边形 的近10条评论(全部评论)
回复 @o(∩_∩)o :
我也来冒个泡
Gravatar乌龙猹
2014-09-25 18:07 9楼
回复楼已被HZOI占领。。
Gravatar奶猹
2014-09-13 11:43 8楼
回复 @真呆菌 :
点赞!
Gravatar☪Repentance soul
2014-08-13 10:37 7楼
看天一阁主持正义
Gravatar天一阁
2014-08-13 10:24 6楼
回复 @焦泽辉 :
= =
GravatarOI永别
2014-06-13 18:38 5楼
回复 @焦泽辉 :
[size=50] 哎呀! 辉哥就是厉害 ! [/size]
Gravatartemp
2014-06-13 16:18 4楼
回复 @天一阁 :
[size=50] 没有啊 [/size]
Gravatartemp
2014-06-13 15:47 3楼
帅想
Gravatar天一阁
2014-06-10 17:56 2楼
有没有人告诉你们“\n”也能输入进char
Gravatar天一阁
2014-06-10 14:48 1楼

1503. [IOI 1998]多边形

★★   输入文件:polygon1.in   输出文件:polygon1.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

多边形(Polygon)游戏是单人玩的游戏,开始的时候给定一个由$N$个顶点构成的多边形(图1所示的例子中,$N=4$),每个顶点被赋予一个整数值,而每条边则被赋予一个符号:+(加法运算)或者*(乘法运算),所有边依次用整数1到N标识。

图1一个多边形的图形表示

首次移动(first move),允许将某条边删除;

接下来的每次顺序移动(subsequentmoves),包括下面步骤:

1、选出一条边E,以及由E联接的顶点V1和V2;

2、用一个新的顶点,取代边E及其所联接的两个顶点V1和V2。新顶点要赋予新的值,这个值是对V1和V2,做由E所指定的运算,所得到的结果。

所有边都被删除后,只剩下一个顶点,游戏结束。游戏的得分就是该顶点的数值。

下面是一个游戏实例:

考虑图1中的多边形。

玩家第一步删除第3条边。结果如图2所示。

图2 删除第3条边

之后,玩家删除第1条边

图3 删除第1条边

然后删除第4条边,

图4 删除第4条边

最后删除第2条边。得分是0.

图5 删除第2条边

任务:

编写一个程序,对于任意给定的多边形,计算可能的最高得分,并且列举出所有的可以导致最高得分的被首次移动的边。

【输入格式】

输入包含两行。

第一行为整数$N$。

第二行用来描述多边形所有边上的符号以及所有顶点上的整数,从编号为 1的边开始,边、点、边…按顺序描述。

其中描述顶点即为输入顶点上的整数,描述边即为输入边上的符号,其中加号用 t 表示,乘号用 x 表示。

【输出格式】

输出的第一行,你的程序必须输出在输入文件指定条件下可能得到的最高得分。

有些边如果在首次移动中被删除,可以导致最高得分。在输出文件的第二行,要求列举出所有这样的边,而且按照升序输出,其间用一个空格分开。

【样例输入】

4
t -7 t 4 x 2 x 5

【样例输出】

33
1 2

【样例解释】

样例输入对应于图1所示的多边形。第二行的第一个字符是1号边的符号。

【数据范围与约定】

$1\leq N\leq 50$,且无论玩家如何操作,顶点上的数值均在 $[-32768, 32767]$ 之间。

【来源】

IOI1998 polygon

翻译 by 来煜坤,《把握本质,灵活运用——动态规划的深入探讨》