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

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);
	else
	if(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不是指针!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值