HDU 2844 Coins

Windows 环境下 OpenClaw 的安装与千问大模型配置 为了不占用 C 盘空间,重装系统也不丢失配置,本文详细记录了如何将 OpenClaw 安装在非系统盘,比如D 盘,并对接阿里云 通义千问大模型的全过程。主要是利用 NVM 和 npm 进行安装,方便后续一键升级,配置具有免费额度的Qwen API,这个只需要在阿里云百炼注册一个账号就能获得免费额度。 阅读详情

传送门

多重背包,重量与价值相同,恰好装满。
和这个题差不多。有n种硬币,每种硬币都有一个数量和价值,问你拿这些硬币能恰好支付多少个价格(价格区间[1,m]),支付每个价格都可用全部的硬币。

方法就是将重量和价值视为相同,然后再恰好装满,所以dp[j]表示恰好拿取价值总和为j的硬币所获得的(最大,233)价值。可以想到,这个值要么是非法值,要么是j。
这个题给的硬币价值总和的上限太大了,肯定不能用作数组大小。而m的上限可以接受,用m当作数组大小就可以了,因为求解答案只会用到dp[1]~dp[m]。

另外想到:这道题即使硬币价值总和(V)比m小也没关系,因为是恰好装满,dp[V+1]及以后的值一定都是非法值。

这题本来没什么好说的,但是有个bug坑了一个小时,很烦。

用fill()会超时(>1000ms)!!!换成朴素的循环赋值就AC了(200+ms)。

结论就是:以后不再用fill(),其实根本没省几个字母。


#include <cstdio>
#include <iostream>
#include <algorithm>
#include <vector>
#include <cstring>
#include <string>
#include <queue>
using namespace std;                            // 多重背包,要求恰好装满

const int INF = 1e9;
int N, M;
int p[100];
int num[100];
int dp[100001];
int cnt;

void init()
{
	for (int i = 1; i <= M; i++)                // 不能用fill()!!!!!!!!!!!!!!!!!!用fill()就超时  
		dp[i] = -INF;
	//fill(dp + 1, dp + M + 1, -INF);           // 这他妈是什么鬼函数,用了直接超时(>1000ms),不用200+ms
	dp[0] = 0;
	cnt = 0;
}


int main()
{
	for (; ~scanf("%d%d", &N, &M);)
	{
		if (N == 0 && M == 0) break;
		for (int i = 0; i < N; i++)
			scanf("%d", &p[i]);
		for (int i = 0; i < N; i++)
			scanf("%d", &num[i]);
		init();
		for (int i = 0; i < N; i++)
		{
			if (p[i] * num[i] >= M)
			{
				for (int j = p[i]; j <= M; j++)
					dp[j] = max(dp[j], dp[j - p[i]] + p[i]);
			}
			else
			{
				int t;
				for (int k = 1; k < num[i]; k <<= 1)
				{
					t = p[i] * k;
					for (int j = M; j >= t; j--)
						dp[j] = max(dp[j], dp[j - t] + t);
					num[i] -= k;
				}
				t = p[i] * num[i];
				for (int j = M; j >= t; j--)
					dp[j] = max(dp[j], dp[j - t] + t);
			}
		}
		for (int i = 1; i <= M; i++)
			if (dp[i] > 0) cnt++;                   // 等价dp[i] == i
		printf("%d\n", cnt);
	}

	return 0;
}

Unity PBR实战:从零打造丝绸材质各向异性高光效果 本文详细介绍了在Unity中实现丝绸材质各向异性高光效果的PBR实战技巧。通过改造Standard Shader、适配IBL环境光以及高级效果调优,开发者可以创建出逼真的丝绸材质,展现动态光纹变化。文章包含关键代码示例和参数配置建议,特别适合需要提升材质表现力的Unity开发者。 阅读详情

相关推荐

CST仿真微带贴片天线学习笔记

谐振频率为3.48GHz,基板采用Rogers RT5880板材,介电常数2.2,损耗角正切0.0009,厚度1.57mm,馈电方式为同轴馈电。

qq_36521926的博客 9433

hdu 2844 Coins

hdu   2844   Coins               题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2844 题目大意:有n种硬币,给出价值上限m,给出这n中硬币的价值和数量,求价值上限内的价值组合数。 题目分析:看起来像是个不设重量的多重背包,求组合数可以与母函数结合。 code: #include #include int m

slicer的技术交流栈 725

5G初始注册流程详解(2)-Registration Request

1:了解注册的本质,5G终端为什么要注册? 2:SUCI,SUPI,5G-GUTI的区别? 3:为什么会有COMPLETE REGISTRATION REQUEST呢?

weixin_53220301的博客 3794

HDU 2844 Coins(多重背包)

HDU Coins(多重背包) http://acm.hdu.edu.cn/showproblem.php?pid=2844 题意: 现在有价值val[1],val[2],…val[n]的n种硬币, 它们的数量分别为num[i]个. 然后给你一个m, 问你区间[1,m]内的所有数目, 由之前n种硬币来构造(即选取某些硬币使得这些硬币的价值和等于[1,m]区间的特定数), 最多能构造出这m个数中的多少个? 分析: 基本的完全背包问题. 我们令dp[i][j]==x表示

code 1321

手把手教你用Node.js模拟大麦APP下单请求(含滑块验证处理)

本文详细解析了如何使用Node.js模拟大麦APP下单请求的全流程,包括接口逆向、滑块验证处理和签名算法逆向等关键技术。通过实战案例和代码示例,帮助开发者掌握移动端API调用的核心要素,如动态参数构造、安全验证突破等,提升自动化下单的成功率和效率。

weixin_42569329的博客 353

STorM BGC V1.31硬件+SimpleBGC固件:从零搭建三轴云台开发环境(Keil+JLink避坑指南)

本文详细介绍了如何从零搭建STorM BGC V1.31硬件+SimpleBGC固件的三轴云台开发环境,涵盖硬件连接、Keil+JLink开发工具配置、固件编译与烧录等关键步骤,并提供了常见问题的解决方案和调试技巧,帮助开发者快速上手三轴云台开发。

weixin_28693683的博客 380

HDU 2844: Coins【01背包的二进制优化】

HDU 2844: Coins Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Problem Description Whuacmers use coins.They have coins of value A1,A2,A3...An Silverland dollar....

这是一个ACM专用的瞎写给自己看的没什么技术含量的可能是假的博客 253

相机图像质量研究(15)常见问题总结:光学结构对成像的影响--暗角

老式相机的暗角往往比较明显,周围一圈能够明显感觉到亮度下降的很多,当然有些电源模仿手持相机的摄影效果,也能看到周围明显的亮度下降。一、

xiaoshixiu的专栏 1124

POJ 1742/HDU2844 Coins 题解

POJ 1742/HDU2844 Coins 题解

Jeza SS 526

【干货】SAP特殊库存:Q库存(项目库存)全解析,搞懂ETO模式的核心!

在 SAP 系统中,

我小时候很黑的博客 910

RTOS与Linux功能差异与应用场景全面对比

在嵌入式系统的开发中,操作系统的选择至关重要。和是两种广泛应用的操作系统,它们在功能、设计目标以及应用领域中各具优势。随着嵌入式系统的不断发展,已成为嵌入式行业的大趋势。那么,这两者到底有什么不同呢?

硬核科技 402

HDU2844 Coins 多重背包

HDU2844 Coins 多重背包 Coins Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 12330Accepted Submission(s): 4922 Pr...

weixin_30666753的博客 105

海洋CMS admin_notify.php 远程代码执行漏洞复现(CVE-2024-30565)

海洋CMS admin_notify.php 接口处存在远程代码执行漏洞,经过身份验证的远程攻击者可利用该漏洞执行任意代码,写入后门文件,进而控制整个web服务器。

0xSec 2714

hdu_2844_Coins(多重背包)

题目连接:hdu_2844_Coins 题意:给你n个硬币的价值和对应的数量,问你从1到m有那些数能组合出来 题解:如果我们将硬币的价值看成一个物品的容量和价值,那么对应1-m,如果dp[i]==i,那么这个数就能组合出来,所以这题就变成了一个多重背包,多重背包可以分为完全和01背包,也可以直接用01背包做,分两种情况的速度要快一些,只用01背包的速度要慢一些,不过还是可以AC的 #incl

bin_gege的博客 326

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

HDU 2844 Coins(多重背包,装满可行性)

HDU 2844 Coins    (POJ1742也是这道,但是用多重背包超时)                                                       http://acm.hdu.edu.cn/showproblem.php?pid=2844 题意:        现在有价值val[1],val[2],…val[n]的n种硬币, 它们的数量分别为

sgh666666的博客 588

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

HDU 2844 Coins (多重背包->类01背包优化)

HDU 2844 Coins (多重背包->类01背包优化) (TEST<31> 11.20) 解题思路 看着就是 多重背包问题 在这里 进行了 0/1背包的优化 用dp【价值】=所能达到的最大价值 来判定是否能够达到 这个 值 关于0/1背包优化 解析 (出自ACwing 基础算法视频第五章 第一节动态规划 ) 看 1023 数字之和能够组成 1023? 0-1023 枚举每...

MaxVen 236

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

HDU2844 Coins【多重背包】

Coins Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 20670Accepted Submission(s): 8121 Problem Description Whuacmers use coins.They h...

逐梦者 292

hdu 2844 Coins 多重背包 二进制优化 算是否能组成的背包

hdu 2844 Coins #include #include #define size 100010 #define csize 110 int dp[size]; int c[csize]; int num[csize]; int v; int max(int a,int b) { return a>b?a:b; } void ZeroOnePack(int cost,int we

yan_____的专栏 524

HDU 2844 Coins 多重背包 (重量和价值相同)

Problem Description Whuacmers use coins.They have coins of value A1,A2,A3...An Silverland dollar. One day Hibix opened purse and found there were some coins. He decided to buy a very nice watch in a

深海沧澜的博客 480

HDU 2844 Coins(多重背包 + 二进制优化 + 01背包)

题目链接:HDU 2844 Coins(多重背包 + 二进制优化 + 01背包) 多重背包 + 二进制优化 + 01背包。 跟poj那个dividing差不多,只是最后要求的m内的种类和,不多说了。 g++ TLE,c++ AC。。。 #include #include #include using namespace std; const int MAX_N = 100 +

fobdddf的专栏 847

HDU2844 Coins

题目大意:HIBiX想买一个很nice的watch,他有一堆coins,HiBix估计这个表的价格不会超过m,所以就打算用硬币拼出在m价格以内的价格数以备付款.来一个"苹果式还债",哈哈...  现在HiBiX问这堆硬币可以堆出多少钱值(在m以内) 思路:用多重背包的装满思想,就是对于每一个V,都尽量的去装.如果装满的就是能够拼出的相应价格,但是有一点有点蒙.看代码最后处....

muxi@Achilles的专栏 1112

hdu 2844 Coins

题目:http://acm.hdu.edu.cn/showproblem.php?pid=2844 题目的意思其实是求硬币的组合方案,使得硬币的价值总额不超过m 一个很典型多重背包问题 这个题目如果用0-1背包来做,是会超时的,所以用多重背包,其实差别很小,只不过不能用逆序的方法,要采取顺序,理由是并不清楚前一次可以取多少枚硬币 同时采用2进制的处理方法。 代码如下: #inclu

Visioner的自留地 554

HDU-2844:Coins(多重背包+二进制优化)

链接:HDU-2844:Coins 题意:给你n个种类的钱和对应的数量,同统计一下从1到m能够凑成的钱有多少个。 题解:C[i] = 1 + 2 + 4 + ··· + 2^k + a (0 <= a < 2^(k+1))。 #include <bits/stdc++.h> using namespace std; const double EPS = 1...

weixin_33796205的博客 110

HDU 2844 Coins 多重背包

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2844 Coins Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others) 问题描述 Whuacmers use coins.They have coins of value A1,A2,A3.....

weixin_30809173的博客 117
上一篇: HDU 1171 Big Event in HDU
下一篇: HDU 1203 I NEED A OFFER!
Crossing over
博客等级 码龄10年 6粉丝 113原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值