menu zcmimi's blog

arrow_back 背包

能凑出的钱: 使用多重背包(二进制优化)

找零: 使用完全背包 ```cpp

include<bits/stdc++.h>

namespace ZDY{

#pragma GCC optim
zc
2020-02-27 22:12

按斜率建图

然后跑背包 ```cpp

include<bits/stdc++.h>

namespace ZDY{

#pragma GCC optimize(3)
#define i
zc
2020-01-20 23:48

f[k][i][j]表示前k种面值,Ai元,Bj元最少交换几张 ```cpp

include<bits/stdc++.h>

namespace ZDY{

#pr
zc
2020-01-19 21:11

先考虑每种硬币可以用无数次

f_i表示金额为i有多少种方案

f_i = \sum_{j=1}^4 f_{i-c[j](i \ge c_j)}

我们再来考虑硬币使用次数有限制怎么办

zc
2019-12-21 19:47

如果没有时间限制那就是一个裸的完全背包

我们可以先按时间从大到小排序,保证如果选了后面作业能选的话不会影响当前作业

接着背包求出每天的最小花费 ```cpp

include<bits/stdc+

zc
2019-12-21 19:47

Rainbow-Ride top: 0


用并查集合并联通块,然后背包 ```cpp

include<bits/stdc++.h>

namespace ZDY{

#pragma GC
zc
2019-12-21 19:47

保证这个数不会超过500000

那么就是背包了

买卖股票有3种方法:

  1. 买,第二天卖了

  2. 不买(相当于买了然后卖了)

  3. 买了,过几天再卖(相当于买了了,接下来卖了

zc
2019-12-21 19:47

题目描述

对于一个整数集合,我们定义“加等式”如下:集合中的某一个元素可以表示成集合内其他元素之和。如集合{1,2,3}中就有一个加等式:3=1+2,而且3=1+2 和3=2+1是相同的加等式

zcmimi
2018-10-14 00:16:00
1 / 1
Search
search