最近偷懒了,没写题解,我很惭愧但我不改嘻嘻
A.直接把三个条件分成三个函数即可
#include
#include
#include
#include
#include
#include
B.
直接拿一个map统计价格即可,如果没出现在map里面价格就是第一个
#include
#include
#include
#include
#include
#include
C.
a[i][0]/(a[i][0]+a[i][1])=b[i][0]/(b[i][0]+b[i][1])
=a[i][0]*(b[i][0]+b[i][1])=b[i][0]*(a[i][0]+a[i][1])
式子转换
吐槽一下我py居然也wa了
#include
#include
#include
#include
#include
#include
D.
dp
状态当前在第i行第j列,且当前要匹配字符串里面的第k个字符
直接记忆化搜索即可类似于滑雪那个题
#include
#include
#include
#include
#include
#include
#include
E.枚举E为终点
假设当前E下标为i
那么这个点贡献就是前面M的01,2个数和后面X的0 1 2的个数做乘法原理
所以预处理出M的前缀个数和X的后缀个数
#include
#include
#include
#include
#include
#include
F.
#include
#include
#include
#include
#include
#include
#include
#include
贪心,能用优惠价格最大的优先用
拿个multiset存当前还能用的价格,如果符合当前优惠卷价格就用,然后把他从multiset种删除
G.
有个结论
如果 x
min(x^y,y^z)<=min(x,z)
所以拿两个multiset一个存当前在集合里面的数,一个存答案
#include
#include
#include
#include
#include
#include
#include