IMO2020 D1T3(欧拉回路)

题目

思路来源

gzchenben的ppt

题解

数竞题,欧拉回路经典问题了,在cf也出过

Codeforces Round #770 (Div. 2) E. Fair Share(欧拉回路)_codeforces 构造 欧拉回路_Code92007的博客-优快云博客

这里再总结一下欧拉回路的这个套路

首先建图,同一种颜色视为同一个点,

由于要满足两堆小石子具有相同的总重量,

可以把4n枚小石子看做是2n对,即(1,4n),(2,4n-1),...,(2n,2n+1)

石子对的内部进行连边,即对于1<=i<=2n,将i和4n+1-i连无向边

只要每一对石子属于同一堆,每一堆有n对,即可实现总重量相等的要求

假设n=3,

4n个石子中,1,2,6,9为A颜色,3,4,5,11为B颜色,7,8,10,12为C颜色,

则可以这么建无向图

A-C (1,12)

A-B (2,11)

B-C (3,10)

B-A (4,9)

B-C (5,8)

A-C (6,7)

其中,前面是边,后面是与之对应的点对

建好图后,发现颜色的n个点,每个点的度均为4,

则图一定有欧拉回路,求出一个欧拉回路,回路共2n条边

可以将这2n条边黑白染色,分为两堆

则:

①由于图上每条边,对应一个点对,即和为4n+1的两枚小石子,

所以总重量相等,且可还原方案

②由于欧拉回路中,点[i]的入度和出度相等,in和out时在序列中的奇偶性也不同

所以按黑白染色,每个颜色的点恰能等分

思考

点的概念很好取,主要在如何建图,

使得图存在欧拉回路,且奇偶染色可以满足要求

1. 本题:n个颜色视为点,将i和4n+1-i连边,

欧拉回路交替取,每条边对应的两个点归属给同一方

点可被两侧等分(边维度):

将欧拉回路对应边的序号写成序列,对于每个点,

其in边和out边在序列位置的奇偶性一定不同

即in边全奇,out边全偶;或in边全偶,out边全奇。

2. cf的E题:n个值视为点,将同组i和i+1连边,

欧拉回路交替取,每条边对应的两个点归属给不同方

点可被两侧等分(点维度):

将欧拉回路对应的边的两个点号写成序列,

例如,u->v->w,则序列写做u,v,v,w,对于每个点,

其in的时间戳和out的时间戳在序列位置的奇偶性一定不同

即in时间戳全奇,out时间戳全偶;或in时间戳全偶,out时间戳全奇。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小衣同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值