คำถามติดแท็ก fastest-code

ผู้ชนะของความท้าทายรหัสที่เร็วที่สุดจะถูกกำหนดโดยประสิทธิภาพรันไทม์ของการส่ง เพื่อความเป็นธรรมการส่งผลงานทั้งหมดควรจะถูกทำเครื่องหมายบนเครื่องเดียวกันซึ่งโดยทั่วไปหมายถึงการส่งผลงานทั้งหมดจะต้องได้รับการทดสอบโดยโฮสต์ของการท้าทาย สำหรับการให้คะแนนโดยความซับซ้อนของเวลาแบบเชิงเส้นให้ใช้ [อัลกอริทึมเร็วที่สุด] แทน

4
ลำดับมายากลของความยาว n
ลำดับเวทย์มนตร์เป็นลำดับของจำนวนเต็มที่ไม่เป็นลบx[0..n-1]เช่นว่ามีx[i]อินสแตนซ์ของi ตัวอย่างเช่น 6,2,1,0,0,0,1,0,0,0 เป็นลำดับเวทย์มนตร์เนื่องจากมี 6 0, 2 1's และอื่น ๆ เขียนฟังก์ชั่นซึ่งเมื่อได้รับ n เอาต์พุตเอาท์พุตมายากลทั้งหมดที่มีความยาว n โปรแกรมที่สามารถสร้างเอาต์พุตที่ถูกต้องสำหรับค่าสูงสุดของ n ภายใน 10 วินาที (ยินดีต้อนรับทุกโปรแกรม) ตัวอย่างเช่นโปรแกรมของอลิซสามารถจัดการได้มากถึง n = 15 ภายใน 10 วินาทีในขณะที่บ๊อบสามารถจัดการได้มากถึง n = 20 ภายในเวลาเดียวกัน บ๊อบชนะ แพลตฟอร์ม: Linux 2.7GHz @ 4 CPUs

1
การสร้าง Greco-Latin Square
พิจารณากริดขององค์ประกอบที่ไม่ซ้ำกันNx Nแต่ละองค์ประกอบมีตัวอักษร (จาก A ถึงNตัวอักษรที่รวม, รวม) และตัวเลข (จาก 1 ถึงNรวม) ดังนั้นคู่ / ตัวเลขแต่ละตัวจะอยู่ในกริดเพียงครั้งเดียว งานของคุณคือการจัดตารางเช่น: แต่ละแถวคอลัมน์และแนวทแยง (รวมถึงการตัด) ประกอบด้วยตัวอักษรและตัวเลขแต่ละตัวอย่างแน่นอน โดยการพันผมหมายถึง * * * # * * * # * * * # * * * # * * * * * * * * # เป็นแนวทแยงมุมพร้อมกับเส้นทแยงมุมที่คล้ายกันทั้งหมดซึ่งกระทบกับขอบ 5x5ตารางตัวอย่างคือ: A1 B2 C3 D4 E5 …

2
X ที่มากกว่า 3 มีความแตกต่างอย่างน้อย 2 อย่างระหว่าง X และ Y
ฉันกำลังพยายามตีกอล์ฟ C ++ บางตัว เป็นไปได้ไหมที่ทำให้สภาพนี้สั้นลง? X > 3 & X - Y > 1 (นอกเหนือจากการลบช่องว่างออกแน่นอน) ดังนั้นXอย่างน้อยแต่4X >= Y + 2 XและYเป็นจำนวนเต็มในช่วง [0,5] ฉันพยายามค้นหาสูตร bitwise แต่ล้มเหลว
11 code-golf  number  tips  c++  code-golf  popularity-contest  obfuscation  code-golf  c  code-golf  board-game  hexagonal-grid  code-golf  game  grid  code-golf  number  permutations  popularity-contest  math  graphical-output  number-theory  king-of-the-hill  code-challenge  compression  code-challenge  fastest-code  code-golf  math  ascii-art  animation  code-golf  popularity-contest  generation  counting  fastest-code  fastest-code  popularity-contest  image-processing  king-of-the-hill  code-golf  conversion  binary-tree  code-golf  math  number  rational-numbers  division  code-golf  restricted-source  hashing  atomic-code-golf  logic-gates  code-golf  function  code-challenge  puzzle-solver  ai-player  test-battery  popularity-contest  music  compression  code-golf  number  stack  atomic-code-golf  logic-gates  ascii-art  popularity-contest  code-golf  date  grid  code-challenge  game  code-golf  parsing  code-golf  math  geometry  sequence  popularity-contest  code-trolling  code-golf  string  restricted-source  code-golf  quine  king-of-the-hill  code-golf  math  code-golf  simulation  code-golf  ascii-art  code-challenge  sorting  optimization 

5
การคำนวณ Topswops อย่างรวดเร็ว
จากAZSPCS : สมมติว่าคุณมีดาดฟ้าที่มีการ์ด n การ์ดแต่ละใบมีหมายเลขตั้งแต่ 1 ถึง n และแต่ละหมายเลขจะปรากฏบนการ์ดเดียว คุณดูที่หมายเลขบนการ์ดด้านบน - สมมุติว่ามันคือ k - แล้วเรียงลำดับของไพ่ k อันดับสูงสุดกลับกัน คุณทำขั้นตอนนี้ต่อไป - อ่านหมายเลขบนสุดแล้วย้อนกลับจำนวนบัตรที่เกี่ยวข้อง - จนกว่าการ์ดบนสุดคือ 1 เขียนโปรแกรมที่เร็วที่สุดเพื่อคำนวณจำนวนการพลิกกลับสำหรับเด็คที่กำหนด โปรดทราบว่าหากคุณเข้าร่วมการแข่งขันคุณจะไม่ได้รับอนุญาตให้โพสต์รหัสของคุณ (ดังนั้นฉันจะยังไม่โพสต์รหัสของฉัน)

8
กรองไฟล์ขนาดใหญ่อย่างรวดเร็ว
ความท้าทายคือการกรองไฟล์ขนาดใหญ่อย่างรวดเร็ว อินพุต: แต่ละบรรทัดมีช่องว่างจำนวนเต็มบวกจำนวนสามช่องว่าง เอาท์พุท: เส้นที่นำเข้าทั้งหมดA B, Tที่ตอบสนองอย่างใดอย่างหนึ่งของเกณฑ์ดังต่อไปนี้ มีอยู่สายป้อนข้อมูลอื่นC, D, Uที่และD = A0 <= T - U < 100 มีอยู่สายป้อนข้อมูลอื่นC, D, Uที่และB = C0 <= U - T < 100 ในการสร้างไฟล์ทดสอบให้ใช้สคริปต์ python ต่อไปนี้ซึ่งจะใช้สำหรับการทดสอบ มันจะสร้างไฟล์ 1.3G แน่นอนคุณสามารถลด nolines สำหรับการทดสอบ import random nolines = 50000000 # 50 million for i in xrange(nolines): print …

3
Arbitrary Randomness (ฉบับความเร็ว)
รับจำนวนเต็มnคำนวณชุดของnจำนวนเต็มเฉพาะในช่วงสุ่ม1..n^2(รวม) ซึ่งผลรวมของชุดเท่ากับn^2 สุ่มในกรณีนี้หมายถึงการสุ่มอย่างสม่ำเสมอระหว่างผลลัพธ์ที่ถูกต้อง เอาต์พุตที่ถูกต้องแต่ละรายการสำหรับชุดที่กำหนดnจะต้องมีโอกาสที่จะถูกสร้างขึ้นอย่างสม่ำเสมอ ยกตัวอย่างเช่นn=3ควรมีโอกาสที่ 1/3 แต่ละการแสดงผล6, 1, 2, หรือ3, 5, 1 4, 3, 2เนื่องจากเป็นชุดคำสั่งซื้อจึงไม่เกี่ยวข้อง4, 3, 2จึงเหมือนกัน3, 2, 4 เกณฑ์การให้คะแนน ผู้ชนะคือโปรแกรมที่สามารถคำนวณคะแนนสูงสุดnในเวลาไม่เกิน 60 วินาที หมายเหตุ:เพื่อป้องกันฮาร์ดโค้ดบางส่วนที่เป็นไปได้รายการทั้งหมดจะต้องต่ำกว่า 4000 ไบต์ การทดสอบ รหัสทั้งหมดจะทำงานบนเครื่อง Windows 10 ในพื้นที่ของฉัน (Razer Blade 15, 16GB RAM, Intel i7-8750H 6 คอร์, 4.1GHz, GTX 1060 ในกรณีที่คุณต้องการละเมิด GPU) ดังนั้นโปรดให้คำแนะนำโดยละเอียดเพื่อเรียกใช้รหัสของคุณ เครื่องของฉัน ตามคำขอรายการสามารถเรียกใช้อย่างใดอย่างหนึ่งผ่าน Debian บน …

2
สี่เหลี่ยมจัตุรัสที่ใหญ่ที่สุดในกริด [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Code Golf Stack Exchange ปิดให้บริการใน2 ปีที่ผ่านมา ท้าทาย ให้กริดแบบนี้ 1 2 3 4 5 6 7 8 1 . . . . . . . . 2 . # . . . # . . 3 . . . . . . . . 4 . …

2
คำนวณ OEIS A005434
ภารกิจคือการคำนวณOEIS A005434โดยเร็วที่สุด พิจารณาสตริงไบนารีของความยาวS nจัดทำดัชนีจาก1เราสามารถตรวจสอบว่าS[1..i+1]ตรงกับS[n-i..n]ตรงทั้งหมดiในการสั่งซื้อจากไป0 n-1ตัวอย่างเช่น, S = 01010 จะช่วยให้ [Y, N, Y, N, Y]. เพราะนี่คือ0การแข่งขัน0, 01ไม่ตรง10, 010การแข่งขัน010, 0101ไม่ตรงกับ1010 และในที่สุดก็01010ตรงกับตัวเอง กำหนดf(n)ให้เป็นหมายเลขของอาร์เรย์ที่แตกต่างกันของYและNs หนึ่งได้รับเมื่อ iterating เหนือทุก2^nบิตสตริงที่แตกต่างกันไปได้ของความยาวSn สังเกตจะสังเกตเห็นคำถามนี้เป็นตัวแปรที่เรียบง่ายของคำถามที่ผ่านมาของฉันอีก อย่างไรก็ตามฉันคาดหวังว่าเทคนิคที่ฉลาดสามารถทำให้สิ่งนี้เร็วและง่ายขึ้น งาน สำหรับการเพิ่มการnเริ่มต้นที่รหัสของคุณควรเอาท์พุท1n, f(n) ตัวอย่างคำตอบ สำหรับn = 1..24คำตอบที่ถูกต้องคือ: 1, 2, 3, 4, 6, 8, 10, 13, 17, 21, 27, 30, 37, 47, 57, 62, 75, 87, …

1
หมุนเพื่อดูทุกด้าน!
สมมติว่าคุณมีคนตาย 20 ด้าน คุณเริ่มหมุนแม่พิมพ์นั้นและต้องหมุนสองสามครั้งก่อนที่คุณจะหมุนค่าทั้งหมด 20 คุณสงสัยว่าฉันต้องม้วนจำนวนเท่าไรก่อนที่ฉันจะได้รับโอกาส 50% ในการเห็นค่าทั้งหมด 20 ตัว และnฉันต้องม้วนตายกี่ม้วนก่อนจะกลิ้งทุกnด้าน? หลังจากการวิจัยบางอย่างคุณพบว่ามีสูตรสำหรับการคำนวณโอกาสในการหมุนnค่าทั้งหมดหลังจากrม้วน P(r, n) = n! * S(r, n) / n**r โดยที่S(a, b)หมายถึงตัวเลข Stirling ของชนิดที่สองจำนวนวิธีที่จะแบ่งพาร์ติชันชุดของวัตถุ n (แต่ละม้วน) เป็น k ย่อยที่ไม่ว่างเปล่า (แต่ละด้าน) คุณยังพบลำดับ OEISที่เราจะเรียกR(n)ซึ่งสอดคล้องกับลำดับที่เล็กที่สุดrที่P(r, n)อย่างน้อย 50% ความท้าทายคือการคำนวณnคำที่ลำดับของลำดับนี้โดยเร็วที่สุด ความท้าทาย ได้รับnหาที่เล็กที่สุด rที่P(r, n)มากกว่าหรือเท่ากับ0.5หรือ 50% รหัสของคุณในทางทฤษฎีควรจะจัดการกับจำนวนเต็มไม่เป็นลบnเป็น input 1 <= n <= 1000000แต่เราจะได้รับการทดสอบรหัสของคุณในช่วงของ สำหรับการให้คะแนนเราจะใช้เวลาทั้งหมดที่จำเป็นในการทำงานR(n)เกี่ยวกับปัจจัยการผลิตผ่าน110000 เราจะตรวจสอบว่าการแก้ปัญหาของคุณถูกต้องโดยใช้รุ่นของเราR(n)ในการส่งออกของคุณเพื่อดูว่าP(your_output, …

2
โอเอกซ์ด้วยการข้ามที่รวดเร็วที่สุดเท่านั้น
ตามคำขอของลุคและการเพิ่มของปีเตอร์เทย์เลอร์ความท้าทายนี้ บทนำ ทุกคนรู้เกมโอเอกซ์ แต่ในความท้าทายนี้เราจะแนะนำการบิดเล็กน้อย เราจะใช้ไม้กางเขนเท่านั้น คนแรกที่วางสามกากบาทในแถวแพ้ ข้อเท็จจริงที่น่าสนใจคือจำนวนข้ามสูงสุดก่อนที่ใครบางคนจะสูญเสียเท่ากับ6 : X X - X - X - X X นั่นหมายความว่าสำหรับบอร์ด 3 x 3 จำนวนสูงสุดคือ6 6ดังนั้นสำหรับ N = 3 เราต้องเอาท์พุท 6 อีกตัวอย่างหนึ่งสำหรับ N = 4 หรือบอร์ด 4 x 4: X X - X X X - X - - - - X X …

1
ตั้งค่าการคำนวณเชิงทฤษฎี (+ และ *) [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Code Golf Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว ตั้งค่าเลขคณิตเชิงทฤษฎี หลักฐาน มีการท้าทายสองสามครั้งแล้วที่เกี่ยวข้องกับการคูณโดยไม่มีตัวดำเนินการคูณ ( ที่นี่และที่นี่ ) และความท้าทายนี้อยู่ในหลอดเลือดดำเดียวกัน (ส่วนใหญ่คล้ายกับลิงก์ที่สอง) ความท้าทายนี้แตกต่างจากก่อนหน้านี้ที่จะใช้คำจำกัดความทางทฤษฎีชุดของตัวเลขธรรมชาติ ( N ): และ ตัวอย่างเช่น, และอื่น ๆ ความท้าทาย เป้าหมายของเราคือการใช้การตั้งค่า (ดูด้านล่าง) เพื่อเพิ่มและคูณจำนวนธรรมชาติ เพื่อจุดประสงค์นี้รายการทั้งหมดจะอยู่ในเดียวกัน 'ชุดภาษาที่มีล่ามอยู่ด้านล่าง สิ่งนี้จะให้ความสม่ำเสมอและการให้คะแนนที่ง่ายขึ้น ล่ามนี้ช่วยให้คุณสามารถจัดการตัวเลขธรรมชาติเป็นชุด งานของคุณคือการเขียนเนื้อหาของโปรแกรมสองรายการ (ดูด้านล่าง) ซึ่งหนึ่งในนั้นจะเพิ่มจำนวนธรรมชาติอีกตัวหนึ่งจะเพิ่มจำนวนทวีคูณ หมายเหตุเบื้องต้นเกี่ยวกับชุด ชุดตามโครงสร้างทางคณิตศาสตร์ปกติ นี่คือบางจุดสำคัญ: ไม่มีการสั่งซื้อชุด ไม่มีชุดประกอบด้วยตัวเอง องค์ประกอบอยู่ในเซตหรือไม่นี่คือบูลีน ดังนั้นองค์ประกอบชุดจึงไม่สามารถมีหลายหลากได้ (เช่นองค์ประกอบไม่สามารถอยู่ในชุดได้หลายครั้ง) ล่ามและข้อมูลเฉพาะ 'โปรแกรม' สำหรับความท้าทายนี้เขียนขึ้นใน 'set …

2
ความน่าจะเป็น - คุณไปได้สูงแค่ไหน?
ก่อนหน้านี้ฉันถามคำถามเกี่ยวกับวิธีคำนวณความน่าจะเป็นได้อย่างรวดเร็วและแม่นยำ อย่างไรก็ตามเห็นได้ชัดว่ามันง่ายเกินไปที่จะให้โซลูชันแบบปิด! นี่คือรุ่นที่ยากขึ้น งานนี้เป็นเรื่องเกี่ยวกับการเขียนโค้ดเพื่อคำนวณความน่าจะเป็นตรงและรวดเร็ว ผลลัพธ์ควรเป็นความน่าจะเป็นที่แม่นยำที่เขียนเป็นเศษส่วนในรูปแบบที่ลดลงมากที่สุด นั่นคือไม่ควรเอาท์พุท4/8แต่จะดี1/2กว่า สำหรับจำนวนเต็มบวกnพิจารณาสตริงสุ่มอย่างสม่ำเสมอของ 1s และ -1s ของความยาวnและเรียกมันว่า A ตอนนี้เชื่อมต่อกับAสำเนาของตัวเอง นั่นคือA[1] = A[n+1]ถ้าการจัดทำดัชนีจาก 1 A[2] = A[n+2]และอื่น ๆ ตอนนี้มีความยาวA 2nทีนี้ลองพิจารณาความยาวสตริงที่สองแบบสุ่มnซึ่งมีnค่าแรกคือ -1, 0 หรือ 1 ที่มีความน่าจะเป็น 1/4, 1/2, 1/4 แต่ละอันและเรียกมันว่า B ตอนนี้พิจารณาสินค้าด้านในของBที่มีแตกต่างกันA[1+j,...,n+j]j =0,1,2,... n=3ตัวอย่างเช่นพิจารณา ค่าที่เป็นไปได้AและBอาจจะเป็นและA = [-1,1,1,-1,...] B=[0,1,-1]ในกรณีนี้เป็นครั้งแรกผลิตภัณฑ์ชั้นสองเป็นและ02 งาน สำหรับแต่ละjเริ่มต้นด้วยj=1รหัสของคุณควรส่งออกน่าจะเป็นที่ทุกคนแรกผลิตภัณฑ์ภายในเป็นศูนย์สำหรับทุกj+1n=j,...,50 คัดลอกตารางที่ผลิตโดย Martin Büttnerเพราะj=1เรามีผลลัพธ์ตัวอย่างต่อไปนี้ n P(n) 1 1/2 2 …

5
คำนวณความน่าจะเป็นอย่างแน่นอนและรวดเร็ว
[นี่เป็นคำถามจากคู่ค้าเพื่อคำนวณความน่าจะเป็น ] งานนี้เป็นเรื่องเกี่ยวกับการเขียนโค้ดเพื่อคำนวณความน่าจะเป็นตรงและรวดเร็ว ผลลัพธ์ควรเป็นความน่าจะเป็นที่แม่นยำที่เขียนเป็นเศษส่วนในรูปแบบที่ลดลงมากที่สุด นั่นคือไม่ควรเอาท์พุท4/8แต่จะดี1/2กว่า สำหรับจำนวนเต็มบวกnพิจารณาสตริงสุ่มอย่างสม่ำเสมอของ 1s และ -1s ของความยาวnและเรียกมันว่า A ตอนนี้เชื่อมต่อกับAค่าแรก นั่นคือA[1] = A[n+1]ถ้าการจัดทำดัชนีจาก 1. ในขณะนี้มีความยาวA n+1ทีนี้ลองพิจารณาความยาวสตริงที่สองแบบสุ่มnซึ่งมีnค่าแรกคือ -1, 0 หรือ 1 ที่มีความน่าจะเป็น 1/4, 1/2, 1/4 แต่ละอันและเรียกมันว่า B ตอนนี้พิจารณาผลิตภัณฑ์ภายในA[1,...,n]และBและสินค้าภายในของและA[2,...,n+1]B n=3ตัวอย่างเช่นพิจารณา ค่าที่เป็นไปได้AและBอาจจะเป็นและA = [-1,1,1,-1] B=[0,1,-1]ในกรณีนี้ผลิตภัณฑ์ทั้งสองด้านมีและ02 รหัสของคุณจะต้องแสดงผลความน่าจะเป็นที่ผลิตภัณฑ์ทั้งสองนั้นมีค่าเป็นศูนย์ คัดลอกตารางที่ผลิตโดย Martin Büttnerเรามีผลลัพธ์ตัวอย่างต่อไปนี้ n P(n) 1 1/2 2 3/8 3 7/32 4 89/512 5 269/2048 …

4
เบี้ยมากเกินไปบนกระดานหมากรุก
เมื่อกำหนดจำนวนเต็ม 2n ให้ค้นหาจำนวนวิธีที่เป็นไปได้ที่เบี้ยสีดำ 2n ^ 2 และเบี้ยสีขาว 2n ^ 2 สามารถจัดวางบนกระดานหมากรุก 2n โดย 2n โดยที่จำนำไม่ได้โจมตีอีก โรงรับจำนำสีดำสามารถโจมตีโรงรับจำนำสีขาวเท่านั้นและในทางกลับกัน กฎการโจมตีตามปกติของหมากรุกคือจำนำสีขาวจู่โจมในแนวทแยงมุมด้านหน้าทันทีและจำนำโจมตีสี่เหลี่ยมจัตุรัสสีดำทันทีทแยงมุมย้อนหลัง (เท่าที่เห็นโดยผู้สังเกตการณ์สีขาว) การหมุนทั้งหมดการสะท้อนกลับนับเป็นความแตกต่าง โปรแกรมที่สามารถส่งออกการกำหนดค่าที่เป็นไปได้ทั้งหมดสำหรับค่าสูงสุด 2n ใน 120 วินาทีชนะ (ยินดีต้อนรับทุกโปรแกรม) ตัวอย่างเช่นโปรแกรมของอลิซสามารถจัดการได้มากถึง n = 16 ภายใน 120 วินาทีในขณะที่บ๊อบสามารถจัดการได้มากถึง n = 20 ภายในเวลาเดียวกัน บ๊อบชนะ แพลตฟอร์ม: Linux 2.7GHz @ 4 CPUs

3
โดมิโนเอียงเหนือ
งาน เขียนโปรแกรมที่อ่านจำนวนเต็มสามจำนวนm , nไม่ว่าจาก STDIN หรือเป็นอาร์กิวเมนต์บรรทัดคำสั่งพิมพ์การเอียงที่เป็นไปได้ทั้งหมดของขนาดสี่เหลี่ยมผืนผ้าm × nคูณ2 × 1และ1 × 2และในที่สุดก็ถึงจำนวนการเอียงที่ถูกต้อง Dominos ของแต่ละการเรียงต่อกันจะต้องมีเครื่องหมายสองขีด ( -) สำหรับ2 × 1และสองแถบแนวตั้ง ( |) สำหรับ1 × 2 Dominos แต่ละการเรียงต่อกัน (รวมถึงอันสุดท้าย) จะต้องตามด้วยตัวป้อนบรรทัด เพื่อจุดประสงค์ในการให้คะแนนคุณต้องยอมรับการตั้งค่าสถานะจาก STDIN หรือเป็นอาร์กิวเมนต์บรรทัดคำสั่งที่ทำให้โปรแกรมของคุณพิมพ์เฉพาะจำนวนการเอียงที่ถูกต้อง แต่ไม่ใช่การเอียง โปรแกรมของคุณอาจมีขนาดไม่เกิน 1024 ไบต์ มันจะต้องมีการทำงานสำหรับปัจจัยการผลิตทั้งหมดเช่นว่าม. × n ≤ 64 (ได้แรงบันดาลใจจากพิมพ์โดมิโนเอียงของสี่เหลี่ยมผืนผ้า 4x6ทั้งหมด) ตัวอย่าง $ sdt 4 2 ---- ---- ||-- …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.