首页 > 其他分享 >P1504 积木城堡/01背包板子

P1504 积木城堡/01背包板子

时间:2024-05-26 17:32:58浏览次数:16  
标签:01 积木 int ll P1504 minnlength xx include

代码:

#define _CRT_SECURE_NO_WARNINGS 
#include<iostream>
#include<vector>
#include<algorithm>
#include<math.h>
#include<sstream>
#include<string>
#include<string.h>
#include<iomanip>
#include<stdlib.h>
#include<map>
#include<queue>
#include<limits.h>
#include<climits>
#include<fstream>
#include<stack>
typedef long long ll;
using namespace std;
const int N = 1010;
ll dp[N*N];
ll w[N]; ll f[N*N];
int main()
{
	ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
	int n; cin >> n;
	ll minnlength = LLONG_MAX;

	for (int ii = 1; ii <= n; ii++)
	{
		ll x; memset(f, 0, sizeof(f));
		ll minn = 0;
		ll xx = 0;
		while (1)
		{
			cin >> x;
			if (x == -1)break;
			minn += x;
			xx++; w[xx] = x;
		}
		w[0] = xx;
		f[0] = 1;
		minnlength = min(minn, minnlength);
        //01背包样板
		for (ll i = 1; i <= xx; i++)//序号:i从1开始
		{
			for (ll j = minnlength; j >= w[i]; j--)//j从后面的长度开始
			{
				if (!f[j] and f[j - w[i]])
				{
					f[j] = 1;
					dp[j]++;
				}
			}
		}
	}
	for (ll i = minnlength; i > 0; i--)
	{
		if (dp[i] == n)
		{
			cout << i; 
			return 0;
		}
	}
	cout << 0;
	return 0;
}

适用于求长度的叠加,我之前写的那个过于麻烦了。

标签:01,积木,int,ll,P1504,minnlength,xx,include
From: https://www.cnblogs.com/zzzsacmblog/p/18214024

相关文章

  • 【wiki知识库】01.wiki知识库前后端项目搭建(SpringBoot+Vue3)
      ......
  • # [NOIP2011 提高组] 铺地毯
    传送锚点:https://www.luogu.com.cn/problem/P1003题目描述为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有\(n\)张地毯,编号从\(1\)到\(n\)。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后......
  • ADI史上最强的一颗DSP,TS201的开发怎么去做,我来教你入门二:硬件环境的搭建
    编者的话TigerSHARC是ADI最早的浮点DSP之一,中文别名虎鲨。本人有幸在2004年接触过一段时间,其“珍稀”程度仅次于ADSP-218X和ADSP-2106X。这个系列的DSP应该是当年的以色列研发团队做的,以性能超强,片上SRAM巨大,以及LINKPORT级联技术和昂贵的售价而著称。很可......
  • [学习分享]基于matlab的新安江模型_01_模型介绍与蓄满产流
    写在前面的  最近笔者刚完成水文预报这门课的课程设计,课程设计要求根据课本自行实现新安江模型,完成径流模拟。现在课程设计已经基本全部做完,自己感觉做的也还不错,同时也因为蛮喜欢水文预报这门课的,所以想再对课程设计的整个过程做个整理分享出来,也希望能够帮助到一些困惑于......
  • 【数据分享】仙桃市统计年鉴(2011-2023)
    大家好!今天我要向大家介绍一份重要的仙桃市统计数据资源——《仙桃市统计年鉴》。这份年鉴涵盖了从2011年到2023年仙桃市统计全面数据,并提供限时免费下载。(无需分享朋友圈即可获取)数据介绍在数字的海洋中,每一串数据都像是时间的足迹,静默而深刻。今天,让我们一起翻开那本记录着......
  • 【ArcGIS微课1000例】0112:沿线(面)按距离或百分比生成点
    文章目录一、沿线生成点工具介绍二、线状案例三、面状案例一、沿线生成点工具介绍位置:工具箱→数据管理工具→采样→沿线生成点摘要:沿线或面以固定间隔或百分比创建点要素。用法:输入要素的属性将保留在输出要素类中。向输出要素类添加新字段ORIG_FID,并设置为......
  • 101. 对称二叉树
    给定一个二叉树,检查它是否是镜像对称的。思路:判断左子树和右子树是否可以相互翻转。外侧与外侧比较,内侧与内侧比较。使用哪种遍历方式?这道题只能使用后序(左右中)。因为我们要不断收集左右孩子的信息,返回给上一个节点。然后判断以根节点的左孩子为根节点的信息,和根......
  • 基于STM32的学习之项目01——LED闪烁和LED流水灯
     前言        学习任何一块开发板的入门第一课就是成为一个合格的“点灯大师”,在基于标准库来进行点亮一个LED灯的过程中,碰到了许多与之前学习单片机不一样的地方,STM32的学习更注重于对计算机系统底层逻辑的学习,比如一些寄存器、时钟信号等等,偏向与最本质的学习,同时......
  • docker -01
    1docker介绍 docker是一种容器技术,与容器的关系,容器是种快速打包技术,docker是实现容器技术的一种工具。两种支持技术:namespace:命令空间,主要用于资源的隔离cgroup:负责资源的控制,如进程使用cpu/mem的限制,进程的优先级控制,进程管理等官方网站:www.docker.......
  • Win10 LTSC 2019 安装后的一些步骤
    仅作为自己记录使用。1.调整Windows恢复分区(WindowsRE)大小[可忽略]Win10系统更新(KB5034441)在更新时会报错(0x80070643),与Win10安装时初始化的Windows恢复分区太小有关,因此建议在安装后首先扩充Windows恢复分区的大小,建议在700M+以上。推荐在WindowsPE下进行操作。2.关......