看了网上好多好多好多的代码,能告诉我为啥都用 '>>'这些符号写的么...是感觉很好看么...(确实挺漂亮问题是本来就很蒙的好吧!)还有啊,确实是我实力太差define 定义左右儿子那每次看到函数里就蒙了,我都替换成正常的了
不过幸好在头脑清醒的时候弄明白了一些,虽然现在查询那还是不太懂
好啦好啦不多说了
首先我先把正常有加减乘除符号的代码给贴出来,当初我就是卡在这了,几乎没见到正常的代码= =本来就蒙蒙的
有这里卡住的看到就懂了就不用往下看了,用hdu1166举例子
//hdu 1166 敌兵布阵
#include<cstdio>
#include<cstring>
int sum[55555*4];
void pushup(int rt)
{
sum[rt] = sum[rt*2]+sum[rt*2+1];
}
void build(int l, int r, int rt)
{
if(l == r)
{
scanf("%d", &sum[rt]);
return ;
}
int m = (l+r)/2;
build(l, m, rt*2);
build(m+1, r, rt*2+1);
pushup(rt);
}
void update(int p, int add, int l, int r, int rt)
{
if(l == r)