用户工具

站点工具


2020-2021:teams:hotpot:ctuopencontest2016

这是本文档旧的修订版!


比赛信息

  • 日期:2020.5.9
  • 做题情况:lxh(B),tyx(J{G}),gyp(FI)

题解

按照一行的树为单位扫描线即可,少于一半加一行,多于一半减一列,等于一半统计答案。因为要分别判断四个角所以需要做四次。每次先按某一个坐标排序,从小到大或从大到小加,多了就从大往小或者从小往大删,每次维护一个大根堆或小根堆即可。

B - Hot Air Ballooning

solved by lxh

题意

数据范围

题解

F - Tree Stands

solved by gyp

题意

数据范围

题解

G - Orchard Division

solved by tyx

题意

有一块$M \times M$的田地,其中有$N$棵树,主人现在想卖掉尽可能多的地,但是保留所有树总数的恰好一半。不仅如此,主人想要保留的地必须是一块矩形且包含了整个$M \times M$矩形的至少一个角,问留下的地最小是多少。

数据范围

$M \le 10^9,N \le 10^6$

题解

I - Suspicious Samples

solved by gyp

题意

数据范围

题解

J - Colorful Tribune

solved by tyx

题意

有一个$N \times N$的方阵,每一行和每一列都由$N$个不同的字母组成,现在有一个字母放错了位置,问是哪一个。例如:

ABC
BCA
BAB

中第三行第一个字母应该是C。

数据范围

$3 \le N \le 26$

题解

先从前三行找到两行的字母集合相同,可以用多种方式,我这里用的是一个26位的2进制数,然后开始找不合法的地方。如果一个字母在一行或一列出现两次就不合法,或者一个字母没有出现在我们刚刚找到的字母集合里就不合法。找到后输出即可。

Replay

第一小时:

第二小时:

第三小时:

第四小时:

第五小时:

总结

  • 一定要注意有没有多组数据!
2020-2021/teams/hotpot/ctuopencontest2016.1589097732.txt.gz · 最后更改: 2020/05/10 16:02 由 misakatao