ACM周中总结—9月7日

来源:互联网 发布:人工智能领域 编辑:程序博客网 时间:2024/06/05 04:11

        这半个周并没有在做题,因为是在不会做,除去线段树的简单题其他的题完全看懂的不到5道,十分吃力。

        有两道印象深刻的题目。染色和区间合并的题。

        利用线段树对区间进行操作的题还算挺简单,无非就是基本操作,可到后面。。。记得有道关于区间染色的题,给出n条线段(全部垂直于x轴),如果有其中两线段可以用平行于x轴的线段相连,且不与其他线段交,那么称其水平可见,如果有三条线段两两可见,成为三角,求有多少三角。这道题思路还算简单,只要求出map[i][j]第i条鱼第j条是否可见,然后就好解决了,将每一条线段按x排序,找出该线段与左边所有线段的关系,对该线段利用y值建立线段树,找出线段树与之前i-1个线段的连接关系。彻底弄懂这个废了不少时间,还是太菜。。。

      另外,还有一个印象深刻的是关于区间合并的,给了长度为n的整数序列,查找(a,b)中连续区间中元素加和最大值,与左右端。这道题求(a,b)的和最大区间要不在(a,(a+b)/2),或在(((a+b)/2)+1,b),或者跨越中值,因此利用线段树对最大值,左端,右端,建立线段树,区间。这道题它的代码看懂实在不易,明天还要把它再敲一遍,加深线段树的理解。

      许多题目都还没看懂,包括上面区间合并的题,代码还有许多疑问,明早还是再看看其他博客大牛写的代码,然后在敲一遍。    

      

原创粉丝点击