2017.07.07【NOIP提高组】模拟赛A组 的总结
2017-07-07 16:03
232 查看
前言:
因为题目大部分比较简单,所以合在一起写个总结。T1:
“喝喝喝”这是个奇怪的名字。受了集训前新高一做的一道题的启发,很容易想到先求出不合法对,包含它们的区间即为不合法,但是这题不用求矩形覆盖,而且求不合法对也不用求出全部的。
先想想不合法的区间怎么找?其实可以枚举倍数,这样均摊log n,但要是纯心构造也可以卡掉,稳定的是枚举约数,一次是n√。
但是所有不合法的对的个数可能就超了,假设一不合法对的左端点是x,只需要找出一个最左的右端点y,那么区间[1..x - 1, y+1..n]就是不合法的,至于在y的右边的右端点,是所影响的不合法区间是包含y能影响内的。
之后随便扫一下就好了,枚举左区间端点,用了一个multiset维护区间右端点的最小值。据说只用一个桶也行,我比较蠢吧。
T2:
一个联通块必有一个环。找到环,拆开,用线段树维护,环上的每个点下面有一颗子树,直接回溯+multiset+环上的线段树就可以求出答案即可。无限接近于3000bytes的代码,最后两分钟调对样例,拍都没拍交了上去,心里怀着梦想可以对,结果Rp+++++。
比赛后,发现某些人直接倍增700bytes跳过了,焖。
T3:
找规律能力不够强啊,看了那么久都没看出来(看出来的人前面题都炸了)。题解好神奇,数论原来可以这么玩,等到我弄懂了,后面的博客会补充。
相关文章推荐
- 2016.5.21【初中部 NOIP提高组 】模拟赛A 总结
- 2016.07.17【初中部 NOIP提高组 】模拟赛C总结
- NOIP2017提高组模拟赛 8(总结)
- 2017.08.15【NOIP提高组】模拟赛B组总结
- 2017.07.07【NOIP提高组】模拟赛B组小结
- 2016.6.11【初中部 NOIP提高组 】模拟赛C总结
- 2017.3.25【NOIP提高组】模拟赛B组 总结
- {小结}2017.07.07【NOIP提高组】模拟赛A组
- 对【2017.4.22 B组NOIP提高模拟赛】总结
- 2017.08.06【NOIP提高组】模拟赛B组总结
- 2016.07.13【初中部 NOIP提高组 】模拟赛C总结
- 2016.11.5 NOIP提高组模拟赛 总结
- 【初中部 NOIP提高组 二试】模拟赛B总结
- 2017.7.6总结【NOIP提高组】模拟赛B组
- 2016.5.21【初中部 NOIP提高组 】模拟赛A 总结
- 2016.07.16【初中部 NOIP提高组 】模拟赛C总结
- 2016.09.10【初中部 NOIP提高组 】模拟赛C 总结
- 2016.09.24【初中部 NOIP提高组 】模拟赛C 总结
- 2017.07.15NOIP提高组模拟赛B组总结
- 2017.07.07【NOIP提高组】模拟赛B组