hihocoder offer收割程式設計練習賽58

2022-07-31 15:21:14 字數 2574 閱讀 7029

1.最大的k偏差序列。分析一下資料可以發現,對於連續的2k個資料,只有一種方式可以使結果字典序最大,例如1 2 3 4 5 6 7 8,每4個一組,結果就是5 6 7 8 1 2 3 4。然後不夠一組的就先盡可能交換,剩下的元素逆序就可以了。

1 #include 2

using

namespace

std;

34 typedef long

long

ll;5

const

int maxn = 100005;6

const ll mod7 = 1e9+7;7

int a[105];8

intn,k;910

void

solve()

1121

//printf("i=%d\n", i);

22int

j;23

if (t%2==0) j=n-1;24

else j=t*k-1;25

while (i

2630

return;31

}3233int

main()

3447 printf("\n"

);48

return0;

49 }

view code

2. 孤獨的字元。對於每個字元,統計其所在位置左邊第一次出現的位置和右邊第一次出現的位置。例如hih,對於第乙個h,其左邊出現的位置為0,右邊出現的位置為2,那麼這個h對結果的貢獻就是,(0-0)*(2-0)+(0-0)+(2-0)+1。第一項是左邊和右邊的組合,第二項是當前位置和左邊的組合,第三項是當前位置和右邊的組合,第四項是,當前位置本身。

1 #include 2

using

namespace

std;

34 typedef long

long

ll;5

const

int maxn = 100005;6

const ll mod7 = 1e9+7;7

8char

s[maxn];

9int

l[maxn],r[maxn];

10int vis[256

];11 ll ans=0ll;

12int

n;13

14void

solve()

1522 memset(vis,-1,sizeof

(vis));

23for (int i=0;ii)

2428

for (int i = 0; i < 256; ++i) vis[i]=n;

29for (int i=n-1;i>=0;--i)

3034 ans =0ll;

35for (int i=0;ii)

3642 printf("

%lld\n

", ans);43}

4445

intmain()

46

view code

3. 秋天來了。基本的思路是,對於一組關係a b,那麼a b之間的大雁所在的高度都要減1。這裡採用的做法是,對於一段區間,記錄其減少的高度是多少,例如對於關係a b,需要讓a+1,a+2,...,b-1這段區間減1,那麼我麼可以讓a[a+1]-1,a[b]+1,然後利用a[0..i]的和來表示,對於i這個位置變化的高度是多少。例如對於x<=a,字首和a[0..x]為0,不受影響;對於a+1<=x<=b-1,a[0..x]=-1,就是區間中的每個數都會減1;對於x>=b,a[0..x]=0,因為減1被a[b]處的加1抵消了,所以還是沒有影響。最後我們計算每個位置的高度變化,加上最大高度就可以了。

需要注意的是,這裡的資料報含了1. a==b  2.關係a b 和 b a同時存在的兩種特殊的情況。對於第一種情況,直接忽略就可以,對於第2種情況,需要記錄是否已經處理過,第二次遇到的時候直接跳過。

1 #include 2

using

namespace

std;

34 typedef long

long

ll;5

const

int maxn = 100005;6

const ll mod7 = 1e9+7;7

8int

n, i, maxh, r;

9int

a[maxn];

1011

setint,int>>st;

1213

intmain()14;

28//

if (u+1==v) continue;

29if (st.find(tmp)!=st.end()) continue;30

if (u==v) continue

;31 a[u+1]-=1

;32 a[v]+=1;33

st.insert(tmp);34}

35int high=0;36

for (int i=1;i<=n;++i)

3741

return0;

42 }

view code

發卡行 收單行 收單

size large 發卡機構的主要職能是向持卡人發行各種銀行卡,並通過提供各類相關的銀行卡服務收取一定費用。通過發行銀行卡,發卡機構獲得持卡人支付的信用卡年費 透支利息 持卡人享受各種服務支付的手續費 商戶回傭分成等。收單機構主要負責特約商戶的開拓與管理 授權請求 帳單結算等活動,其利益主要 於商...

常用ColorMatrixFilter收集

2012 05 24 14 23 49 分類 flash 舉報 字型大小訂閱 黑白0.3086,0.6094,0.0820,0,0 0.3086,0.6094,0.0820,0,0 0.3086,0.6094,0.0820,0,0 0 0 0 1,0 對比度 n取值為0到10 n,0,0,0,128...

Windows Live Writer 技巧收集

它和您目前所看到樣式是不是幾乎一模一樣?事實上,我最近才忽然意識到,我們其實可以將其作為乙個 html編輯器 而不是乙個 部落格編輯器 使用。也就是說,我們可以利用它在特定樣式環境下編寫 html內容。由於wlw已經具備了比較常用的功能,且生成出來的html 非常乾淨,因此它的還是乙個比較合適的ht...