นี่คือการติดตามขึ้นไปนับอาร์เรย์ที่ทำให้ชุดไม่ซ้ำกัน ความแตกต่างที่สำคัญคือนิยามของความเป็นเอกลักษณ์
พิจารณาอาร์เรย์ของความยาวA nอาร์เรย์มีจำนวนเต็มบวกเท่านั้น A = (1,1,2,2)เช่น ให้เรากำหนดf(A)เป็นชุดของผลรวมของทุกคนที่ไม่ว่างเปล่า subarrays Aต่อเนื่องกันของ ในกรณีf(A) = {1,2,3,4,5,6}นี้ ขั้นตอนในการผลิตf(A) มีดังนี้:
subarrays ของAreA จำนวนเงินของตนมี(1), (1), (2), (2), (1,1), (1,2), (2,2), (1,1,2), (1,2,2), (1,1,2,2) ชุดที่คุณได้รับจากรายการนี้จึงเป็น1,1,2,2,2,3,4,4,5,6{1,2,3,4,5,6}
เราเรียกอาเรย์ที่A ไม่ซ้ำกันถ้าไม่มีอาเรย์อื่นBที่มีความยาวเท่ากันเช่นนั้นf(A) = f(B)ยกเว้นสำหรับอาเรย์ที่Aกลับด้าน เป็นตัวอย่างf((1,2,3)) = f((3,2,1)) = {1,2,3,5,6}แต่ไม่มีความยาวอื่น ๆ3ที่สร้างชุดของผลรวมเดียวกัน
งาน
งานสำหรับที่กำหนดnและsจะนับจำนวนอาร์เรย์ที่ไม่ซ้ำกันของความยาวนั้น คุณสามารถสรุปได้ว่าsอยู่ระหว่างและ1 9คุณจะต้องนับอาร์เรย์ที่องค์ประกอบที่มีทั้งจำนวนเต็มรับหรือs s+1เช่นถ้าs=1อาร์เรย์ที่คุณกำลังนับเพียง แต่มีและ1 2อย่างไรก็ตามคำจำกัดความของความเป็นเอกลักษณ์นั้นเกี่ยวข้องกับอาเรย์อื่นที่มีความยาวเท่ากัน ในฐานะที่เป็นตัวอย่างที่เป็นรูปธรรม[1, 2, 2, 2]คือไม่[1, 1, 2, 3]ซ้ำกันที่จะให้ชุดเดียวกันของผลรวมเป็น
คุณควรนับการย้อนกลับของอาเรย์รวมทั้งอาเรย์ด้วยตัวเอง
ตัวอย่าง
s = 1คำตอบสำหรับ n = 2,3,4,5,6,7,8,9 คือ:
4, 3, 3, 4, 4, 5, 5, 6
สำหรับs = 1อาร์เรย์ที่เป็นเอกลักษณ์ของความยาว 4 คือ
(1, 1, 1, 1)
(2, 1, 1, 2)
(2, 2, 2, 2)
s = 2คำตอบสำหรับ n = 2,3,4,5,6,7,8,9 คือ:
4, 8, 16, 32, 46, 69, 121, 177
ตัวอย่างของอาร์เรย์ที่ไม่ซ้ำกันs = 2คือ:
(3, 2, 2, 3, 3, 3).
นี้มีชุดเดียวกันของผลรวมเป็นทั้งสอง: และ(3, 2, 2, 2, 4, 3)(3, 2, 2, 4, 2, 3)
s = 8คำตอบสำหรับ n = 2,3,4,5,6,7,8,9 คือ:
4, 8, 16, 32, 64, 120, 244, 472
คะแนน
สำหรับรับnรหัสของคุณควรเอาท์พุทคำตอบสำหรับทุกค่าของsจากไป1 9คะแนนของคุณคือมูลค่าสูงสุดnซึ่งจะเสร็จสมบูรณ์ในหนึ่งนาที
การทดสอบ
ฉันจะต้องเรียกใช้รหัสของคุณบนเครื่องอูบุนตูของฉันดังนั้นโปรดระบุคำแนะนำโดยละเอียดที่สุดเท่าที่จะทำได้เพื่อรวบรวมและเรียกใช้รหัสของคุณ
ลีดเดอร์บอร์ด
- n = 13โดย Christian Sievers ในHaskell (42 วินาที)
sอะไร มันหมายถึงอะไร