多校賽8中題

2021-10-10 03:01:29 字數 2779 閱讀 8165

題目背景:

14 已經想不出新穎的題目背景了,所以他準備用序列來構造矩陣。

題目描述:

wy (機房巨佬) 給了 14 乙個長度為 n

nn 的序列 a

aa 和乙個長度為 m

mm 的序列 bbb。

14 玩序列玩膩了,準備用這兩個序列構造出乙個 n×m

n\times m

n×m 的矩陣 c。

14 規定 ci,

j=ai

×b

ic_=a_i \times b_i

ci,j​=

ai​×

bi​,14 是乙個好奇的小朋友,

他想知道在這個矩陣中有多少個子矩陣的元素之和為 kkk。

其中 k

kk 為 14 給定的乙個常數。

輸入格式:

輸入第一行包含三個整數 n,m

,k

n,m,k

n,m,

k,表示序列 a

aa 的長度,序列 b

bb 的長度以及 14 給出的常數。

輸入第二行包含 n

nn 個整數,表示序列 a

aa 。

輸入第三行包含 m

mm 個整數,表示序列 b

bb 。

輸出格式:

輸出只有一行,表示符合條件的子矩陣個數。

樣例輸入:

3420

2354

632

樣例輸出:
4
題解:

對於乙個左上角為 ai,

bi

a_i,b_i

ai​,bi

​,右下角為 aj,

bj

a_j,b_j

aj​,bj

​,的矩形裡面的元素和

是等於 (∑k

=ija

k)×(

∑t=i

jbt)

(\sum\limits_^a_k) \times (\sum\limits_^b_t)

(k=i∑j

​ak​

)×(t

=i∑j

​bt​

) 因為是 i

ii 至 j

jj 範圍中間所有的 a

aa 陣列裡值的和

就可以先求乙個字首和

b

bb 陣列同理

保證可以二分的條件:

因為所有的 ai,

bi

a_i,b_i

ai​,bi

​ 值都是 1e9

≥ai,

bi≥0

1e9\ge a_i,b_i \ge0

1e9≥ai

​,bi

​≥0

所以在確定左端點的情況下它是單調遞增的。

把 k

kk 的所有因數求出來(不會太多,據 ljs

ljslj

s 所言最多240個左右)

預處理幹完了開始主要部分:

先對 a

aa 陣列列舉左端點在列舉 k

kk 的所有因數

然後對 i

ii 到 n

nn 進行二分

用之前求好的字首和把 a

ia_i

ai​ 到 a[a[

a[二分的值 ]

]]的和調出來看是否等於列舉的 k

kk 的因數

b

bb 陣列同理

然後就完了^_^

上**:

#include

using

namespace std;

#define ll long long

ll x[

1000005];

ll y[

1000005];

ll vis[

1000005];

ll sum[

10005];

ll cnt;

ll a[

50005];

ll b[

50005];

void

read

(ll& x)

while

(c >=

'0'&& c <=

'9')

x *= f;

}int

main()

}for

(int i =

1; i <= n; i++

)for

(int i =

1; i <= m; i++

)for

(int i =

1; i <= n; i++

)else

if(a[mid]

- a[i -1]

> sum[j]

)else}if

(t ==0)

}}for(

int i =

1; i <= m; i++

)else

if(b[mid]

- b[i -1]

> sum[j]

)else}if

(t ==0)

}}ll ans =0;

for(

int i =

1; i <= cnt; i++

)printf

("%lld"

, ans)

;return0;

}

ac**

只有 50

5050

分不知道**錯了

校賽方陣8

描述 給定乙個方形數陣,將方陣內的數轉為八進位制並輸出轉換後的方陣 要求一行內每個數字用乙個空格隔開,行末不允許出現空格 輸入 多組資料 每組資料輸入乙個方陣m,由若干行若干列整數組成,範圍在int內 輸出 每組資料輸出乙個八進位制方陣n,要求見題目描述 每組輸出資料之間無空行 樣例輸入11 8 1...

牛客 多校賽一

a lgv演算法 抄一波 牛客的解釋 wiki 沒耐心看了 lgv 演算法 lindstr m gessel viennot lemma 求以上矩陣的行列式,其中 e a,b 是從a到b的方法數,帶入求行列式即可得到 a1,a2,an 到 b1,b2,bn 的所有不相交路徑的種數 再看這道題,其實就...

2019 3 10湖南多校賽心得

首先本次比賽我們隊是第二十三名,對於還是小菜雞的我們也還算可以,做的好的點是罰時少,做得不好的地方做得慢並且難的題根本沒辦法下手,帶了板子也沒有用到。所以對於此次比賽我覺得有待改進的點有 1.隊伍合作度不高,對彼此的 不熟悉,故而以後每次比賽後各自分享自己的 然後熟悉隊友 特點,並且對隊友有些寫得冗...