组队赛整理

来源:互联网 发布:如何做淘宝卖家 编辑:程序博客网 时间:2024/06/05 07:23

第二场:
线段树:这题自己弄了单点更新区间查询还有单点查询区间更新,,都超时了,,题解说还要建立一个每一个节点的单位价格,,。(还是自己做题少,还有,自己敲了之后,知道要注意取模的时候应该是(ret+xxxx)%mod 如果里面有* 还应该(sum[rt]+1LL*val[rt]*c%mod)%mod; 要不然中间会爆然后返回wa
第二题的判断小数循环的。。。我下来居然不会做, 因为有小数,总是在浮点的时候错。。别人的代码都是把他变为int来看的。。感觉好强。(自己做题太少了)
树的dfs的题两种代码,一种是看数学的问题,dp[i][2]=dp[i][1]-dp[i][0];
第二种是jh的乱搞:

void get1(int now,int fr){    int ret = 0;    for(int i = toedge[now] ; i != 0 ; i = nextedge[i]){        if(ededge[i] != fr){            ret++;            get1(ededge[i],now);        }    }    f1[now] = ret;}void get2(int now,int fr){    int ret = 0;    for(int i = toedge[now] ; i != 0 ; i = nextedge[i]){        if(ededge[i] != fr){            ret+=f1[ededge[i]];            get2(ededge[i],now);        }    }    f2[now] = ret;}

第三场:
D:对于那道求树的最长路径的题目,我又因为没有提问所以没想到最长路径不一定是要经过根的,结果一直找不出错误。GG了
B:自己从S到T匹配。。因为弄了几次,最后想到用新得到的子串判断是否在T里面作为剪枝的方法的时候已经很烦了,觉得自己做不出来了,GG了
一道大水题(开关灯的):自己的代码太丑了。。又慢。。。
别人的代码:(对于这种每隔几位变化的。。

int j=i;j<=len;j+=i//以i为循环light[j] ^= 1;//开关类问题,状态压缩类为题用的方式,就不用时候判断为0的时候怎样,判断为1的时候怎样state[k] = !state[k];//这种是bool state[1010];直接取反for(int i = 0; i < len; i++) {    if(s[i] == 'Y') light[i + 1] = 1;    else light[i + 1] = 0;}//很朴素的对于烦人的数组时从0开始读转换的方式。

H:自己应该是想不出来的。。还没问人。。

接下来应该是做紫书,还有白书,等题目的时候了

0 0
原创粉丝点击