hdu 3576 Elevators in Jiayuan Students' Apartment(DP)
2012-09-14 09:40
363 查看
tup[ f ][ i ] [ j ] [ k ]表示 第f层第一个电梯i个人,第二个电梯j个人,第三个电梯k个人的情况下要停几次。
#include<iostream> #include<string.h> #define INF 0x7fffffff using namespace std; int hash[20]; int tup[20][20][20][20]; int v , n; int dp() { tup[1][0][0][0]=0; for(int f=2;f<=16;f++) { for(int i=0;i<=v;i++) { for(int j=0;j<=v;j++) { for(int k=0;k<=v;k++) { if(tup[f-1][i][j][k]==-1) continue; if(i+j+k>n) continue; int temp=0; for(int x=0;x<=hash[f];x++) { for(int y=0;y<=hash[f];y++) { if(x+y>hash[f]) continue; int z = hash[f]-x-y; if(i+x>v || j+y>v || z+k>v) continue; temp=tup[f-1][i][j][k]; if(x>0) temp++; if(y>0) temp++; if(z>0) temp++; if(temp<tup[f][i+x][j+y][k+z] || tup[f][i+x][j+y][k+z]==-1) tup[f][i+x][j+y][k+z]=temp; } } } } } } int ans=INF; for(int i=0;i<=v;i++) { for(int j=0;j<=v;j++) { if(i+j>n) continue; int k=n-i-j; if(tup[16][i][j][k]==-1) continue; ans=min(ans, tup[16][i][j][k]); } } return ans; } int main() { int t , u=0 , x; scanf("%d",&t); while(t--) { scanf("%d%d",&v, &n); memset(hash,0,sizeof(hash)); memset(tup,-1,sizeof(tup)); for(int i=0;i<n;i++) { scanf("%d",&x); hash[x]++; } printf("Case %d: %d\n", ++u, dp()); } return 0; }
相关文章推荐
- hdu 3576 Elevators in Jiayuan Students' Apartment
- hdu3576 Elevators in Jiayuan Students' Apartment
- E Elevators in Jiayuan Students' Apartment
- 动态规划 Elevators in Jiayuan Students' Apartment hdu 3576
- poj 2411&&hdu 1400 Mondriaan's Dream(状压DP)
- [HDU] 3660 Alice and Bob's Trip -- 树形DP?
- HDU 1160 FatMouse's Speed(dp)
- HDU 5009 DP (2014 ACM/ICPC Asia Regional Xi'an Online)题解
- hdu 5282 Senior's String 两次dp
- HDU 4771 Stealing Harry Potter's Precious BFS + 状压DP
- HDU 5593 ZYB's Tree (树形DP)
- HDU---1160-FatMouse's Speed (DP)
- hdu 1160 FatMouse's Speed 简单dp 题解
- HDU 1157 Who's in the Middle
- HDU 4274 Spy's Work(树形dp)
- hdu 4352 - XHXJ's LIS (数位dp)多校联合
- HDU 5135 Little Zu Chongzhi's Triangles(贪心||状压dp)2014ICPC 广州站现场赛
- HDU 5617 Jam's maze(DP)
- hdu 4274 Spy's Work(2012 长春网络赛 树形DP)
- hdu 1208 Pascal's Travels (子状态继承dp)