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

本文提供了多种算法题目的解析及实现思路,包括简单的动态规划、并查集、网络流等问题,涉及DP、BFS、拓扑排序等核心算法,并特别强调了输入输出方式的选择对程序效率的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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彻底拿出矩阵,不是只要不堵住指定列就行,这样好写很多,否则构图都构不来.

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值