ZOJ Monthly, March 2014

A:

模拟,队友写的

B:

转化到十进制后暴力sqrt(n)判素数,不要问我为什么,后面都不是素数。。队友写的

D:

二分图最大权独立集

对于x^y为奇数的点i和点j,xi^yi^xj^yj为偶数,而p也为偶数,所以gcd至少为2,所以奇数点之间互不冲突

对于x^y为偶数的点同理

因此将互相冲突的点之间连边,可以得到一个二分图,做最大权独立集 == 总权和-最小割 

E:

将每个球向他4个方向的最近点连边,那么答案就是连通块的个数,因为每个连通块总是有办法能够弹得只剩一个

对于一个连通块,必须保证在弹的过程不会使联通块增加,

要保证这个性质,只需要按照dfs序或bfs序,逆序删点即可。删的方向,设为dfs或bfs树中该点的父亲方向就可以了

恩,队友写的

F:

对于每一个点,把所有点按照该点以极角序排序,然后顺序枚举边,再去找凸包上直线左侧最远点,而这个满足凸性,因此可以从前一次找到的凸包上的点继续往前找,直到距离不增加为止。那么复杂度是O(n^2lgn)

H:

题意为求原图删掉最多K条边后的最大流的最小值

由最大流最小割定理,可以通过降低最小割的容量来减少最大流,因此就是把一个割集的最大K条边删掉以得到尽量小的割

因此2^n次枚举所有的割,维护删掉割集中K条最大边后的最小割,就是答案

I:

无脑平衡树

只需要敲啊敲啊敲就能AC了

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值