十分簡單的計數題。
容易發現所謂長度為 \(3\) 的迴文串其實就是要找兩個相同的字元。所以我們不妨對字串的每一位分別考慮,計算以這一位為中心的迴文串的個數。
對於當前的這一位,我們列舉 \(26\) 個字母,計算每個字母對這一位的貢獻。具體的,我們對每個字母分別維護一個從前往後和從後往前的字首和,分別設為 \(sum\) 和 \(rsum\)。設當前為中間的這一位下標為 \(i\),則字母 \(c\) 對 \(i\) 的貢獻顯然就是 \(sum_{i-1}+rsum_{i+1}\)。
累加答案即可。
提交記錄