![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
背包
Frozen_Guardian
已退役菜鸡Acmer
展开
-
2020CCPC(威海) - Clock Master(数论+分组背包)
题目大意:给出一个数字 n ,要求分解成:a[ 0 ] + a[ 1 ] + ... + a[ m ] = n,( m 没有约束 ),使得 lcm( a[ 0 ] , a[ 1 ] , ... a[ m ] ) 最大,输出这个最大值的对数 题目分析:看到 lcm 就可以去思考如何快速求出 n 个数的 lcm,比较简单的一种方法就是将每个数进行质因子分解,对于每个质因子 p 来说,取 n 个数中 p^k[ i ] 的最大值,就是质因子 p 的贡献了,所有质因子的贡献的乘积就是需要求的 lcm 所以这...原创 2020-10-26 10:48:27 · 2723 阅读 · 4 评论 -
牛客 - Subset of Five(背包)
题目链接:点击查看 题目大意:给出 n 个数字,要求选出一些数字,使得这些数字之和可以在整除五的前提下尽量大 题目分析:一开始以为是贪心问题,但贪心发现不太好实现,问了问 zx 学长,给我提示说是背包dp,仔细想了一下确实如此 dp[ i ][ j ] 代表处理完前 i 个数后,%5 的结果为 j 时的最大数字之和,这样答案显然为 dp[ n ][ 0 ] 了,转移状态也比较简单 代码: #include<iostream> #include<cstdio> #inc.原创 2020-06-17 00:36:36 · 251 阅读 · 0 评论 -
中石油训练赛 - Match Matching(完全背包)
题目描述 Find the largest integer that can be formed with exactly N matchsticks, under the following conditions: Every digit in the integer must be one of the digits A1,A2,...,AM(1≤Ai≤9). The number of m...原创 2020-03-05 22:29:32 · 437 阅读 · 0 评论 -
ZOJ - 2955 Interesting Dart Game(鸽巢原理+完全背包)
题目链接:点击查看 题目大意:给定M个不同的得分方式,以及需要得到N分,至少需要多少次(多余N都不行,只能严格等于N) 思路:第一反应肯定是完全背包,可是N给到了1e9的程度,开数组肯定是开不了的,这个时候就要思考该怎样优化。 优化方法:鸽巢原理(抽屉原理): 复制一段学长PPT课件上的证明: •在鸽巢原理的介绍里面,有例题介绍:设a1,a2,a3,……am是正整数的序列,试证明至少存...原创 2019-07-26 22:19:05 · 300 阅读 · 0 评论 -
qduoj - 今晚一起打CF吧——Codeforces,十三亿人的ACM梦。(排序背包)
题目链接:点击查看 题目大意:给出一个初始值point,然后给出一个minute表示每分钟减少的分数和time表示做完该题需要的分数,请给出一个合适的做题顺序要求在规定时间内最后得到的分数最高 题目分析:我们可以把时间看做背包,将分数看做物品,这样就转换成了一个简单的01背包问题,主要是我们应该给选择的物品来一个次序,每个题目因为时间原因,所得到的分数是不同的,导致每个题目都有一个优先级,我们...原创 2019-09-29 12:14:15 · 256 阅读 · 0 评论