题意 考虑点分治来枚举树上联通块,对于一个联通块,我们做有依赖性的树形DP即可,需要用单调队列优化多重背包。 有依赖性的树形DP code: #include<bits/stdc++.h> using namespace std; const int maxn=510; const int maxm ...
分类:
其他好文 时间:
2020-06-05 15:05:32
阅读次数:
53
#题意 给你n和p,还有n个p的指数,问你怎么分可以让AB两个集合的和的差最小,n,p<=1e6,答案需要模1e9+7 #思路 分成两组的问题参考51nod2334,朴素方法是背包或者dfs 但这题是在p进制下的,可以想到贪心的策略: 从大到小进行分配,每次将$p^{a[i]}$分配到当前的和比较小 ...
分类:
其他好文 时间:
2020-06-05 13:26:05
阅读次数:
63
问题描述: 有 N 种物品和一个容量是 V 的背包,每种物品都有无限件可用。 第 i 种物品的体积是 vi,价值是 wi。 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。 输出最大价值。 输入格式 第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。 接下来有 ...
分类:
其他好文 时间:
2020-06-04 21:55:11
阅读次数:
72
许久不给大家送东西了。这不,昨天是六一儿童节,咱们应该送点礼物才行。前几期送过几次送linux地图还有背包什么的。有一些朋友表示没有领到,可惜! 这一次,活动重新开场!除了Linux地图,还有更多的奖品!#2、送什么奖品#比如,AR版的地球。 这个玩意拿来装X,说实话,没几个人是对手 当然,知识地图 ...
分类:
其他好文 时间:
2020-06-03 12:12:33
阅读次数:
66
《算法图解》第九章,小偷的背包问题,顺便记录一下: import copy def fillbag(bagsize, goods): bagsvalue = [[{}]*bagsize for x in range(len(goods))] def bestbag( m, n, leftweight ...
分类:
其他好文 时间:
2020-06-03 00:28:35
阅读次数:
68
Q:给定一个由正整数组成且不存在重复数字的数组,找出和为给定目标正整数的组合的个数。 示例: nums = [1, 2, 3] target = 4 所有可能的组合为: (1, 1, 1, 1) (1, 1, 2) (1, 2, 1) (1, 3) (2, 1, 1) (2, 2) (3, 1) 请 ...
分类:
其他好文 时间:
2020-06-02 11:09:57
阅读次数:
54
#include<bits/stdc++.h> const int N=100+10; const int T=5000; using namespace std; int n,t,k,ans; int v[N],h[N],f[T]; int now; //如果不考虑大的,x=t-h[i] //考虑 ...
分类:
其他好文 时间:
2020-06-01 21:08:26
阅读次数:
98
背包问题 Title 组合问题 True、False问题 最大最小问题 题目 377. 组合总和 Ⅳ 494. 目标和 518. 零钱兑换 II 139.单词拆分416. 分割等和子集 474. 一和零322.零钱兑换 公式 dp[i] += dp[i-num] dp[i] = dp[i] or d ...
分类:
其他好文 时间:
2020-06-01 13:53:17
阅读次数:
53
Q:给定不同面额的硬币和一个总金额。写出函数来计算可以凑成总金额的硬币组合数。假设每一种面额的硬币有无限个。 示例 1: 输入: amount = 5, coins = [1, 2, 5] 输出: 4 解释: 有四种方式可以凑成总金额: 5=5 5=2+2+1 5=2+1+1+1 5=1+1+1+1 ...
分类:
其他好文 时间:
2020-06-01 13:36:37
阅读次数:
67
Problem windy有 N 条木板需要被粉刷。 每条木板被分为 M 个格子。 每个格子要被刷成红色或蓝色。 windy每次粉刷,只能选择一条木板上一段连续的格子,然后涂上一种颜色。 每个格子最多只能被粉刷一次。 如果windy只能粉刷 T 次,他最多能正确粉刷多少格子? 一个格子如果未被粉刷或 ...
分类:
其他好文 时间:
2020-05-29 19:40:35
阅读次数:
68