首页 > 其他分享 >UVA - 562 Dividing coins 经典01背包

UVA - 562 Dividing coins 经典01背包

时间:2023-04-07 11:11:49浏览次数:47  
标签:01 Dividing int 562 num maxn test sum dp


题目大意:给出一系列硬币,要求分给两个人,且两个人得到的硬币差达到最小值

解题思路:用d[i]表示i这个数是否能被表示,则如果d[i - num[j]] == 1的话,num[j]表示硬币的价值,则d[i]就可以被表示,最后只要判断sum>>1然后递减到0的期间遇到哪个数字能表示的,能表示的话就找到结果了,结果为sum-2*i,具体看代码,语言表达不太好,请见谅

#include<cstdio>
#include<cstring>
const int maxn = 100 + 5;
int m, dp[maxn*500],a[maxn];
int num;

int main() {
	int test;
	scanf("%d", &test);
	while(test--) {
		scanf("%d", &num);
		int sum = 0;
		memset(dp,0,sizeof(dp));
		dp[0] = 1;
		for(int i = 1; i <= num; i++)  {
			scanf("%d", &a[i]);
			sum += a[i];
		}

		for(int i = 1; i <= num; i++)
			for(int j = sum ; j - a[i] >= 0; j--)
				if(dp[j-a[i]]) 
					dp[j] = 1;
		for(int i = sum >> 1; i >= 0; i--) 
			if(dp[i]) {
				printf("%d\n",sum-i*2);
				break;
			}	
	}
	return 0;
}


标签:01,Dividing,int,562,num,maxn,test,sum,dp
From: https://blog.51cto.com/u_10970600/6175548

相关文章

  • UVA - 10131 Is Bigger Smarter? 最长上升子序列
    题目大意:给出一系列大象的体重和IQ的数据,要求找出最长的一串,符合大象1的体重大于大象2,而IQ却小于大象2解题思路:设置一个状态量,d[i],表示以第i只大象为终点的符合条件的最大值,则如果符合大象i的体重大于大象j的体重,但IQ却反之且d[i] <d[j]+1,那么d[i] =d[j]+1#include<cst......
  • UVA - 10148 Advertisement 区间取点问题
    题目大意:在一个公园里,有N个跑步者,每个跑步者都有固定的跑步范围,有个广告商要在公园里放置广告牌,要求每个广告牌至少要被每个跑步者看到K次,如果跑步者的区间不够K的要,那么在他的区间内每个点都要有广告牌解题思路:区间选点问题,先按右端从小到大排序,然后统计该区间内已经有几个广告牌......
  • Flash加密解密(三)——特殊混淆让asv2010解析代码失败
    1.Flash加密解密(一)——doswf混淆还原2.Flash加密解密(二)——Doswf生成代码分析3.Flash加密解密(三)——特殊混淆让asv2010解析代码失败从前面两节的分析可以看出,脆弱的swf文件极其容易被一些现成的工具反编译回可执行源代码。一旦可以进行动态调试,那么这个文件将被他人掌控,即使你使用......
  • 05-Esp8266物联网芯片的使用(一)-part01-ESP8266引脚
    主要内容芯片介绍开发环境编程举例芯片介绍 什么是NodeMCU? NodeMCU,是一个开源的物联网平台。它使用Lua脚本语言编程。该平台基于eLua开源项目,底层使用ESP8266sdk0.9.5版本。该平台使用了很多开源项目,例如lua-cjson,spiffs.NodeMCU包含了可以运行在esp......
  • 001-java-markdown语法
    typora中的markdown语法一、标题: 最多支持六级标题文字,或者command+0~6调整标题级别command+/-调整级别一级标题:markdown学习二级标题三级标题四级标题五级标题六级标题 二、字体Hello,world!粗体字:两边加2个**/command+BHello,world!斜体字:两边加1个/comman......
  • 代码随想录Day22-Leetcode235. 二叉搜索树的最近公共祖先,701.二叉搜索树中的插入操作,4
    235.二叉搜索树的最近公共祖先题目链接:https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-search-tree/又玩了一天,手又生疏了好多;这道题看了题解,先用公共解法了,之前的题没刷,就给现在留坑了/***Definitionforabinarytreenode.*functionTree......
  • day01_Java语言概述
    对第一个java程序进行总结java程序编写-编译-运行的过程编写:我们将编写的java代码保存在以".java"结尾的源文件中编译:使用javac.exe命令编译我们的java源文件。格式:javac源文件名.java运行:使用java.exe命令解释运行我们的字节码文件。格式:java类名在一个java源文件中......
  • 02628管理经济学2018版考试大纲思维导图
    第一章第二章第三章第四章第五章第六章第七章第八章第九章第十章第十一章第十二章思维导图下载地址(MindMaster绘制):链接:https://pan.baidu.com/s/1tLQKO7ngLxo38FsVOAIJUg?pwd=9m6p提取码:9m6p......
  • 网络对抗实验四 恶意代码分析--20201313
    Exp4恶意代码分析目录Exp4恶意代码分析一、实践基础1、实践目的2、实践内容3、实践原理二、实践内容系统运行监控(1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述分析结果。(2)安装配置sysinternals里的sysmon工具,设......
  • Exp4 恶意代码分析 实验报告—20201229赵斌
    Exp4恶意代码分析实验报告—20201229赵斌一、实验目标1.监控自己系统的运行状态,看有没有可疑的程序在运行。2.分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。3.假定将来工作中你觉得自己的主机有问题,就可以用实验......