2019年9月12日

经典排序背包——cf1203F

摘要: 先把收益为正数的处理掉:策略是挨个扫,扫n遍,碰到能买的就买,然后可以得到一个更新后的r 剩下的就看做是一个背包模型:物品(a,b)表示当背包体积>a时才能装下体积为b的该物品,问最多装几个 无序枚举所有物品显然错误,要选择先买哪个更优 对于两个物品(ai,bi),(aj,bj),有两种顺序 先买i 阅读全文

posted @ 2019-09-12 21:49 zsben 阅读(372) 评论(0) 推荐(0)

思维+贪心——cf1042D

摘要: /* 首先考虑从后往前计算lis,显然0的在很多情况下的贡献要大于1 如果遇上0,那么lis++,如果遇上1,那么cnt1++,并且用cnt1更新lis 这样的贪心保证正确,因为从[i,j]这一段的lis必定是前一段0,后一段1这样的构成,当前面多了个0时,显然lis+1 当前面多了个1时当且仅当区间1的个数大于lis,才能让lis+1, 因此当且仅当后缀[i,n]中1的个数大于lis时,对于所有 阅读全文

posted @ 2019-09-12 17:18 zsben 阅读(181) 评论(0) 推荐(0)

分块——cf1207F

摘要: 这么傻逼的题当时想了那么久 用a数组维护原序列,b[i][j]表示 pos%i=j 的 a[pos]之和 对于每个修改1 x y,先直接修改a[x],然后枚举i=1..700,修改b[i][x%i] 对于每个查询2 x y,如果x>700,那么我们直接去a数组里枚举i=kx+y, 如果x<700,b 阅读全文

posted @ 2019-09-12 13:41 zsben 阅读(169) 评论(0) 推荐(0)

线段树双tag+差分数组——cf1208E

摘要: 写了一上午 阅读全文

posted @ 2019-09-12 11:58 zsben 阅读(216) 评论(0) 推荐(0)

构造——cf1213E

摘要: 分情况讨论,构造很简单 阅读全文

posted @ 2019-09-12 00:18 zsben 阅读(188) 评论(0) 推荐(0)

导航