2018年2月25日训练日记

今天必须说一下牛客网上的2018年全国多校算法寒假训练营练习比赛(第五场)

由于个人原因未参加比赛 赛后补完了所有题,但是A题比赛的时候还是看了的

本场主要内容有线段树 树状数组  KMP 并查集 暴力 优化的暴力 推理题

A(逆序数): 求逆序数。这道题刚开始数据有错误,蜜汁WA 20% 扩大数组、改成long long 去重 各种想法都试过了,还是WA。。。最后重判了,给了1A。。。应该用树状数组、归并排序都能做吧,比较裸,就是数据错了有些坑

B(Big Water Problem):这道题其实可以暴力。。。用树状数组和线段树应该也没问题。单点更新区间查询

C(字符串的问题):说难也不难。。。next数组的应用吧,我直接标记小于l的所有的next[i] 然后从next[l]开始找到第一个有标记的地方就是答案,没找到就没有。。。过了。。。数据水了吧

D(集合问题):这道题真是想了好久都没想出来怎么做。。不过显然是用到并查集,看了一下别人的AC代码,直接用map判断a-c[i]和b-c[i]是否在集合中,如果在就把i和map[a-c[i]](map存的是该数在数组中的下标)关联一下,否则关联0,或者把i和map[b-c[i]]关联,否则关联n+1,最后看如果find(0)==find(n+1)就肯定无解,否则find(i)==find(0)就是在A中,否则在B中。

E(情人节的电灯泡):比较裸的二维树状数组或线段树。。。不多说

F(The Biggest Water Problem):同余定理  答案为 (n+8)%9 +1

G(送分啦-QAQ):枚举一下不难发现是斐波那契数列。。直接暴力算出前50项 再暴力判断即可。

H(Tree Recovery):裸区间更新区间查询。。。

打cf了。。。

你可能感兴趣的:(总结:比赛总结,总结:训练日记)