[6-6]考试总结

检查边权

给你一幅新有向图和原有向图,判断是否满足一下条件:
所有边为非负整数且原图中任意两条路径的差在新图中的差仍然相等。
也就是说每一条起点终点一样的路径权新图和原图的差为定值。
对于一条有向边,连一条边,权值为边权的改变量,连一条反边,边权为负改变量。搞出生成树,算出每个点到根的距离。然后依次检查每一条非树边,看它所连接的两个点的距离差是否等于这条边的边权,不是就是No。

计数器

平面上给定一个矩形,每个整点上都有一个计数器。有两种操作,都是在以原点为圆心,r为半径的圆内给计数器区间加减,询问和。
首先求出离原点距离的平方为k的点有几个,然后求一下前缀和。对于一个询问,设它询问r。我们统计 r2 到正无穷累加了多少标记设为a,那么对答案贡献了a*sum[ r2 ],然后0到 r2 则要统计加权的和。
具体是这样,维护两个树状数组。若在r内加d,则在第一个树状数组的 r2 处加上sum[ r2 ]*d,在第二个树状数组同样位置加上d。
查询就是第一个树状数组0到 r2 +第二个树状数组 r2 到正无穷 × sum[ r2 ]。
sum是个数的前缀和。
上述没有考虑边界。

做任务

给你5种物品,初始有一千个,还有一些任务,每个任务对于每种物品都有一个得失,要么得1要么失1要么不得,任务之间有限制关系,即做i必须先j。求第一件物品最大,如果相等那么第二件…
显然是最大权闭合子图,由于每件物品权重不同,第一件物品就用它*10000000,第二件就*100000…再相加,差不多这个意思。
网络流建模是,原图上的边容量INF,每一个正权点,从源点连容量为权值,负权点连向汇,权值为绝对值。答案就是正权点和减最小割。

总结

第一题以前记得一个类似题是差分约束系统,一直搞想不出。
以后第一题最多搞70min!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值