39 条题解
-
0mike_nzk LV 10 @ 2009-07-08 17:08:25
本题卡1s都行
-
02009-06-19 20:25:55@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 3088ms
├ 测试数据 05:答案正确... 2978ms
├ 测试数据 06:答案正确... 3103ms
├ 测试数据 07:答案正确... 2869ms
├ 测试数据 08:答案正确... 2791ms
├ 测试数据 09:答案正确... 2994ms
├ 测试数据 10:答案正确... 3041ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:20864ms超慢,ばがばがぃ。
-
02009-04-24 21:59:52@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 2291ms
├ 测试数据 05:答案正确... 2353ms
├ 测试数据 06:答案正确... 2291ms
├ 测试数据 07:答案正确... 2322ms
├ 测试数据 08:答案正确... 2338ms
├ 测试数据 09:答案正确... 2353ms
├ 测试数据 10:答案正确... 2306ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:16254ms -
02009-04-17 20:28:08@
晕死巨慢,2000多MS
只要知道至多只有一对夫妇一起住就行了 -
02008-11-07 18:13:10@
我第100个A的,哈哈!
-
02008-10-22 08:05:05@
真的觉得很费解..
为什么不考虑夫妻才能AC..
-
02008-10-08 11:07:45@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 1009ms
├ 测试数据 05:答案正确... 978ms
├ 测试数据 06:答案正确... 1119ms
├ 测试数据 07:答案正确... 1025ms
├ 测试数据 08:答案正确... 1056ms
├ 测试数据 09:答案正确... 1088ms
├ 测试数据 10:答案正确... 1025ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:7300ms
我觉得数据没错啊……
f[k,i,j]表示前i个房间住i个男性和j个女性的最小花费,g[k,i,j]表示相应方案中住一起的夫妇数
f[k,i,j]:=min(f[k-1,i-x[k],j]+y[k],f[k-1,i,j-x[k]]+y[k],f[k-1,i-1,j-1]+y[k](g[k-1,i-1,j-1] -
02007-10-31 19:25:00@
做完这题感觉会被丘比特惩罚。。。
-
02006-10-04 18:07:19@
不准夫妻开包间的题……
-
02006-10-04 16:59:17@
同~~不管夫妻可以AC
管一对夫妻就WA完 -
02006-10-03 09:44:26@
我和ZHUDONGHE一样,AC了,但怀疑数据有错
-
02006-10-02 13:42:18@
虽然AC了,但是觉得这题数据有问题. 自己一个正确的程序没过,但错的程序却过了. ft...,请看在讨论区里我的话题.
-
02006-09-26 19:01:46@
为什么不出以下数据
1 1 1 1
1 4
不然夫妻根本不要考虑的阿 -
02006-09-26 16:53:30@
不知道是数据的问题还是题目设计的问题让一个有些想头的DP变成了knap
-
02006-09-25 21:47:26@
那位大侠讲讲,怎么做哦
-
02006-09-25 17:53:17@
夫妻要同住的话只要一对夫妻就可以了,因为2对夫妻的话只要2间房一个住2男 一个住2女就可以了^_^
居然是这样
但是只有一对夫妻怎么做呢 -
02006-09-24 21:29:33@
不管夫妻直接2维背包竟然AC了!,惊喜之余希望有人证明
-
02006-09-24 10:08:23@
dp
因为忘了一个判断,考试的时候0分,又浪费了我1个多小时555555555555555555
夫妻要同住的话只要一对夫妻就可以了,因为2对夫妻的话只要2间房一个住2男 一个住2女就可以了^_^ -
-12017-08-19 13:25:01@
呃,题目数据太水,不考虑夫妻同房也能过
不过楼下说二维背包的请考虑这组数据:1 1 1 1 2 10 (ans:10) 这组数据只能1间夫妻同房
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<vector>
using namespace std;int n[305], p[305];
int g[305][305][2];int main()
{
memset(g, 0x3f, sizeof(g));
int m, f, r, c; cin>>m>>f>>r>>c;
for(int i=1;i<=r;i++) scanf("%d%d", &n[i], &p[i]);
g[0][0][0]=0;
for(int i=1;i<=r;i++)
for(int j=m;j>=0;j--)
for(int k=f;k>=0;k--)
for(int l=min(min(j, k), min(1, c));l>=0;l--){
if(n[i]>=2&&l>0) g[j][k][l]=min(g[j][k][l], g[j-1][k-1][l-1]+p[i]);
int x=min(n[i], j), y=l;
if(j-x<l) y=j-x;
g[j][k][l]=min(g[j][k][l], g[j-x][k][y]+p[i]);
x=min(n[i], k);
y=l;
if(k-x<l) y=k-x;
g[j][k][l]=min(g[j][k][l], g[j][k-x][y]+p[i]);
}
if(c>0){
if(g[m][f][0]==0x3f3f3f3f&&g[m][f][1]==0x3f3f3f3f) cout<<"Impossible"<<endl;
else cout<<min(g[m][f][1], g[m][f][0])<<endl;
}
else{
if(g[m][f][0]==0x3f3f3f3f) cout<<"Impossible"<<endl;
else cout<<g[m][f][0]<<endl;
}
return 0;
}事实证明,是没有impossible的。。