HDOJ 3732 Ahui Writes Word

2024-05-05 12:58
文章标签 word hdoj writes 3732 ahui

本文主要是介绍HDOJ 3732 Ahui Writes Word,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!



杭电OJ 3732;l链接:http://acm.hdu.edu.cn/showproblem.php?pid=3732

Ahui Writes Word

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1977    Accepted Submission(s): 731


Problem Description
We all know that English is very important, so Ahui strive for this in order to learn more English words. To know that word has its value and complexity of writing (the length of each word does not exceed 10 by only lowercase letters), Ahui wrote the complexity of the total is less than or equal to C.
Question: the maximum value Ahui can get.
Note: input words will not be the same.


Input
The first line of each test case are two integer N , C, representing the number of Ahui’s words and the total complexity of written words. (1 ≤ N ≤ 100000, 1 ≤ C ≤ 10000)
Each of the next N line are a string and two integer, representing the word, the value(Vi ) and the complexity(Ci ). (0 ≤ Vi , Ci ≤ 10)


Output
Output the maximum value in a single line for each test case.


Sample Input
  
5 20 go 5 8 think 3 7 big 7 4 read 2 6 write 3 5


Sample Output
  
15
Hint
Input data is huge,please use “scanf(“%s”,s)”
题目分析:
首先,我们可以明确一点,输入数据中的字符串是没有作用的。然后,还有一点要注意,这道题目乍看上去像是01背包(注意数据量N≤ 100000,C ≤ 10000,直接套用01背包显然会超时),但是实际上是多重背包(0 ≤ Vi , Ci ≤ 10, (Vi,Ci)的组合最多就是121个,但是N最大是100000,所以里面会出现很多重复的(Vi,Ci),也就是多重背包了)。
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
#define max(x,y) x>y?x:yint dp[10010], num[12][12], weight[100010], value[100010];int main()
{int n, c;while(~scanf("%d%d", &n, &c)){int valuea, price, count = 0;char s[20];memset(dp, 0, sizeof(dp));memset(num, 0, sizeof(num));memset(weight, 0, sizeof(weight));memset(value, 0, sizeof(value));for(int i = 1; i <= n; i++){scanf("%s%d%d", s, &valuea, &price);num[valuea][price]++;}for(int i = 0; i <= 10; i++){for(int k = 0; k <= 10; k++){int tmp = num[i][k];for(int j = 1; j <= tmp; j = j*2) // 二进制拆分         {            weight[count] = j * k;            value[count++] = j * i;             tmp -= j;        }if(tmp > 0)        {            weight[count] = tmp * k;             value[count++] = tmp * i;         } }}for(int i = 0; i < count; i++){for(int j = c; j >= weight[i]; j--){dp[j] = max(dp[j], dp[j-weight[i]]+value[i]);}    }printf("%d\n", dp[c]);}return 0;
}

这篇关于HDOJ 3732 Ahui Writes Word的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/961776

相关文章

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

Java实现在Word文档中添加文本水印和图片水印的操作指南

《Java实现在Word文档中添加文本水印和图片水印的操作指南》在当今数字时代,文档的自动化处理与安全防护变得尤为重要,无论是为了保护版权、推广品牌,还是为了在文档中加入特定的标识,为Word文档添加... 目录引言Spire.Doc for Java:高效Word文档处理的利器代码实战:使用Java为Wo

使用Python实现Word文档的自动化对比方案

《使用Python实现Word文档的自动化对比方案》我们经常需要比较两个Word文档的版本差异,无论是合同修订、论文修改还是代码文档更新,人工比对不仅效率低下,还容易遗漏关键改动,下面通过一个实际案例... 目录引言一、使用python-docx库解析文档结构二、使用difflib进行差异比对三、高级对比方

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W

C#高效实现Word文档内容查找与替换的6种方法

《C#高效实现Word文档内容查找与替换的6种方法》在日常文档处理工作中,尤其是面对大型Word文档时,手动查找、替换文本往往既耗时又容易出错,本文整理了C#查找与替换Word内容的6种方法,大家可以... 目录环境准备方法一:查找文本并替换为新文本方法二:使用正则表达式查找并替换文本方法三:将文本替换为图

Java高效实现Word转PDF的完整指南

《Java高效实现Word转PDF的完整指南》这篇文章主要为大家详细介绍了如何用Spire.DocforJava库实现Word到PDF文档的快速转换,并解析其转换选项的灵活配置技巧,希望对大家有所帮助... 目录方法一:三步实现核心功能方法二:高级选项配置性能优化建议方法补充ASPose 实现方案Libre

Python批量替换多个Word文档的多个关键字的方法

《Python批量替换多个Word文档的多个关键字的方法》有时,我们手头上有多个Excel或者Word文件,但是领导突然要求对某几个术语进行批量的修改,你是不是有要崩溃的感觉,所以本文给大家介绍了Py... 目录工具准备先梳理一下思路神奇代码来啦!代码详解激动人心的测试结语嘿,各位小伙伴们,大家好!有没有想

Python实现Word转PDF全攻略(从入门到实战)

《Python实现Word转PDF全攻略(从入门到实战)》在数字化办公场景中,Word文档的跨平台兼容性始终是个难题,而PDF格式凭借所见即所得的特性,已成为文档分发和归档的标准格式,下面小编就来和大... 目录一、为什么需要python处理Word转PDF?二、主流转换方案对比三、五套实战方案详解方案1:

Python清空Word段落样式的三种方法

《Python清空Word段落样式的三种方法》:本文主要介绍如何用python-docx库清空Word段落样式,提供三种方法:设置为Normal样式、清除直接格式、创建新Normal样式,注意需重... 目录方法一:直接设置段落样式为"Normal"方法二:清除所有直接格式设置方法三:创建新的Normal样

SpringBoot+EasyPOI轻松实现Excel和Word导出PDF

《SpringBoot+EasyPOI轻松实现Excel和Word导出PDF》在企业级开发中,将Excel和Word文档导出为PDF是常见需求,本文将结合​​EasyPOI和​​Aspose系列工具实... 目录一、环境准备与依赖配置1.1 方案选型1.2 依赖配置(商业库方案)二、Excel 导出 PDF