题目传送门

解题思路:

01背包.

AC代码:

 #include<iostream>
#include<cstdio>
#include<vector> using namespace std; int n,sum[],id,_min = ;
vector<int> a[];
bool f[][]; int main() {
scanf("%d",&n);
for(int i = ;i <= n; i++) {
while(true) {
int u;
scanf("%d",&u);
if(u == -) break;
a[i].push_back(u);
sum[i] += u;
}
if(_min > sum[i]) {
_min = sum[i];
id = i;
}
f[i][] = ;
}
for(int i = ;i <= n; i++)
for(int j = ;j < a[i].size(); j++)
for(int k = sum[i];k >= a[i][j]; k--)
f[i][k] = f[i][k] | f[i][k - a[i][j]];
_min++;
while(_min--) {
bool flag = ;
for(int j = ;j <= n; j++)
if(!f[j][_min])
flag = ;
if(flag) {
printf("%d",_min);
return ;
}
}
printf("");
return ;
}

洛谷 P1504 积木城堡的更多相关文章

  1. 洛谷P1504 积木城堡

    题目描述 XC的儿子小XC最喜欢玩的游戏用积木垒漂亮的城堡.城堡是用一些立方体的积木垒成的,城堡的每一层是一块积木.小XC是一个比他爸爸XC还聪明的孩子,他发现垒城堡的时候,如果下面的积木比上面的积木 ...

  2. 洛谷P2342-叠积木

    Problem 洛谷P2342-叠积木 Accept: 373   Submit: 1.1k Time Limit: 1000 mSec    Memory Limit : 128MB Problem ...

  3. 到达型01背包---P1504 积木城堡

    P1504 积木城堡 题解 到达型01背包 对于每一组城堡,它可以到达一些高度 但是我们要求的是所有背包可以到达的公共高度的最大值 f[ i ] 表示对于一组城堡,能否到达高度 j ,然后我们跑 n ...

  4. P1504 积木城堡

    原题链接  https://www.luogu.com.cn/problem/P1504 闲话时刻 这道题是一道 暴力 dp好题,dp 的方法和平常的不大一样,也许是我的脑回路清奇,总之还是值得做一下 ...

  5. [NOIP2013] 提高组 洛谷P1969 积木大赛

    题目描述 春春幼儿园举办了一年一度的“积木大赛”.今年比赛的内容是搭建一座宽度为n的大厦,大厦可以看成由n块宽度为1的积木组成,第i块积木的最终高度需要是hi. 在搭建开始之前,没有任何积木(可以看成 ...

  6. 洛谷 P1969 积木大赛 解题报告

    P1969 积木大赛 题目描述 春春幼儿园举办了一年一度的"积木大赛".今年比赛的内容是搭建一座宽度为\(n\)的大厦,大厦可以看成由\(n\)块宽度为1的积木组成,第\(i\)块 ...

  7. 洛谷 P1969 积木大赛

    题目描述 春春幼儿园举办了一年一度的“积木大赛”.今年比赛的内容是搭建一座宽度为n的大厦,大厦可以看成由n块宽度为1的积木组成,第i块积木的最终高度需要是hi. 在搭建开始之前,没有任何积木(可以看成 ...

  8. 洛谷—— P1969 积木大赛

    https://www.luogu.org/problem/show?pid=1969 题目描述 春春幼儿园举办了一年一度的“积木大赛”.今年比赛的内容是搭建一座宽度为n的大厦,大厦可以看成由n块宽度 ...

  9. 洛谷 P1969 积木大赛(NOIP2013)

    题目描述春春幼儿园举办了一年一度的“积木大赛”.今年比赛的内容是搭建一座宽度为n的大厦,大厦可以看成由n块宽度为1的积木组成,第i块积木的最终高度需要是hi. 在搭建开始之前,没有任何积木(可以看成n ...

随机推荐

  1. Linux CentOS7 VMware 特殊权限set_uid、特殊权限set_gid、特殊权限stick_bit、软链接文件、硬连接文件

    一.特殊权限set_uid root用户本身拥有对/etc/passwd的写权限,无可厚非:那普通用户呢,这里就用到了setuid,setuid的作用是“让执行该命令的用户以该命令拥有者的权限去执行” ...

  2. 嵊州普及Day4T1

    题意:从n个数中选出k个数,使他们任意两数之差都等于m. 思路:任意差值都等于m,不就等价于k个数模m余数相同吗? 然后桶排储蓄一下各数余数即可. 见代码: #include<iostream& ...

  3. k-近邻算法python代码实现(非常全)

    1.k近邻算法是学习机器学习算法最为经典和简单的算法,它是机器学习算法入门最好的算法之一,可以非常好并且快速地理解机器学习的算法的框架与应用.它是一种经典简单的分类算法,当然也可以用来解决回归问题.2 ...

  4. 2-10 就业课(2.0)-oozie:11、hadoop的federation(联邦机制,了解一下)

    ==================================================== Hadoop Federation 背景概述 单NameNode的架构使得HDFS在集群扩展性 ...

  5. nuxt.js 初始化 npm run dev 报错

    在初始化 npm install 了基本依赖后: npm run dev 报错: error in ./server/index.js Module build failed: Error: Plug ...

  6. java#lambda相关之方法引用

    lambda在java中通常是()->{}这样的方式,来书写的.通常的lambda是四大函数型接口的一个“实现”. 如果我们要写的lambda已经有现成的实现了,那么就可以把现成的实现拿过来使用 ...

  7. 7.8 Varnish Log

  8. memortstream Base64编码和filestream base64编码不同

    memorystream base64 function BaseImage(fn: string): string; var   m1: TMemoryStream;   m2: TStringSt ...

  9. ubuntu18.04下安装oh-my-zsh

    安装 sudo apt-get install zsh wget --no-check-certificate https://github.com/robbyrussell/oh-my-zsh/ra ...

  10. class(二)--派生类的继承

    前言 从我之前的一篇笔记对象的继承中, 我们可以知道JS的继承方式依赖原型链,而比较好的继承方式是寄生组合式继承 先来温习下什么是寄生组合式继承 function Rectangle(length, ...