题目名称 1162. [POJ 1180]任务安排2
输入输出 poj1180_batch.in/out
难度等级 ★★☆
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 Gravatarsyzhaoss 于2012-10-16加入
开放分组 全部用户
提交状态
分类标签
斜率优化 动态规划
分享题解
通过:4, 提交:13, 通过率:30.77%
Gravatar┭┮﹏┭┮ 100 0.446 s 11.00 MiB C++
Gravatar小金 100 0.478 s 11.91 MiB C++
GravatarSKG_G 100 0.550 s 11.91 MiB C++
Gravataryuan 100 1.085 s 14.89 MiB C++
Gravatar┭┮﹏┭┮ 20 0.395 s 11.00 MiB C++
Gravatar┭┮﹏┭┮ 20 0.426 s 11.00 MiB C++
Gravatar┭┮﹏┭┮ 20 0.442 s 11.00 MiB C++
Gravatar┭┮﹏┭┮ 20 0.448 s 11.00 MiB C++
Gravatar┭┮﹏┭┮ 20 0.454 s 11.00 MiB C++
Gravatar┭┮﹏┭┮ 20 0.488 s 11.00 MiB C++
关于 任务安排2 的近10条评论(全部评论)
注意 $double$ 精度问题
Gravatar┭┮﹏┭┮
2024-03-04 17:24 1楼

1162. [POJ 1180]任务安排2

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

【题目描述】

有 $N$ 个任务排成一个序列在一台机器上等待执行,它们的顺序不得改变。

机器会把这 $N$ 个任务分成若干批,每一批包含连续的若干个任务。

从时刻 $0$ 开始,任务被分批加工,执行第 $i$ 个任务所需的时间是 $T_i$。

另外,在每批任务开始前,机器需要 $S$ 的启动时间,故执行一批任务所需的时间是启动时间 $S$ 加上每个任务所需时间之和。

一个任务执行后,将在机器中稍作等待,直至该批任务全部执行完毕。

也就是说,同一批任务将在同一时刻完成。

每个任务的费用是它的完成时刻乘以一个费用系数 $C_i$。

请为机器规划一个分组方案,使得总费用最小。

【输入格式】

第一行包含整数 $N$。

第二行包含整数 $S$。

接下来 $N$ 行每行有一对整数,分别为 $T_i$ 和 $C_i$,表示第 $i$ 个任务单独完成所需的时间 $T_i$ 及其费用系数 $C_i$。

【输出格式】

输出一个整数,表示最小总费用。

【样例输入】

5
1
1 3
3 2
4 3
2 3
1 4

【样例输出】

153

【提示】

$1≤N≤3∗10^5,0≤S,C_i,T_i≤512$。

【来源】

$IOI 2002 / POJ 1180$

$cogs376 加强版$