用户工具

站点工具


2020-2021:teams:no_morning_training:weekly:week13

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
2020-2021:teams:no_morning_training:weekly:week13 [2020/08/28 14:14]
nomansland [王瑞琦]
2020-2021:teams:no_morning_training:weekly:week13 [2020/08/29 17:01] (当前版本)
发源于
行 11: 行 11:
 ===== 冯宇扬 ===== ===== 冯宇扬 =====
 ===比赛=== ===比赛===
 +665 div 2
 ===专题=== ===专题===
 ===== 常程 ===== ===== 常程 =====
行 19: 行 20:
 ===== 本周推荐 ===== ===== 本周推荐 =====
 ==== 王瑞琦 ==== ==== 王瑞琦 ====
 +
 ==== 冯宇扬 ==== ==== 冯宇扬 ====
 +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.1598595274.txt.gz · 最后更改: 2020/08/28 14:14 由 nomansland