用户工具

站点工具


2020-2021:teams:no_morning_training:weekly:week13

2020/08/22--2020/08/28


团队训练

暂无


王瑞琦

比赛

专题

出行,摸了_(:з」∠)_

冯宇扬

比赛

665 div 2

专题

常程

比赛

专题

这周摸了(学校有一个小作业来着

本周推荐

王瑞琦

冯宇扬

665 div 2 E:
题意: 一个顶点为 (0,0) (1e6,1e6) 的正方形,给定一些线段(保证和其中一边接触) 求这些线段将正方形分为几个部分
题解: 先考虑竖的线段,分别考虑于 y=0 和 y=1e6 相接的(同时接触的特殊处理)。这里只讨论 y=0 的那一类,另一类是显然的。
对另一个端点的y进行排序,然后对横着的线段也按y排序。按照y从小到大枚举横的线段,将 竖着的线段中 上端点y值⇐当前枚举横着的线段的y 的那些线段加入一个树状数组,关键字是x(显然每个线段只需要被加入一次)。显然 这些竖线段中 x被当前枚举的线段的x的范围覆盖住的那些,会与该横着的线段有交点。 所以,在树状数组上区间求和,就是交点个数,也就是对答案的贡献了

常程

2020-2021/teams/no_morning_training/weekly/week13.txt · 最后更改: 2020/08/29 17:01 由 发源于