Codeforces Round #225 (Div. 2)做题感想

来源:互联网 发布:facebook关闭人工智能 编辑:程序博客网 时间:2024/05/21 10:24

Volcanoes这题:

首先我一开始的想法是回溯。然后想怎么在这个基础上优化。想法固然好。但并不适合于这个题目。这个题目是只能往右或往下走。所以直接动态规划就可以了。在这个基础上再优化就比较容易想了。要学会开放的想问题,如果想到记录范围。这题就解决了。

快排写的时候,之前我说的改>=为>的,只能解决相同的数的情况。但不能解决已经有序的情况。这个必须要”换数“。你懂的。实际情况下用这两种优化基本够了。

二分查找写的时候,把l=r,l=r-1,l=r-2的情况考虑清楚就行了。什么时候加什么时候不加。写的时候小心,若l一开始可能大于r,特别要注意考虑……我就犯了这个坑爹的错误。。。

int find(int l,int r, int a){if(l==r && pb[l]>=a) return max(pa[l],a);elseif(l==r && pb[l]<a) return n+1;if (pb[(l+r)/2]>=a) return find(l,(l+r)/2,a);else return find((l+r)/2+1,r,a);return n+1;//l>r的情况未考虑,死循环了。。。}

Propagating tree这题:

一个数据结构:树状数组,好好理解。

注意一个int *a,b。b不是指针!

0 0
原创粉丝点击