8月17日集训

来源:互联网 发布:数据有效性输入信息 编辑:程序博客网 时间:2024/05/23 15:47
        今天主要看博客的习题,发现树状数组的模板题有几个规律,首先有些树状数组要求按顺序正好一边往数组里加数一边输出就可以了,而如果输入的是二维坐标并按顺序输入的话的话,可以吧二维压缩成一维,树状数组求逆序数的题有时候会出现相同的数,这时候要处理两个数,比如a【i】=a【i-1】,这样就可以了。下午比赛,感觉很爽,首先看的f题,队友看出的题意,题意非常简单,就是求几个数差的绝对值的和,但就怕超时,想了半天推出了公式,首先要把求所有数的和,然后减去这个数a【i】*n,在加上2(a【i】*i-sum【i】),其中sum【i】就是前i项的1和,i从1到n后前两项就约去了就剩下2(a【i】*i-sum【i】)这个了,但wa了好几发,因为用了int类型的数,小了,改成long long后就输出少了两个l,又错了一发,就A了,然后c题看懂了是最短路径,加记忆,WA了好几发,后来发现,循环有地方写错了,无奈。再看b题,二分题,刚开始因为0和25能不能去掉讨论了很久,后来发现是不能的,就过了,a题发现是贪心了,但是题意题理解错了,都怪下面两头牛怎么放都是没有风险的,哭,但贪心没贪错,首先吧所有的体重算出来,然后吧开始放最下面那头牛,放体重+耐久最大的那头牛,然后和减少体重,这样就算出来了,不过,如果还剩下体力,要输出负值,不然会WA。d题是一道单调队列,刚开始和队友各种找规律,找到一个推翻一个,突然,我说,这不是单调队列吗,队友一想也是啊,然后用暴力过了.....e题越看越熟悉,发现是好像是以前做过的题然后各种问队友,队友也忘了,表示很无奈,最后表示背包a不了就放弃了,最后看题解发现原来用dfs,马上就想起来以前的原题了....