
背包九讲
文章平均质量分 71
01背包、完全背包、多重背包等
小衣同学
No Saturday , no Sunday , no holiday .
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
2024牛客暑期多校训练营10 D. Is it rated?(01背包 用误差减少dp状态)
此时乘以pi=1e5也小于1e-14,乘以1e5场也不会超过1e-9,对答案的误差不会产生影响。所以可以倒着dp这个过程,就无后效了,dp[i]表示当前参加了i场时的最大rating和,那么(1-k)的x次方,当x到一定次数就很小了,试着400多次方的时候就会小于1e-19,然后这么暴力dp是O(n^2)的,不能接受,注意到k>=0.1,1-k<=0.9。有一个浮点系数k(0.1<=k<=1),对于n场来说系数是一样的,t(t<=1000)组样例,每次给定n(n<=1e5)场比赛,倒着看这个比赛的过程,原创 2024-08-18 01:52:09 · 246 阅读 · 0 评论 -
Educational Codeforces Round 168 (Rated for Div. 2) F. Chips on a Line(完全背包+斐波那契数列)
dp[i][j]表示当前选了i个数和为j的方案数,做个完全背包,将所有合法的y的状态求和即可。然后发现第i个数是fib[i],10个数,所以是不超过fib[10]的斐波那契数列。问题转换成,有x种数,其中第i种数是fib[i],在其中选n个数,假设他们的和是y。最少的斐波那契数可以dp预处理出来,当然贪心一步,直接从最大的转移递推出来也是对的。如果用最少个斐波那契数之和去表示y的时候,用了m个数,那么y就是合法的。可以把一个数都换成1和2,比如一个3可以换成1个1、1个2。原创 2024-08-12 03:48:41 · 331 阅读 · 0 评论 -
2022 International Collegiate Programming Contest, Jinan Site C. DFS Order 2(树形dp+回滚背包)
dp[v][i+j]+=dp[u][i]*g[j] // v在dfs序中的位置为i+j。不妨u的直连儿子是v,v1,v2,v3,v4,则需要再乘以h[v1]*h[v2]*h[v3]*h[v4]所以,计dp[i][j]为点i在dfs序中的位置为j的方案数(不考虑i子树内部的方案时)也就是,先令h[u]=1,对于u的每个直连儿子来说,h[u]*=h[v],dfs序中,则是不同的方案,所以需要将k个直连儿子乘上顺序,乘以k!对于u来说,枚举每个v的时候,都重新做一遍f的背包,复杂度。原创 2023-10-05 23:35:40 · 1517 阅读 · 0 评论 -
2020 ICPC, COMPFEST 12, Indonesia Multi-Provincial Contest B.Blue and Red of Our Faculty!(dp/背包)
题目n(2<=n<=2e3)个点的图,m(m<=2*n)条无向边除了1号点度数无限制以外,别的点恰有两条边与之相连,无自环,可能有重边红方和蓝方开始都在1号点,所有边都是未被涂色的,每一次红蓝各选与当前所在节点相邻的一条未被涂色的边,然后分别将其涂上对应颜色,并走到节点的另一端如果有一刻二人不能同时选中两条边,游戏结束问有多少种终局方案,答案对1e9+7取模两种方案不同当且仅当至少有一条边在出现在planA里没出现在planB里思路来源wucst原创 2020-09-28 22:58:19 · 435 阅读 · 0 评论 -
2018年牛客多校算法寒假训练营练习比赛(第二场)TaoTao要吃鸡(01背包经典题)
题目人物本身可携带m(m<=100)重量的物品,带背包后可多携带h(0<=h<=100)(h为0代表没有装备背包)重量。当装备背包之后,如果当前可携带重量没有满,就可以向背包内再放入一个任意重的东西。岛上有n(n<=100)件装备,每个装备都有重量Wi和威力值Vi(Wi,Vi<=100)挑选威力最大的装备,输出威力值。思路来源补题题解是一个自己大一的时候没A的一个题,补了一下,发现很sbh=0直接做01背包,考虑h>0①最后一个放入原创 2020-07-11 17:13:13 · 240 阅读 · 0 评论 -
UVALive4015/LA4015 Cave(树形背包)
题目n(n<=500)个点的有根树,每条边有边权w(w<=1e4),以下q(q<=1e3)个询问,每次询问,你需要从根节点出发,走不超过x(x<=5e6)的距离,访问尽可能多的节点,相同的节点算一个对于每个查询,输出可以访问的节点数的最大值,出发点也算一个点思路来源https://www.cnblogs.com/ympc2005/p/12326550.html题解核心代码三四行,剩下都是板子orz第一维肯定是以u为根的子树,第二维我们关注访问的点的原创 2020-05-20 19:00:50 · 252 阅读 · 0 评论 -
hdu4003 Find Metal Mineral(树形dp+分组背包思想)
题目n(n<=1e4)个点的树,每条边有一个边权w(w<=1e4),通过其的代价为其权值你有k(k<=10)个机器人,所有机器人从给定的源点s(1<=s<=n)出发,你可以控制机器人的移动求机器人访问所有点时,其最小的边权代价总和,输出代价总和1<=N<=10000, 1<=S<=N, 1<=k<=10, 1<=x, y<=N, 1<=w<=10000.思路来源https://www.cnblo原创 2020-05-20 18:43:05 · 331 阅读 · 0 评论 -
Educational Codeforces Round 37 (Rated for Div. 2) D.Tank(思维题-dp/背包+乱搞)
题目你有n(2<=n<=5e3)个水池,初始第i个池子有ai(0<=ai<=1e5)的水且容积无限大。一个容积为k(1<=k<=5e3)的勺子,可以装一个水池的min(k,a[i])的水放到其他水池。勺子不能同时从两个水池里取水,从一个水池里取了之后必须立刻倒掉,且只能倒在一个水池里。求能否配出V(0<=V<=1e9)容积的水,要...原创 2020-05-06 01:52:33 · 525 阅读 · 0 评论 -
洛谷P4161 [SCOI2009]游戏(思维题-循环节+质数+完全背包)
题目windy学会了一种游戏。对于1到N (N<=1e3) 这N个数字,都有唯一且不同的1到N的数字与之对应。最开始windy把数字按顺序1,2,3,……,N写一排在纸上。然后再在这一排下面写上它们对应的数字。然后又在新的一排下面写上它们对应的数字。如此反复,直到序列再次变为1,2,3,……,N。如: 1 2 3 4 5 6对应的关系为1->2 2-...原创 2020-05-01 15:59:49 · 305 阅读 · 0 评论 -
牛客练习赛61 C.四个选项(01背包+哈希压状态)
题目有一些条件,首先四个选项的数量必须分别为 na,nb,nc,nd(保证na+nb+nc+nd=12)。其次有 m(0<=m<=1e3)个额外条件,分别给出两个数字 x,y,代表第 x 个题和第 y 个题的答案相同(1<=x,y<=12)。现在你的老师想知道,有多少种可行的方案安排答案。思路来源https://ac.nowcoder.com/disc...原创 2020-04-11 23:27:37 · 219 阅读 · 0 评论 -
poj1015 Jury Compromise(01背包+输出路径)
题目给定n(1<=n<=200)个人的信息,第i个人的信息由两个分数组成,控方对其评分pi,辩方对其评分di(0<=pi,di<=20)你需要选出恰好m(1<=m<=min(n,20))个人,使得辩方总分和控方总分的差的绝对值最小。若存在多种方案总分之差绝对值相同,选辩控双方总分之和最大的。输出最终的控方总分和辩方总分及选了哪几个人。...原创 2020-02-14 00:15:23 · 291 阅读 · 0 评论 -
小米OJ 海盗分赃(基础题-01背包/bitset)
题目N(N<100)个数,第i个数为wi(wi<=1e4)问能否将这N个数的和分成两半思路来源https://code.mi.com/submit/list/view?id=98641题解写了个01背包莽sum/2,O(n*n*sum/2)跑到5e7能卡过感觉bitset的写法更好,之前写过类似的但是不记得了dp练得还是少,忘得还是快,最基础的都不会...原创 2019-03-11 18:30:21 · 634 阅读 · 0 评论 -
hdu2955 B - Robberies(01背包)
题目http://acm.hdu.edu.cn/showproblem.php?pid=2955题意一个被抓概率pmax 一个要偷银行数n以下n行每行一个vi代表价值 一个pi代表被抓概率在不超过pmax的情况下,最大化偷到的vi的价值思路来源https://blog.csdn.net/jianbagengmu/article/details/71091755题...原创 2019-01-16 20:38:38 · 402 阅读 · 0 评论 -
hdu1171 Big Event in HDU(多重背包)
思路来源https://www.cnblogs.com/liuzhanshan/p/6024567.html题意有n种仪器,每种仪器i对应一个v[i]即价值,m[i]即数量,hdu计院和软院要分开了,将这些仪器的价值尽可能的均分,如果不能均分,计院所得多一点,问各分多少价值。题解以价值的一半为背包容量,软院尽可能放满背包,剩下的给计院即可。考虑到每种限制数量...原创 2018-10-29 19:08:27 · 221 阅读 · 0 评论 -
蓝桥杯 算法提高-求最大值(dp基础/类01背包+滚动数组)
题目给n个有序整数对ai bi,你需要选择一些整数对,使得所有你选定的数的ai+bi的和最大。要求你选定的数对的ai之和非负,bi之和非负。1<=n<=100;-1000<=ai,bi<=1000思路来源https://blog.csdn.net/qq_39304630/article/details/78570801http://tieba.b...原创 2019-03-21 21:13:32 · 500 阅读 · 0 评论 -
蓝桥杯 对局匹配(dp基础/类01背包)
题目积分差恰好是K的两名用户会匹配。如果两人分差小于或大于K,系统都不会将他们匹配。网站共有N名用户,以及他们的积分分别是A1, A2, ... AN。小明想了解最多可能有多少名用户同时在线寻找对手,但是系统却一场对局都匹配不起来(任意两名用户积分差不等于K)?思路来源https://blog.csdn.net/flyawayl/article/details/7906...原创 2019-03-21 21:44:22 · 343 阅读 · 0 评论 -
牛客练习赛41 B-666RPG(背包+偏移量)
题目题目链接:https://ac.nowcoder.com/acm/contest/373/Blililalala正在玩一种有N (1<=N<=300)个回合的回合制RPG游戏,初始分数为0,第i 个回合lililalala有如下两种选择。 A.将分数加上ai (-666<=ai<=666) B.将分数× (-1)lililalal...原创 2019-06-08 15:07:21 · 361 阅读 · 0 评论 -
UVA - 12260 Free Goodies(dp+贪心)
题目有n(n<=1e3)个糖果,Petra和Jan轮流取第i个糖果有pi,ji两个权值,谁取了就会得到其对应的权值Petra会选pi最大的,相同情况下会选ji最小的Jan会选让自己最后总和最大的,相同情况下会选让Petra最后总和最大的题目会告诉谁先手,问按两人策略取最后的两人价值和思路来源https://blog.csdn.net/keshuai19940722...原创 2019-07-04 18:07:13 · 235 阅读 · 0 评论 -
蓝桥杯 波动数列(01背包)
题目观察这个数列:1 3 0 2 -1 1 -2 ...这个数列中后一项总是比前一项增加2或者减少3。栋栋想知道长度为 n ,和为 s ,而且后一项总是比前一项增加a或者减少b的整数数列,可能有多少种呢?输出方案数除以100000007的余数。对于10%的数据,1<=n<=5,0<=s<=5,1<=a,b<=5;对于30%的数据,1<...原创 2019-07-26 15:23:12 · 860 阅读 · 1 评论 -
牛客网 牛牛去买球 (思维题/01背包)
题目牛牛想去商店买一些球来玩,他发现商店里有n个盒子,每个盒子外面有一张标签告诉你有ai个红球,bi个蓝球,需要ci的钱购买但是由于店主是一个粗心的人,他告诉你每个盒子球的总量是符合标签的说明的,但是具体的种类可能会有如下偏差,比如可能有(ai+1 ,bi-1),(ai, bi), (ai-1, bi+1)三种可能牛牛想要买至少K个同颜色的球,但是他又不想浪费钱帮他算算最少花多...原创 2019-10-02 19:44:14 · 670 阅读 · 0 评论 -
hdu6092 Rikka with Subset(01背包)
题意给你一个b[]数组,每次取a数组的子集之和为i的方案数有bi个输出字典序最小的a数组思路来源https://www.bilibili.com/video/av29915579/?spm_id_from=333.788.videocard.0题解心得01背包逆序和完全背包正序是方程决定的dp[j][k]=dp[j-1][k]+dp[j-1][k-a[j...原创 2019-01-13 12:24:00 · 238 阅读 · 0 评论