题目名称 611. 机房
输入输出 orz.in/out
难度等级 ★☆
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 Gravatarcqw 于2011-11-08加入
开放分组 全部用户
提交状态
分类标签
动态规划
分享题解
通过:74, 提交:123, 通过率:60.16%
Gravatarcy 100 0.000 s 0.00 MiB C++
GravatarPine 100 0.000 s 0.03 MiB C++
Gravatardateri 100 0.003 s 0.06 MiB C++
Gravatar竹篱 100 0.021 s 0.07 MiB Pascal
Gravatar521 100 0.025 s 0.13 MiB C++
Gravatar竹篱 100 0.033 s 0.09 MiB Pascal
Gravatar竹篱 100 0.033 s 0.09 MiB Pascal
Gravatar竹篱 100 0.035 s 0.09 MiB Pascal
Gravatar竹篱 100 0.036 s 0.09 MiB Pascal
Gravatar竹篱 100 0.036 s 0.09 MiB Pascal
本题关联比赛
20111108
20111108
关于 机房 的近10条评论(全部评论)
对拍真是好东西!
状态转移方程写错了...
GravatarFisher.
2017-10-09 20:14 7楼
VIP 把1,2变成0,1后只需要一个数组...判断条件改了半天QAQ...
Gravatar沉迷学习的假的Keller
2016-09-12 21:01 6楼
Gravatarkito
2016-09-12 17:12 5楼
mark
Gravatarreturn 0;
2014-10-22 15:56 4楼
f[i]表示到i为止的最佳方案。对i,for j=i-1 to 0判断。如果j+1 to i可分配一个教室,则判断min{f[j]+1,f[i]}的大小。
将f数组初始化为最大值,f[0]=0,最后输出f[n]即可。
挺简单的DP题,思路很裸,也不需要特别高的代码能力。就看比赛的时候能不能想得到了。
Gravatargungnir
2013-10-20 15:46 3楼
唉,orz挺简单的,但是有一点写错了,,,,
GravatarQhelDIV
2011-12-03 22:04 2楼
线性(过全)或区间型(过不全)动归:
状态:(过不全)
f[i][j]表示从i开始的j个数分配的最小机房数。
状态:(过全)
f[i]表示从首部到i为止的人分配的最小机房数。
加求和预处理,
AC。
GravatarTruth.Cirno
2011-11-08 19:47 1楼

611. 机房

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

Description
神牛有很多…当然…每个同学都有自己衷心膜拜的神牛.
某学校有两位神牛,神牛甲和神牛乙。新入学的N位同学们早已耳闻他们的神话。所以,已经衷心地膜拜其中一位了。现在,老师要给他们分机房。但是,要么保证整个机房都是同一位神牛的膜拜者,或者两个神牛的膜拜者人数差不超过M。另外,现在N位同学排成一排,老师只会把连续一段的同学分进一个机房。老师想知道,至少需要多少个机房。
Input Format
输入文件第一行包括N和M。
之后N行,每行一个整数,1表示神牛甲的崇拜者,2表示神牛乙的崇拜者。
Output Format
输出一个整数,表示最小需要机房的数量。
Sample Input
5 1
2
2
1
2
2
Sample Output
2
Data Limit
对于30%的数据,有1 ≤ N ,M≤ 50;
对于100%的数据,有1 ≤ N,M ≤ 2500。