摘要:
题意:完全背包 思路:完全背包 可以直接转化为 多重背包,num[i]=_v/c[i];//转为多重背包然后运用 多重背包 3种解法如下码1: #include<iostream> #include<stdio.h> #include<string.h> using namespace std; i 阅读全文
摘要:
题意:给出经费的最大值n,再给出 种类m和每种的袋数c、价格p、重量h,求能买大米的最大重量 思路:每种物品有一个固定的次数上限。为多重背包问题。转换为01背包来做 以下方法,均为转化为01背包来做思路1:物品不摊开,选取每一种时,进行讨论,(相当于竖着填背包v的一列,一列一列的填码1:kj #in 阅读全文
摘要:
题意:给出包裹的大小v,然后给出n块骨头的价值value和体积volume,求出一路下来包裹可以携带骨头最大价值 思路:01背包 1.二维数组(不常用 #include<iostream> #include<stdio.h> #include<math.h> using namespace std; 阅读全文
摘要:
题意:求坐标0到x间的点的个数思路:线段树,主要是转化,根据题意的输入顺序,保证了等级的升序,可以直接求出和即当前等级的点的个数,然后在把这个点加入即可。注意:线段树下标从1开始,所以把所有的x加1存储。#include#include#includeusing namespace std;#def... 阅读全文
摘要:
题意:区间和思路:线段树#include#includeusing namespace std;#define MAXN 50005int ans;struct node{ int left,right,sum; int mid(){ return (left+right)... 阅读全文
摘要:
题意:求坐标0到x间的点的个数 思路:树状数组,主要是转化,根据题意的输入顺序,保证了等级的升序,可以直接求出和即当前等级的点的个数,然后在把这个点加入即可。 注意:树状数组下标从1开始(下标为0的话会出错),所以把所有的x加1存储。 #include<iostream> #include<stdi 阅读全文