Europe - Southwestern - 2006/2007 简明解题报告

A:

求N由每堆只能n^3,n*(2n+1)*(n+1)/6,构成的最少堆数,简单DP,先预处理所有结果,再读入一个输出一个,否则要超时.

B:

Undo

C:

并查集合

D:

网络流,对每个航班拆点,拆掉的两点间容量为航班人数,所有航班间满足时间条件和有公共位置连边,容量inf,超级源连起点,容量inf,终点连超级汇,容量inf.

E:

DP,注意数据里有空格,用scanf超时,cinWA,gets才是AC.

F:

对于5,50特判,因为2*5=10,2*50=100,可以枚举哪些人有奇数个5,50,偶数的话等价于没有5,50但是多了一半5的个数的10,50个数的100

G:

BFS

H:

模拟加拓扑排序,注意里面的remove是指把这个vechils彻底拿出矩阵,不是只要不堵住指定列就行,这样好写很多,否则构图都构不来.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值