i429. 4. 內積 (時限放寬版,給 Python 使用者)
標籤 : APCS DP LCS 枚舉 貪心法
通過比率 : 161人/189人 ( 85% ) [非即時]
評分方式:
Tolerant

最近更新 : 2022-06-13 16:12

內容

輸入兩個長度分別為 nm 的陣列

A1,A2,,An 以及

B1,B2,,Bm

 

你可以自由決定是否要將 A,B 做翻轉(reverse),也可以自由決定一個正整數 r

目標要在 A,B 分別找一個長度 r 的子區間(subarray),並讓這兩個子區間的內積最大化。

 

內積的定義如下:

假設在 A 陣列選出了一段長度 r 的子區間 Ai,Ai+1,Ai+2,,Ai+r1

並在 B 陣列選出了一段長度 r 的子區間 Bj,Bj+1,Bj+2,,Bj+r1

這兩個子區間的內積就是 AiBj+Ai+1Bj+1+Ai+2Bj+2++Ai+r1Bj+r1

也可以寫成 k=0r1Ai+kBj+k

輸入說明

第一行輸入兩個正整數 n, m (1n,m1000),接下來一行有 n 個整數 A1,,An,接下來一行有 m 個整數 B1,,Bm,陣列的數值絕對值均不超過 100。

 

子題配分

  • (20%): 1n,m200
  • (80%): 無額外限制
輸出說明

輸出一個整數代表內積最大值。

範例輸入 #1
5 5
-3 -3 3 3 -3
2 2 2 2 2
範例輸出 #1
12
範例輸入 #2
5 5
-3 -3 -3 5 -5
-5 5 -3 -3 -3
範例輸出 #2
77
範例輸入 #3
4 3
1 2 3 4
-1 -2 -3
範例輸出 #3
-1
測資資訊:
記憶體限制: 256 MB
公開 測資點#0 (5%): 2.0s , <1K
公開 測資點#1 (5%): 2.0s , <1K
公開 測資點#2 (5%): 2.0s , <1K
公開 測資點#3 (5%): 2.0s , <1K
公開 測資點#4 (5%): 2.0s , <1M
公開 測資點#5 (5%): 2.0s , <1M
公開 測資點#6 (5%): 2.0s , <1M
公開 測資點#7 (5%): 2.0s , <1M
公開 測資點#8 (5%): 2.0s , <1M
公開 測資點#9 (5%): 2.0s , <1M
公開 測資點#10 (5%): 2.0s , <1M
公開 測資點#11 (5%): 2.0s , <1M
公開 測資點#12 (5%): 2.0s , <1M
公開 測資點#13 (5%): 2.0s , <1M
公開 測資點#14 (5%): 2.0s , <1M
公開 測資點#15 (5%): 2.0s , <1M
公開 測資點#16 (5%): 2.0s , <1M
公開 測資點#17 (5%): 2.0s , <1M
公開 測資點#18 (5%): 2.0s , <1M
公開 測資點#19 (5%): 2.0s , <1M
提示 :

範例測資一可以將 aA3, A4bB1, B2,內積起來為 12

範例測資二可以將 aA1, A2, A3, A4, A5bB5, B4, B3, B2, B1,總和為 77

範例測資三可以將 aA1bB1,總和為 1

標籤:
APCS DP LCS 枚舉 貪心法
出處:
2022年6月APCS [管理者: algo.seacow@ ... (演算法海牛) ]

本題狀況 本題討論 排行

編號 身分 題目 主題 人氣 發表日期
32643 a0916933001@ ... (小律) i429
C++ 題解
521 2022-10-25 12:13
31151 u11031107 (立波器) i429
821 2022-07-15 10:05