关于分划那点破事
数组下标首尾差为首尾长度减一,这是显然的。
但是到了稍微复杂的情况,脑子一没转过弯就会漏个减一或者多个减一,还有可能出现缺头漏尾的情况
昨天一个简单dp就因为分划的位置没搞清楚debug的快吐血,今天痛下决心发个博客规定住以后这种涉及数组分划的标准
对于一个a[n],其下标为0~n-1,以par表示划分时记录位置的变量
令par=k表示:1.划分点左侧第一个元素为k-1
2.划分点右侧第一个元素为k
3..划分点左侧有k个元素
4..划分点右侧有n-k个元素
故此时对a从头到尾扫描一遍的话par的取值就为par=0;par<=n
二分的结构就是这样par(s,e)
{if(s!=e)
{par(s,(e-s)/2);
par((e-s)/2-1,e);}}