這題起初以為是乙個找規律題,然後就各種打表找規律,然而最後發現並不能找到什麼規律,
其實是乙個遞推題目,主要就是看你能不能想到怎麼取遞推:
題目所求所有c之間的距離,又因為相加的性質,兩邊的單獨處理是不變的,每次拼接之後多出來的只是兩邊各乙個的情況,有了點分治的味道。而左右兩邊的情況則不妨將這段距離差分成x,y兩部分分開計算。對於左串來說,每乙個c都要和右串所有的c進行一次配對,所計算的距離是當前c距離拼接位置(也就是左串的末尾)的距離,所計算的次數為右串中c的個數。對於右串來說,每乙個c都會和左串的任意個c進行配對,計算的距離亦是距離拼接位置的距離(可以利用補集的思想去求),計算的次數是左串中c的個數。
則遞推關係為:
dp[i] = dp[i-1]+dp[i-2]+dis[i-2]*num[i-1]+(len[i-1]*num[i-1]-dis[i-1])*num[i-2];(dis代表當前串中c到末尾距離和,num表示c的個數,len表示長度)
同時:len[i] = len[i-1]+len[i-2];
num[i] = num[i-1]+num[i-2];
dis[i] = dis[i-1]+dis[i-2]+num[i-2]*len[i-1];
acwing 4305 斐波那契字串
目錄fib演算法求解 參考文章 斐波那契數列指的是這樣乙個數列 1 1 2 3 5 8 13 21 34 1 1 2 3 5 8 13 21 34 在數學上,斐波那契數列以如下遞推的形式定義 f 0 1,f 1 1,f n f n 1 f n 2 n 2,n n f 0 1,f 1 1,f n f ...
hdu2920 字串雜湊
模式串中 把它分成一截截,當某一截在s串中多個位置能找到匹配,找第乙個匹配點,貪心 因為當中間有 可以利用它跳過一些字元,當遇到 先跳過乙個字元,其他的一截截貪心去找到匹配位置,若最後剩餘偶數個字元,則match 第一截和最後一截如果是非 和 必須嚴格匹配 找來的雜湊寫法 include inclu...
HDU 2017 字串統計
problem description 對於給定的乙個字串,統計其中數字字元出現的次數。input 輸入資料有多行,第一行是乙個整數n,表示測試例項的個數,後面跟著n行,每行包括乙個由字母和數字組成的字串。output 對於每個測試例項,輸出該串中數值的個數,每個輸出佔一行。sample input...