![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
背包
Dicer_
A imaginative boy!(i think~~)
展开
-
【UVa】562 - Dividing coins(思维,01背包)
题目 两个海盗让你分金币,如果他们两个分到的金币差的绝对值不是最小的他们就会杀了你。 改变思路,假设金币总和为sum,相当于你拥有sum/2的背包,求最大价值,然后就变成了最简单的01背包了。 AC代码: #include<iostream> #include<algorithm> #include<stdio.h> #include<stri原创 2018-08-07 17:08:08 · 116 阅读 · 0 评论 -
【杭电oj】2955-Robberies(思维,小数01背包)
题目 题目很经典,有两个思维的转换,一个是用钱数dp,还有一个是将被抓几率转化为逃跑几率。 AC代码: #include<iostream> #include<algorithm> #include<stdio.h> #include<string.h> using namespace std; double dp[1原创 2018-08-07 17:46:56 · 167 阅读 · 0 评论 -
【杭电oj】2639 - Bone Collector II(Kth-ZeroOnePack)
题目 题意求出Kth大的背包价值,不同组成但价值相同的背包视为同一种。 经典问题,一个比较详细的解答:https://blog.csdn.net/Lulipeng_cpp/article/details/7584981 AC代码: #include<iostream> #include<string.h> using namespace std; int co...原创 2018-08-07 20:31:39 · 129 阅读 · 0 评论 -
【杭电oj】2069 - Coin Change(限制完全背包)
题目 有1,5,10,25,50物种硬币,求一个数n最多可以有几种组合方式,且总硬币数不超过100。 dp[i][j] : i表示当前硬币数,j表示背包大小,dp表示组合数。 先打一个表然后O(1)查询 AC代码: #include <iostream> #include <stdio.h> #include <string.h> #define ...原创 2018-08-08 11:18:20 · 769 阅读 · 0 评论 -
【POJ】2392 - Space Elevator (多重背包,贪心)
题目 先将多重背包转换成01背包,然后贪心排序求最大值。 AC代码: #include<iostream> #include<stdio.h> #include<algorithm> #include<string.h> #define inf 1ll<<30 using namespace std; int dp[41111...原创 2018-08-08 15:29:09 · 164 阅读 · 0 评论 -
【杭电oj】2126 - Buy the souvenirs(01背包方案数)
题目 dp[i][j]表示买i个物品花j元的种类数dp[i][j]表示买i个物品花j元的种类数dp[i][j]表示买i个物品花j元的种类数 AC代码: #include<bits/stdc++.h> using namespace std; int a[33],dp[33][555]; //dp[i][j]表示买i个物品花j元的种类数 int main()...原创 2018-08-08 17:14:39 · 227 阅读 · 0 评论 -
ACM-ICPC 2018 焦作赛区网络赛
题目链接 1000ms ...原创 2018-09-17 18:39:22 · 487 阅读 · 0 评论