
dp.背包问题
文章平均质量分 79
胡牧之.
此人很懒,但还添加了简介
展开
-
cf785C(div2): Palindrome Basis(完全背包,一维空间优化)
题目原题链接问题描述如果一个不含前导0的正整数翻转后值不发生改变,那我们就称这个数为回文数。一个数n(1≤n≤4∗104)n(1\leq n\leq4*10^4)n(1≤n≤4∗104)可以由若干个回文数之和来表示,问对于nnn来说总共有多少不同的回文数表示方法。若两种表示方法仅顺序不同,仍然视作相同的表示,如3=2+1=1+23=2+1=1+23=2+1=1+2.分析由于数据范围不算大,只有4∗1044*10^44∗104,我们可以直接暴力枚举出所有的回文数,共计498498498个。原创 2022-05-01 08:41:13 · 707 阅读 · 0 评论 -
V字钩爪(思维解法/DP解法)
题目原题链接问题描述分析由于钩子之间存在长度为kkk的间隙,那么当我们选取了位置iii与i+ki+ki+k的宝石,也只是会对i−ki-ki−k和i+2∗ki+2*ki+2∗k的宝石造成影响,所以,我们不妨每次只讨论这些位置相隔为kkk的宝石。思维解法若我们这些存在影响关系的宝石的个数为偶数意味着我们完全可以全部选取;若为奇数,我们只需舍弃一个宝石,然后再取走剩余的偶数个宝石。不过需要注意的是,当宝石个数为奇数时,我们所选取的那个宝石的位置有要求,若该宝石之前有奇数颗宝石,后续也有奇数颗宝原创 2022-04-16 15:17:24 · 232 阅读 · 0 评论 -
Make Them Equal(01背包+dp打表)
题目原题链接问题描述分析可转化01背包,两点注意:1.进行打表记录抵达每个b[i]b[i]b[i]的最优策略,否则超时,可以DP,可以搜索;2.k=min(k,sum)k=min(k,sum)k=min(k,sum),否则可能会有k过大的情况,导致时间的浪费。代码#include<bits/stdc++.h>#define fir(i, a, b) for (int i = (a); i <= (b); i++)#define rif(i, a, b) for (原创 2022-03-01 16:55:25 · 304 阅读 · 0 评论 -
爆炸的符卡洋洋洒洒(01背包变形)
题目原题链接问题描述化为背包问题来理解,就是说有nnn个物品,每个物品的体积为aia_iai,价值为bib_ibi,此时的背包的容积没有限制,但要求放入背包的物品的总体积要为kkk的倍数时价值才有意义。数据范围:1≤n,k≤10001\leq n,k \leq 10001≤n,k≤10001≤ai,bi≤1091\leq a_i,b_i \leq 10^91≤ai,bi≤109分析总体积为kkk的倍数,也就是对kkk取模的结果为000,所以我们以dp[i][j]dp[i][j]原创 2022-02-09 10:28:55 · 703 阅读 · 0 评论 -
九小时九个人九扇门(01背包)
题目原题链接分析根据题目可以发现,一个数(1≤n≤105)(1\leq n\leq 10^5)(1≤n≤105)的数字根其实就是这个数按999取模的值(一个数取模结果为0说明这个数的数字根是9)(一个数取模结果为0说明这个数的数字根是9)(一个数取模结果为0说明这个数的数字根是9).题目问的是几个数之和的数字根,按照模运算的性质:(a+b)%p=(a%p+b%p)%p(a+b)\%p=(a\%p+b\%p)\%p(a+b)%p=(a%p+b%p)%p依然是几个数的数字根之和的取模结果,所以我们在原创 2022-01-27 15:05:54 · 953 阅读 · 0 评论 -
第十二届蓝桥杯省赛B组(C/C++)试题G砝码称重
题目原题链接问题描述有一架天平和n(1≤n≤100)n(1\leq n \leq 100)n(1≤n≤100)个砝码,问通过灵活的使用砝码,这个天平可以称出多少种不同的质量。分析步骤一:确定状态步骤二:确定状态转移方程步骤三:确定边界情况和初始条件步骤四:确定计算顺序步骤一:确定状态以dp[i][j]dp[i][j]dp[i][j]表示有iii个砝码时,能否称量出质量jjj,1表示可行,0表示不可行。步骤二:确定状态转移方程欲求dp[i][j]dp[i][j]dp[i][j],已原创 2022-01-22 12:19:06 · 3078 阅读 · 1 评论 -
背包九讲总结
文章目录前言一、01背包(二维分析、一维优化)1.背景2.分析3.代码二、完全背包(与01背包比较)1.背景2.分析3.代码三、多重背包(朴素、二进制优化划分、单调队列优化)1.背景2.分析3.代码四、1.背景2.分析3.代码前言<font color=#999AAA根据y总的视频,总结了一下背包九讲的内容,准备好好搞一下dp问题。一、01背包(二维分析、一维优化)1.背景01背包先给定背包容积大小V,再给定物品数目N,之后根据N的值输入每个物品的体积v[i]跟价值w[i],问背原创 2021-06-20 17:11:43 · 1588 阅读 · 0 评论