【Luogu1616】疯狂的采药
题面完全背包题解#includeusingnamespacestd;constintmaxn=100010;intn,m,c[maxn],w[maxn],f[maxn];intmain(){cin>>m>>n;for(i…
题面完全背包题解#includeusingnamespacestd;constintmaxn=100010;intn,m,c[maxn],w[maxn],f[maxn];intmain(){cin>>m>>n;for(i…
题面01背包注意输入线体积再物品个数题解//f[i][j]:当前在选第i个物品,剩余体积为j时能获得的最大价值。#includeusingnamespacestd;constintmaxn=1010;intn,m,w[m…
题面传送门传送门2题解如果没有相邻限制的话,我们开一个大根堆每一次取最大的就行了,但是如果存在限制,我们就加入一个后悔操作,来做调整贪心。首先如果我们选择了一个点i,那么其相邻的点i−1,i+1,都不能选了,所以我们删除…
题面已知一个数列,你需要进行下面三种操作:1.将某区间每一个数乘上x2.将某区间每一个数加上x3.求出某区间每一个数的和题解区间修改+区间查询。维护两个LazyTag#include#includeusingnamesp…
题面已知一个数列,你需要进行下面两种操作:1.将某区间每一个数数加上x2.求出某一个数的和题解1单点查询+区间修改。-。-说了树状数组模板那就用树状数组。树状数组维护差分数列即可(差分前缀和是逆操作,树状数组原先的区间查…
题面维护一个数列,提供以下两种操作:1、查询操作:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。2、插入操作:将n加上t,其中t是最近一次查询操作的答案(如果还未执行过查询操作,则t=0),并将所得结果对一个固…
题面YouhaveNintegers,A1,A2,…,AN.Youneedtodealwithtwokindsofoperations.Onetypeofoperationistoaddsomegivennumberto…
题面已知一个数列,你需要进行下面两种操作:1.将某区间每一个数加上x2.求出某区间每一个数的和题解区间修改+区间查询线段树模板#include#definemaxn100010#definelchpR||r>1,ans=…
题面RMQ问题题解线段树#include#includeusingnamespacestd;constintmaxn=100010;inta[maxn];structnode{intl,r;intval;}sgt[max…