首页 > 其他 > 详细

XIX Open Cup named after E.V. Pankratiev. Grand Prix of Eurasia, Division 1.

时间:2019-10-14 18:46:50      阅读:185      评论:0      收藏:0      [点我收藏+]

 

A

签到。

 

C

源点向每个软件连边。把每个软件拆成对应版本数个点,每个软件向版本连边。把每个conflict也看成一个点。每个版本向它对应的conflict连边,conflict向汇点连边。没有在conflict里的版本直接向汇点连边。所有边的容量都是$1$,跑最大流即可。conflict的意思也就是这些点最多只能选一个,那么拆点并限制容量即可。

 

D

把每个点跟它有限制的点加入一个set,加边时用并查集维护,然后启发式合并两个set就行了。

 

E

签到。

 

H

这一看到一定是二分啊。然后T了一整场。

在eps到1e-7之后这种写法就很容易T了。

分数二分就用限定一下循环次数。

踩坑

 

 

I

题意就是有$n$条线段顺序加入,以及$n$个查询某个点在多少条线段上。

如果输入都是整数的话就是傻逼题。但是这个题输入都是实数,最多到小数点后六位。

把所有输入都乘以$1000000$,然后一个动态开点的线段树可以解决这个问题。

不过写法有点神奇,不用pushup,如果这个点进入了这个区间,那么这个区间的值就对答案有贡献,然后往下走就行了。

要用到llround函数。

 

 

J

堆里面存一下当前坐标,到这个地方turn的次数以及当前的MP数。用turn来做优先队列比较的参数。跑迪杰斯特拉就行了。

 

K

 

不想做。

XIX Open Cup named after E.V. Pankratiev. Grand Prix of Eurasia, Division 1.

原文:https://www.cnblogs.com/Mrzdtz220/p/11673090.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!