洛谷 P839 NOI導刊 數頁碼

2022-08-15 21:00:16 字數 689 閱讀 1758

題面

一道找規律好題...

首先,我們肯定只能一位一位的統計答案,考慮從高位向低位統計,顯然這樣要方便的多.

對於第i位,我們統計從$a[i+1]*10^i+0$到$a[i+1]*10^i+a[i]*10^-1$對答案的貢獻.

($a[i]$表示原數的第i位)

顯然0~10^(i-1)-1中的每乙個數都是作為上述某個數的一部分出現過的,且他們的出現次數都為a[i](第i位從0~a[i]-1,最後一位除外,出現a[i]+1次).所以有$(a[i]+(i==1))*sum[i-1]$的貢獻.

(sum[i-1]表示0~10^(i-1)-1對答案的總貢獻)

然後考慮剩下的高位對答案的貢獻.首先考慮第i位,第i位的數字從0~a[i]-1出現的次數都為10^(i-1),第i位以前的數字與原數第i位以前的數字相同,所以前i位對答案的貢獻為:

$(a[i]+(i==1))*s[i+1]+num[a[i]-(i!=1)])*ten[i-1].$

(s[i+1]表示前i-1位的字首和,注意是從高位往低位,num[i]表示0~9的字首和)

eg:123

i==3  統計0~99  (1*0+0)*10^2+1*900

i==2  統計100~119  (2*1+1)*10^1+2*45

i==1  統計120~123  (3*4+6)*10^0+4*0

ans=1038

洛谷 P4768 NOI2018 歸程

題目 歸程 歸程 思路 1 一種海拔 30 求最短路。詢問時,海拔 0,輸出0 否則輸出dist v 2 鏈 15 離散化。預處理出不同海拔 每個點開始到起點的答案,查表輸出。3 樹 10 樹上倍增。4 kruskal重構樹 樹上倍增。做kruskal時,在並查集路徑壓縮時,同時存下樹的心態。即,在...

洛谷 P2048 NOI2010 超級鋼琴

給出乙個序列,求和最大的k個連續子串行的和,且連續子串行長度在l與r之間.首先預處理出字首和,我們可以從左端點開始考慮,若左端點為i,則右端點在i l 1與i r 1之間,那麼可以計算出這些區間的最大值,然後放到堆裡去,每次從堆中取出最大值加到ans中後再將該區間左右兩區間的最大值放入堆中.也就是說...

洛谷P4174 NOI2006 最大獲利

新的技術正衝擊著手機通訊市場,對於各大運營商來說,這既是機遇,更是挑戰。thu 集團旗下的 cs t 通訊公司在新一代通訊技術血戰的前夜,需要做太多的準備工作,僅就站址選擇一項,就需要完成前期市場研究 站址勘測 最優化等專案。在前期市場調查和站址勘測之後,公司得到了一共 n 個可以作為通訊訊號中轉站...