"[HAOI2018]奇怪的背包" $solution:$ 首先,这一道题目的描述很像完全背包,但它所说的背包总重量是在模P意义下的,所以肯定会用到数论。我们先分析一下,每一个物品可以放无数次,可以达到的背包重量其实就是所有$gcd(a[i],P)$的倍数。 这一点和天天爱跑步简直神似!因为天天爱跑 ...
分类:
其他好文 时间:
2019-04-11 14:47:01
阅读次数:
150
题目背景 由于你的帮助,火星只遭受了最小的损失。但gw懒得重建家园了,就造了一艘飞船飞向遥远的earth星。不过飞船飞到一半,gw发现了一个很严重的问题:肚子饿了~ gw还是会做饭的,于是拿出了储藏的食物准备填饱肚子。gw希望能在T时间内做出最美味的食物,但是这些食物美味程度的计算方式比较奇葩,于是 ...
分类:
其他好文 时间:
2019-03-13 00:18:44
阅读次数:
190
题目链接 题目大意:有S门课程,N名在职教师和M名求职者,每名在职教师或求职者都有自己能教的课程集合以及工资,要求花费尽量少的钱选择一些人,使得每门课程都有至少两人教。在职教师必须选。 可以把“每个课程已经分别有几个人教”作为状态来进行转移,每个人能教的课程集合作为“物品重量”,工资作为“价值”来更 ...
分类:
其他好文 时间:
2019-02-14 22:20:31
阅读次数:
220
/*依赖背包的通常做法就是对于每个结点,先处理处其所有子节点的dp,然后对于当前结点进行分组背包dp即可 还是依赖背包问题,dp[i][j]表示结点i的子树用了j个机器人的搜索代价 边界条件,如果某个结点的子树用了0个机器人,那么搜索这个棵子树的代价是边权和*2 将每个结点子树中的机器人看做物品体积... ...
分类:
其他好文 时间:
2019-01-26 23:41:38
阅读次数:
190
潜入行动 bzoj-5314 Jsoi-2018 题目大意:题目链接。 注释:略。 想法: 学长给我们除了一套考试题,三个学长一人一道这是T1. 好吧好吧,傻逼背包...... 复杂度$O(nk)$。 Code: 小结:这种题其实只要做过一道就行了。 ...
分类:
Web程序 时间:
2018-12-23 12:01:53
阅读次数:
222
消失之物 bzoj-2287 Poj Challenge 题目大意:给定$n$个物品,第$i$个物品的权值为$W_i$。记$Count(x,i)$为第$i$个物品不允许使用的情况下拿到重量为$x$的方案数。 注释:$1\le n,val_i\le 2\cdot 10^3$。 想法:只需要用取模瞎** ...
分类:
其他好文 时间:
2018-12-10 11:32:37
阅读次数:
160
E - The Unbearable Lightness of Weights 思路: 分组背包dp 每组最多只能选一个 一些优化可以快很多 代码: ...
分类:
其他好文 时间:
2018-11-22 02:37:53
阅读次数:
220
一 问题分析 二 代码实现 package Dp_0_1_bag; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; public class bin { public stat ...
分类:
其他好文 时间:
2018-11-05 23:44:27
阅读次数:
264
题意:有一棵n个点的形态不定的树,每个度为i的节点会使树的权值增加f[i],求树的最大权值 n<=2015,0<=f[i]<=1e4 思路:对不起队友,我再强一点就能赛中出这题了 显然每个点的度至少为1,且度数为1的节点至少有2个(From 队友) 有一个结论:给每个点都分配1个度,剩余的度任意分配 ...
分类:
其他好文 时间:
2018-10-30 22:21:50
阅读次数:
208
他都告诉你能拆了 那就拆呗。把每个重量拆成$a*2^b$的形式 然后对于每个不同的b,先分开做30个背包 再设f[i][j]表示b<=i的物品中 容量为$ j*2^i+W\&((1<<(i-1))-1) $(就是这一位是j+W的前i-1位)的最大权值(这个容量没必要填满) 然后f[i][j]就可以从 ...
分类:
其他好文 时间:
2018-10-27 22:36:05
阅读次数:
188