vojos 1059 积木城堡 经典动态
2012-09-01 21:33
267 查看
题目意思就是小xc想送给幼儿园女孩子们每人一座城堡,这些城堡都是用立方体的积木搭成,现在为了不出现偏袒那个女生的现象,必须要求送给每个女孩子的城堡的告诉都一样高,那么小xc想出来的办法就是在抽掉其中部分城堡当中的积木,尽量让所有的城堡能达到最大公共高度。
那么其实转念一想就很简单,其实就是把其中每个塔的积木全部当做是物品,求这些物品尽量能占得的最大空间,然后求所有城堡的能到达的最大公共高度。
View Code
那么其实转念一想就很简单,其实就是把其中每个塔的积木全部当做是物品,求这些物品尽量能占得的最大空间,然后求所有城堡的能到达的最大公共高度。
View Code
#include<iostream> #include<stdio.h> using namespace std; int dp[110][10000],Count[10000]; int main() { int n,height,Minvalue,sum; while(scanf("%d",&n)!=EOF) { Minvalue=100000; memset(dp,0,sizeof(dp)); memset(Count,0,sizeof(Count)); for(int i=0;i<n;i++) { dp[i][0]=1,height=1,sum=0; while(1) { scanf("%d",&height); if(height==-1)break; sum+=height; for(int j=sum;j>=height;j--) { if(dp[i][j-height]==1&&dp[i][j]==0) { dp[i][j]=1; Count[j]++; } } } Minvalue=sum<Minvalue?sum:Minvalue; } int answer; for(answer=Minvalue;answer>0;answer--) if(Count[answer]==n)break; printf("%d\n",answer); } return 0; }
相关文章推荐
- vijos 1059 积木城堡【暴力】
- vijosP1059 积木城堡
- vijos 1059 积木城堡
- vijos积木城堡动态规划
- vijos 1059 积木城堡 01背包记录方案
- Vijos P1059 积木城堡
- VIJOS P1059 积木城堡
- vijosP1059 积木城堡
- vijos P1059积木城堡
- dp遍历所有状态 vijos 1037 搭建双塔 1059 积木城堡 1153 猫狗大战
- vijos1059-背包计数-积木城堡
- vijos1059 积木城堡(背包)
- vijos1059 积木城堡[n年浙江省队第X轮](背包的方案总数 or 01背包)
- vijos1059 积木城堡[n年浙江省队第X轮](背包的方案总数 or 01背包)
- 一段经典的动态显示日期时间代码
- 动态规划几个经典例子总结
- nyist oj 311 完全背包 (动态规划经典题)
- 五大经典算法之三动态递归DP
- LeetCode.55(45) Jump Game && II (经典的动态规划问题)
- 一个经典的动态规划题-3次AC呵呵