昨晚下班回来,比赛还剩半小时,就看了过的人最少的题。
思路倒是一眼秒了,就是太久没写线段树维护字符串哈希值了,直接疯狂WA。
心路历程
一眼秒了有什么好说的,欸,这代码怎么过不了啊
思路
首先,字符串的哈希值相等就可以认为这两个字符串相等。
然后,用线段树维护字符串的哈希值,支持单点修改和区间询问。
最后,在之前的基础上,可以二分求出使得\([l_1, L]\)和\([l_2, L]\)相等的最大的\(L\)以及使\([R, r_1]\)和\([R, r_2]\)相等的最小的\(R\)。
根据\(L, R\)就可以判断是YES还是NO。