คำถามติดแท็ก optimization

สำหรับความท้าทายที่มุ่งเน้นการเพิ่มประสิทธิภาพของส่วนที่ไม่ครอบคลุมโดยแท็กอื่น ๆ

7
1D Hopping Array Maze
แรงบันดาลใจจากเราทำทาวเวอร์กระโดดและเกี่ยวข้องกับ2D Maze Minus 1D บทนำ งานของคุณคือการหาเส้นทางที่สั้นที่สุดที่จะออกจากเขาวงกตอาร์เรย์ตามกฎที่ระบุ ท้าทาย อาร์เรย์ 1D a ที่มีองค์ประกอบnถือได้ว่าเป็นเขาวงกตที่ประกอบด้วยจุดnซึ่งจุดที่มีดัชนีkเชื่อมต่อกับจุดที่มีk + a [ k ] และk - a [ k ] ในลักษณะทางเดียว ในคำอื่น ๆ คุณสามารถกระโดดไปข้างหน้าหรือข้างหลังตรง[ k ] ก้าวจากจุดที่มีค่าดัชนีk คะแนนที่มีดัชนีนอกขอบเขตของอาร์เรย์จะถูกพิจารณานอกเขาวงกต เพื่ออธิบายสิ่งนี้ให้พิจารณาอาร์เรย์ต่อไปนี้ [0,8,5,9,4,1,1,1,2,1,2] หากเราอยู่ที่องค์ประกอบที่ 5 ในขณะนี้เนื่องจากองค์ประกอบคือ 4 เราสามารถข้ามไปข้างหน้าไปยังองค์ประกอบที่ 9 หรือ 4 ขั้นตอนย้อนหลังไปยังองค์ประกอบที่ 1 ได้ ถ้าเราทำอย่างหลังเราจะจบลงด้วยองค์ประกอบ 0 ซึ่งบ่งชี้ว่าไม่มีการเคลื่อนไหวเพิ่มเติม ถ้าเราทำแบบเดิมเนื่องจากองค์ประกอบที่ 9 คือ 2 …

14
เรากระโดดหอคอย
งาน กำหนดอาเรย์ของจำนวนเต็มแบบไม่ลบaกำหนดจำนวนต่ำสุดของการกระโดดทางขวาที่จำเป็นในการข้าม "นอก" อาเรย์เริ่มต้นที่ตำแหน่ง 0 หรือคืนค่าศูนย์ / โมฆะถ้าไม่สามารถทำได้ กระโดดจากดัชนีถูกกำหนดให้เป็นการเพิ่มขึ้นของดัชนีอาร์เรย์โดยที่มากที่สุดia[i] กระโดดนอกเป็นกระโดดที่ดัชนีที่เกิดจากการกระโดดที่iจะออกนอกสนามสำหรับอาร์เรย์เพื่อให้การจัดทำดัชนี 1-based i>length(a)และสำหรับการจัดทำดัชนี i>=length(a)0-based ตัวอย่างที่ 1 พิจารณาArray = [4,0,2,0,2,0]: Array[0] = 4 -> You can jump 4 field Array[1] = 0 -> You can jump 0 field Array[2] = 2 -> You can jump 2 field Array[3] = 0 -> You …

30
องค์ประกอบที่หายไป
กำหนดสตริงSและรายชื่อของดัชนีXปรับเปลี่ยนSโดยการเอาองค์ประกอบที่ดัชนีของแต่ละขณะที่ใช้ผลที่เป็นค่าใหม่SS ตัวอย่างเช่นกำหนดS = 'codegolf'และX = [1, 4, 4, 0, 2], 0 1 2 3 4 5 6 7 | c o d e g o l f | Remove 1 c d e g o l f | Remove 4 c d e g l f | Remove 4 c …
17 code-golf  string  array-manipulation  code-golf  string  ascii-art  code-golf  number  sequence  pi  code-golf  number  array-manipulation  code-golf  string  ascii-art  code-golf  math  number  game  code-golf  math  sequence  polynomials  recursion  code-golf  math  number  sequence  number-theory  code-golf  permutations  balanced-string  code-golf  string  ascii-art  integer  code-golf  decision-problem  hexagonal-grid  code-golf  ascii-art  kolmogorov-complexity  code-golf  number  code-golf  matrix  binary-matrix  code-golf  math  statistics  code-golf  string  polyglot  code-golf  random  lost  code-golf  date  path-finding  code-golf  string  code-golf  math  number  arithmetic  number-theory  code-golf  tetris  binary-matrix  code-golf  array-manipulation  sorting  code-golf  number  code-golf  array-manipulation  rubiks-cube  cubically  code-golf  grid  optimization  code-golf  math  function  code-golf  string  quine  code-golf  ascii-art  grid  code-golf  decision-problem  grid  simulation  code-golf  math  sequence  code-golf  path-finding  code-golf  ascii-art  grid  simulation  code-golf  number  whitespace  code-golf  sequence  code-golf  sequence  code-golf  sequence  integer  code-golf  math  game  code-golf  internet  stack-exchange-api  code-golf  sequence  code-golf  internet  stack-exchange-api  code-golf  math  factoring  code-challenge  sequence  polyglot  rosetta-stone  code-golf  string  browser  code-golf  date  code-golf  base-conversion  code-challenge  cops-and-robbers  hello-world  code-golf  cops-and-robbers  hello-world 

12
การแบ่งปันความลับของ Shamir
ป.ร. ให้ไว้n(จำนวนของผู้เล่น) t(ค่าเกณฑ์) และs(ความลับ) เอาท์พุทnลับที่สร้างขึ้นโดยอัลกอริทึมที่ใช้ร่วมกันความลับของมิร์ อัลกอริทึม สำหรับจุดประสงค์ของการท้าทายนี้การคำนวณจะกระทำในGF (251) (เขตข้อมูลขนาด จำกัด251หรือที่รู้จักกันในชื่อจำนวนเต็มmod 251 ) ตามปกติแล้วฟิลด์จะถูกเลือกเพื่อให้ขนาดของมันใหญ่กว่าnมาก เพื่อลดความท้าทายขนาดของสนามจะคงที่ 251ได้รับเลือกเนื่องจากเป็นจำนวนที่ใหญ่ที่สุดที่สามารถแทนได้โดยเลขจำนวนเต็ม 8 บิตที่ไม่ได้ลงชื่อ สร้างt-1จำนวนเต็มสุ่มใน (รวม) [0, 250]ช่วง ป้ายเหล่านี้1ผ่านT-1 สร้างt-1พหุนามระดับปริญญาที่ใช้sเป็นค่าคงที่และจำนวนเต็มแบบสุ่มจากขั้นตอนที่ 1 เป็นค่าสัมประสิทธิ์ของพลังของx: f (x) = s + x * a 1 + x 2 * a 2 + ... + x t- 1 * a T-1 เอาท์พุท(f(z) …
17 code-golf  number-theory  random  cryptography  polynomials  code-golf  number  code-golf  math  number  sequence  code-golf  quine  code-generation  code-golf  arithmetic  set-theory  code-golf  sequence  code-golf  code-golf  string  math  fastest-code  optimization  code-golf  code-golf  internet  stack-exchange-api  code-golf  array-manipulation  code-golf  string  internet  string  code-challenge  internet  test-battery  code-golf  math  pi  code-golf  arithmetic  primes  code-golf  array-manipulation  code-golf  string  code-golf  string  palindrome  code-golf  sequence  number-theory  fastest-algorithm  code-golf  math  number  base-conversion  code-golf  number-theory  sorting  subsequence  search  code-golf  permutations  code-challenge  popularity-contest  code-generation 

4
จำนวนเต็ม Metagolf จริง ๆ
พื้นหลัง ที่จริงแล้ว (ตัวตายตัวแทนอย่างจริงจัง ) เป็นภาษากอล์ฟบังคับตามสแต็คที่ฉันสร้างขึ้นในเดือนพฤศจิกายนปี 2015 เช่นเดียวกับภาษากอล์ฟอื่น ๆ อีกมากมายมันมีคำสั่งขนาดหนึ่งไบต์ที่ทำหน้าที่แตกต่างกันตามเนื้อหาของสแต็ค หนึ่งในความเชี่ยวชาญของมันคือวิชาคณิตศาสตร์ - มันมีคำสั่งพื้นฐานทางคณิตศาสตร์ที่หลากหลาย อย่างไรก็ตามในการดำเนินการทางคณิตศาสตร์คุณต้องใส่หมายเลข (หนึ่งหรือมากกว่า) ลงบนสแต็ก การกดค่าเฉพาะในจำนวนน้อยที่สุดเท่าที่จะทำได้เป็นเรื่องยุ่งยากเพราะมีตัวเลือกต่าง ๆ มากมาย ในการท้าทายนี้คุณจะทำสิ่งนั้นอย่างแน่นอน: แสดงตัวเลข (โดยเฉพาะจำนวนเต็ม) ในความเป็นจริงในจำนวนไบต์น้อยที่สุด ความท้าทาย กำหนดจำนวนเต็มNเป็นอินพุตเอาต์พุตโค้ดที่ถูกต้องจริงซึ่งส่งผลNให้ถูกส่งไปยังสแต็ก อินพุตจะอยู่ในช่วงของจำนวนเต็มเสริมของ 32 บิตที่เซ็นชื่อสองบิต (เช่นจำนวนเต็มในช่วงรวม[-2147483648, 2147483647]) ผลลัพธ์ต้องเป็นจำนวนเต็ม (ไม่ใช่แบบลอยสตริงรายการหรือฟังก์ชัน) และต้องอยู่ด้านบนสุดของสแต็ก คุณไม่สามารถทำการสันนิษฐานเกี่ยวกับเนื้อหาของสแต็ค (เช่นว่าว่างเปล่าหรือไม่) ค่าที่มีอยู่ใด ๆ บนสแต็กต้องไม่ถูกแก้ไขหรือจัดเรียงใหม่ ความมุ่งมั่นล่าสุดของจริงในขณะที่ฉันกำลังเขียนความท้าทายนี้จะถูกนำมาใช้ ถ้าฉันแก้ไขข้อบกพร่องหรือปรับปรุงประสิทธิภาพ (หรือการเปลี่ยนแปลงเล็กน้อยอื่น ๆ ที่ไม่ได้ลบหรือเปลี่ยนการทำงานของคำสั่งที่อนุญาต) ฉันจะอัปเดตเวอร์ชันนี้ โซลูชันของคุณจะต้องทำอย่างน้อยที่สุดเช่นเดียวกับวิธีแก้ปัญหาเล็กน้อย (ผนวก:กับอินพุตเพื่อสร้างตัวอักษรตัวเลข) คะแนนของคุณจะเป็นผลรวมของความยาวของโซลูชันเล็ก ๆ น้อย ๆ ลบด้วยผลรวมของความยาวของผลลัพธ์สำหรับการเลือกจำนวนเต็ม …

2
เล่นบิลเลียด
ในสนามกอล์ฟรหัสนี้คุณจะต้องมีการกำหนดทิศทางของการยิงที่สั้นที่สุดที่นิยมตรงnเบาะรองนั่งก่อนที่จะตกไปอยู่ในกระเป๋า โต๊ะบิลเลียดเป็นโต๊ะพูล 6 พ็อตที่มีคุณสมบัติดังต่อไปนี้: ขนาดเป็นตัวแปร ( a x b ) ไม่มีแรงเสียดทาน: ลูกบอลจะกลิ้งอย่างถาวรจนกว่ามันจะตกลงไปในกระเป๋า ขนาดกระเป๋าและลูกบอลเกือบเป็นศูนย์ ซึ่งหมายความว่าลูกจะตกอยู่ในกระเป๋าเฉพาะในกรณีที่พวกเขามีตำแหน่งเดียวกัน ลูกบอลถูกวางไว้ที่รูซ้ายล่างที่จุดเริ่มต้น (แต่ไม่ตกอยู่ในนั้น) สร้างโปรแกรมเต็มรูปแบบหรือฟังก์ชั่นที่ใช้มิติ ( , ข ) ของตารางและจำนวนของหมอนอิงที่จะตีnเป็น input และผลตอบแทนในมุมองศาของเส้นทางที่สั้นที่สุดกดปุ่มตรงnเบาะรองนั่งก่อนที่จะตกไปอยู่ในกระเป๋า a > 0 b > 0 0 <= n <10,000000 0 < alpha <90 (เป็นองศา) ความแม่นยำ: อย่างน้อย 10 ^ -6 ตัวอย่าง : ด้วยa = 2, b …

4
การเพิ่มประสิทธิภาพความท้าทายด้วยเหรียญแปลก ๆ
คุณมีnเหรียญที่แต่ละคนมีน้ำหนัก -1 หรือ 1 แต่ละคนมีป้ายกำกับจาก0เพื่อn-1ให้คุณสามารถแยกเหรียญ คุณมีอุปกรณ์ชั่งน้ำหนัก (เวทมนต์) หนึ่งชิ้นเช่นกัน ในตอนแรกคุณสามารถใส่เหรียญได้มากเท่าที่คุณต้องการบนอุปกรณ์ชั่งน้ำหนักซึ่งสามารถวัดได้ทั้งน้ำหนักติดลบและบวกและจะบอกคุณได้อย่างแม่นยำ อย่างไรก็ตามมีบางอย่างแปลก ๆ เกี่ยวกับอุปกรณ์ชั่งน้ำหนัก หากคุณใส่เหรียญx_1, x_2, ..., x_jลงในอุปกรณ์เป็นครั้งแรกในครั้งต่อไปคุณต้องใส่เหรียญ(x_1+1), (x_2+1) , ..., (x_j+1)ในเครื่องชั่งยกเว้นคุณไม่สามารถใส่เหรียญที่มีหมายเลขสูงกว่าn-1ได้ ไม่เพียงเท่านั้นสำหรับการชั่งน้ำหนักใหม่ทุกครั้งที่คุณเลือกถ้าคุณต้องการใส่เหรียญ0ลงในเครื่องชั่ง ภายใต้กฎนี้จำนวนการชั่งน้ำหนักที่เล็กที่สุดที่จะบอกคุณได้ว่าเหรียญใดมีน้ำหนัก 1 และน้ำหนักใด -1 เห็นได้ชัดว่าคุณสามารถใส่เหรียญ0ลงในอุปกรณ์ในเทิร์นแรกจากนั้นจะต้องใช้การnชั่งน้ำหนักเพื่อแก้ไขปัญหา ภาษาและห้องสมุด คุณสามารถใช้ภาษาหรือห้องสมุดที่คุณชอบ (ที่ไม่ได้ออกแบบมาสำหรับความท้าทายนี้) อย่างไรก็ตามฉันต้องการทดสอบโค้ดของคุณถ้าเป็นไปได้ดังนั้นหากคุณสามารถให้คำแนะนำที่ชัดเจนเกี่ยวกับวิธีการเรียกใช้ใน Ubuntu ที่จะได้รับการชื่นชมอย่างมาก คะแนน สำหรับnคะแนนของคุณจะถูกnหารด้วยจำนวนน้ำหนักที่คุณต้องการในกรณีที่แย่ที่สุด คะแนนที่สูงขึ้นจึงดีกว่า ไม่มีข้อมูลเกี่ยวกับตัวต่อนี้ แต่เป้าหมายของคุณคือค้นหาสิ่งnที่คุณจะได้รับคะแนนสูงสุด หากมีการเสมอกันคำตอบแรกจะชนะ ในสถานการณ์ที่ไม่น่าเป็นไปได้อย่างมากที่มีคนพบวิธีที่จะได้รับคะแนนอนันต์บุคคลนั้นจะชนะทันที งาน งานของคุณคือการเขียนโค้ดที่ได้คะแนนสูงสุด รหัสของคุณจะต้องเลือกทั้งสองอย่างอย่างชาญฉลาดแล้วจึงปรับจำนวนน้ำหนักให้nเหมาะสม รายการชั้นนำ 4/3 7/5 ในPythonโดย Sarge Borsch 26/14 ในJavaโดย …

6
พนักงานขาย
คุณจะได้รับเป็นรายการหรือเวกเตอร์หรืออะไรก็ตามกลุ่มของ 3-tuples หรืออะไรก็ตามที่สองสิ่งแรกคือสตริงและสิ่งที่สามคือจำนวน สตริงคือเมืองและจำนวนคือระยะห่างระหว่างพวกเขา คำสั่งของเมืองในทูเปิลนั้นเป็นเรื่องที่ไม่มีกฎเกณฑ์ (เช่นไม่สำคัญว่าจะมาก่อนและมาเป็นอันดับที่สอง) เนื่องจากเป็นระยะทางเท่ากันในแต่ละวิธี นอกจากนี้ยังมีสิ่งอันดับหนึ่งสำหรับการอ้างอิงที่เชื่อมต่อแต่ละคู่ อาจไม่มีการเชื่อมต่อทุกเมือง นอกจากนี้ระยะทางยังเป็นบวกอยู่เสมอ (ไม่ใช่0) คุณไม่จำเป็นต้องตรวจสอบเงื่อนไขเหล่านี้คุณอาจสันนิษฐานว่าอินพุตจะมีรูปแบบที่ดี งานของคุณคือคืนเมืองในลำดับวนรอบเช่นถ้าคุณเริ่มที่เมืองใดเมืองหนึ่งและวนรอบกลับไปที่เมืองเดียวกันระยะทางระหว่างเมืองจะน้อยที่สุด (อย่างแน่นอนและทั้งหมด กรณี) คุณอาจคิดว่ามีวิธีแก้ปัญหาอยู่ ตัวอย่างเช่นให้เราบอกว่าคุณได้รับ [("New York", "Detroit", 2.2), ("New York", "Dillsburg", 3.7), ("Hong Kong", "Dillsburg", 4), ("Hong Kong", "Detroit", 4), ("Dillsburg", "Detroit", 9000.1), ("New York", "Hong Kong", 9000.01)] คุณสามารถส่งออกใด ๆ ต่อไปนี้ (แต่คุณจะต้องส่งออกอย่างใดอย่างหนึ่ง): ["Detroit","Hong Kong","Dillsburg","New York"] ["Hong Kong","Dillsburg","New …

2
กระชับโปรแกรม Befunge
Befungeเป็นภาษาโปรแกรมลับสองมิติ แนวคิดพื้นฐานคือคำสั่ง (อักขระหนึ่งตัว) ถูกวางไว้บนกริด 2 มิติ โฟลว์ควบคุมเดินข้ามตารางดำเนินการคำสั่งที่ส่งผ่านและเปลี่ยนทิศทางเมื่อกระทบกับลูกศร ( >^<v) คำสั่งเป็นแบบสแต็ก ดูรายการนี้ ดูเพิ่มเติมhttp://esolangs.org/wiki/Befunge ข้อมูลจำเพาะสำหรับ Befunge-98มีให้บริการ ปัญหา เขียนโปรแกรมที่แปลงโปรแกรม Befunge เป็นรูปแบบที่กะทัดรัดยิ่งขึ้น ตัวอย่างเช่นโปรแกรมต่อไปนี้จะพิมพ์0: > 0 v > @ . ^ < ในกรณีนี้มันสามารถบีบอัดได้โดยไม่ต้องเปลี่ยนพฤติกรรมของโปรแกรมโดยการลบแถวของช่องว่างเพื่อให้ >0v >@. ^ < การแปลงซับซ้อนมากขึ้นสามารถหมุนหรือเรียงลำดับคำสั่งของมิเรอร์และกำจัดคำสั่งควบคุมโฟลว์ที่ไม่จำเป็นเพื่อให้โปรแกรมมีขนาดกะทัดรัด ตัวอย่างเช่นด้วยโปรแกรมนี้: >12345v 6 v....7< . . . @ คุณอาจปิดท้ายโปรแกรมเข้าไปในรู: >12345v >...@ 6 ^....7< สำหรับตัวอย่างแรกโปรแกรมขนาดกะทัดรัดที่สุดที่เป็นไปได้คือ >0.@ คุณสามารถใช้การแปลงใด ๆ …

14
การเรียงสับเปลี่ยนในการปลอมตัว
กำหนดnnnเวกเตอร์มิติvvvกับรายการจริงพบการเปลี่ยนแปลงที่อยู่ใกล้pppของ(1,2,...,n)(1,2,...,n)(1,2,...,n)ด้วยความเคารพต่อl1l1l_1 -distance รายละเอียด ถ้ามันเป็นความสะดวกสบายมากขึ้นคุณสามารถใช้พีชคณิต(0,1,...,n−1)(0,1,...,n−1)(0,1,...,n-1)แทน หากมีการเรียงสับเปลี่ยนที่ใกล้เคียงที่สุดคุณสามารถส่งออกหนึ่งรายการหรือทั้งหมดก็ได้ l1l1l_1ระยะห่างระหว่างสองเวกเตอร์u,vu,vu,vถูกกำหนดให้เป็นd(u,v)=∑i|ui−vi|.d(u,v)=∑i|ui−vi|.d(u,v) = \sum_i \vert u_i-v_i\vert. หากคุณต้องการคุณสามารถสันนิษฐานได้ว่าอินพุตประกอบด้วยจำนวนเต็มเท่านั้น ตัวอย่าง [0.5 1] -> [1 2], [2 1] c*[1 1 ... 1] -> any permutation [1 4 2 6 2] -> [1 4 3 5 2], [1 4 2 5 3] [1 3 5 4 1] -> [2 3 …

1
การเพิ่มประสิทธิภาพการปัดบนคีย์บอร์ด 1D
นี่คือการท้าทายรหัสด้วยระบบการให้คะแนนที่กำหนดเองซึ่งคะแนนต่ำสุดชนะ บทนำ สมาร์ทโฟนหลายตัวอนุญาตให้ป้อนข้อความโดยเลื่อนนิ้วของคุณผ่านแป้นพิมพ์เสมือน 2D เทคโนโลยีนี้มักจะรวมกับอัลกอริทึมการทำนายที่แสดงรายการคำที่เดาซึ่งเรียงลำดับจากโอกาสที่จะเป็นไปได้น้อยที่สุด ในความท้าทายนี้: เราจะปัดข้ามแป้นพิมพ์หนึ่งมิติไปที่ชุดย่อยของตัวอักษร 26 ตัว จะไม่มีอัลกอริทึมการทำนาย : เราต้องการให้แต่ละคำระบุเฉพาะโดย 'swipe sequence' เราต้องการให้คีย์บอร์ดได้รับการปรับให้เหมาะสมในลักษณะที่จำนวนการย้ายทั้งหมดสำหรับรายการคำที่กำหนดจะลดลง รูดในมิติเดียว ด้านล่างนี้เป็นคีย์บอร์ด 1D เรียงตามพจนานุกรมด้วยตัวอักษรทั้งหมด: ABCDEFGHIJKLMNOPQRSTUVWXYZ หมายเหตุ: สิ่งนี้อาจปรากฏขึ้นในหลายแถวหากคุณเรียกดูจากมือถือ กรุณาคิดว่ามันเป็นแถวเดียว ในการป้อนคำว่า ' GOLF ' บนแป้นพิมพ์เราจะ: เริ่มต้นที่ G ปัดไปทางขวาเพื่อ O ปัดไปทางซ้ายเพื่อ F เพราะLตั้งอยู่ระหว่างOและFเราเพิ่งเลื่อนโดยไม่หยุด ดังนั้นลำดับรูด ' กอล์ฟ ' GOFบนแป้นพิมพ์นี้คือ ให้เป็นปกติมากกว่านี้: ตัวอักษรตัวแรกและตัวสุดท้ายจะรวมอยู่เสมอ ตัวอักษรอื่น ๆ จะรวมอยู่หากจำเป็นต้องมีการเปลี่ยนทิศทางหลังจากนั้นเท่านั้น ตัวอักษรที่ซ้ำกันจะต้องได้รับการปฏิบัติเช่นเดียวกับตัวอักษรเดียว ตัวอย่างเช่นบนแป้นพิมพ์ด้านบน: ' LOOP ' …

4
ค้นหาชุดอิสระที่ใหญ่ที่สุดในกราฟที่มีลักษณะเป็นโครงตาข่ายขนาดสูง
สำหรับจำนวนเต็มบวกให้พิจารณาสตริงไบนารีทั้งหมดของความยาวn 2n-1สำหรับสตริงที่กำหนดSให้Lเป็นอาร์เรย์ของความยาวnซึ่งมีการนับจำนวนของ1ในย่อยของระยะเวลาในแต่ละของn Sตัวอย่างเช่นถ้าn=3และแล้วS = 01010 L=[1,2,1]เราเรียกอาร์เรย์นับLS เราบอกว่าสองสายS1และS2ความยาวเดียวกันการแข่งขันถ้าอาร์เรย์นับของตนL1และL2มีคุณสมบัติที่L1[i] <= 2*L2[i]และสำหรับทุกL2[i] <= 2*L1[i]i งาน สำหรับการnเริ่มต้นที่เพิ่มขึ้นn=1ภารกิจคือการหาขนาดของชุดสตริงที่ใหญ่ที่สุดแต่ละความยาว2n-1เพื่อไม่ให้มีสองสตริงตรงกัน nรหัสของคุณควรส่งออกจำนวนหนึ่งต่อมูลค่าของ คะแนน คะแนนของคุณสูงที่สุดnซึ่งไม่มีใครโพสต์คำตอบที่ถูกต้องสูงกว่าสำหรับคำตอบของคุณ เห็นได้ชัดว่าถ้าคุณมีคำตอบที่ดีที่สุดแล้วคุณจะได้รับคะแนนสูงสุดสำหรับการnโพสต์ อย่างไรก็ตามแม้ว่าคำตอบของคุณจะไม่เหมาะสมคุณยังสามารถได้รับคะแนนหากไม่มีใครสามารถเอาชนะได้ ตัวอย่างคำตอบ สำหรับฉันได้รับn=1,2,3,42,4,10,16 ภาษาและห้องสมุด คุณสามารถใช้ภาษาและไลบรารีใด ๆ ที่คุณต้องการ หากเป็นไปได้จะเป็นการดีที่จะสามารถเรียกใช้รหัสของคุณได้ดังนั้นโปรดระบุคำอธิบายโดยละเอียดเกี่ยวกับวิธีเรียกใช้ / รวบรวมรหัสของคุณใน linux หากเป็นไปได้ รายการชั้นนำ 5โดย Martin BüttnerในMathematica 6โดย Reto Koradi ในc ++ 2, 4, 10, 16, 31, 47, 75, 111, 164, 232, 328, 445, …

4
สร้างซูโดกุ unsolver ขั้นต่ำ
ความพยายามของฉันในการระบุคำถามนี้แต่มีเกณฑ์การแก้ปัญหาที่เป็นเป้าหมายมากกว่า งานของคุณคือการสร้างโปรแกรมหรือฟังก์ชั่นที่ใช้กริด Sudoku ที่ได้รับการแก้ไขSในรูปแบบที่คุณเลือกและพยายามที่จะสร้างกริดปัญหาที่มีปมน้อยที่สุดเท่าที่จะทำได้ซึ่งSเป็นวิธีแก้ปัญหาเฉพาะ (ไม่สำคัญว่าวิธีการSใดจะเป็นวิธีการแก้ปัญหาที่ไม่ซ้ำกันโดยรวมถึงแรงเดรัจฉานตราบใดที่การแก้ปัญหาเป็นเอกลักษณ์พิสูจน์ได้) โปรแกรมของคุณจะได้คะแนนจากการรันผ่านชุดกริดการแก้ปัญหา 100,000 ชุดที่พบในไฟล์นี้ (ดาวน์โหลด 7.82 MB) และเพิ่มจำนวนเบาะแสในกริดปัญหา 100,000 ปัญหาที่โซลูชั่นของคุณสร้างขึ้น โซลูชัน Sudoku ในไฟล์ทดสอบด้านบนแสดงเป็นสตริงตัวอักษร 81 ตัวจากซ้ายไปขวาและจากบนลงล่าง รหัสที่ต้องใช้ในการแปลงอินพุตในไฟล์ทดสอบเป็นโซลูชันที่ใช้งานได้จะไม่นับรวมเป็นจำนวนไบต์ของโซลูชันของคุณ เช่นเดียวกับความท้าทายFlood Paintของฉันโปรแกรมของคุณต้องสร้างผลลัพธ์ที่ถูกต้องสำหรับปริศนาทั้งหมด 100,000 ตัวเพื่อพิจารณาว่าเป็นวิธีแก้ปัญหาที่ถูกต้อง โปรแกรมที่ให้ผลลัพธ์เบาะแสที่น้อยที่สุดสำหรับผู้ทดสอบ 100,000 รายนั้นเป็นผู้ชนะโดยมีรหัสที่สั้นลง กระดานคะแนนปัจจุบัน: 2,361,024 - nutki, C 2,580,210 - es1024, PHP 6,000,000 - CarpetPython, Python 2 7,200,000 - Joe Z. , Python

3
ชะตากรรมของคองคอร์ด
พื้นหลัง ปัญหาพนักงานขายที่เดินทาง (TSP) ขอวงจรที่สั้นที่สุดที่ผู้เข้าชมคอลเลกชันที่กำหนดของเมือง สำหรับจุดประสงค์ของคำถามนี้เมืองจะเป็นจุดในระนาบและระยะทางระหว่างพวกเขาจะเป็นระยะทางแบบยุคลิดตามปกติ(ปัดเศษเป็นจำนวนเต็มที่ใกล้เคียงที่สุด) วงจรจะต้องเป็น "ไปกลับ" หมายความว่ามันจะต้องกลับไปที่เมืองเริ่มต้น ตัวแก้ปัญหา Concorde TSPสามารถแก้ปัญหากรณีปัญหาพนักงานขาย Euclidean ที่เดินทางได้อย่างรวดเร็วและเร็วเกินคาด ตัวอย่างเช่น Concorde สามารถแก้ปัญหาอินสแตนซ์ 85,900 จุดได้อย่างแม่นยำซึ่งบางส่วนมีลักษณะดังนี้: อย่างไรก็ตามอินสแตนซ์ TSP บางรายการใช้เวลานานเกินไปสำหรับ Concorde ยกตัวอย่างเช่นไม่มีใครได้รับสามารถที่จะแก้ปัญหานี้เช่น 100,000 จุดบนพื้นฐานของโมนาลิซ่า (มีรางวัล $ 1,000 ให้ถ้าคุณสามารถแก้มันได้!) Concorde พร้อมให้ดาวน์โหลดในรูปของซอร์สโค้ดหรือไฟล์ที่เรียกใช้งานได้ โดยค่าเริ่มต้นจะใช้QSoptตัวแก้ปัญหาโปรแกรมเชิงเส้น (LP) ในตัวแต่ยังสามารถใช้ตัวแก้ปัญหา LP ที่ดีขึ้นเช่น CPLEX ความท้าทาย อินสแตนซ์ของ TSP ที่เล็กที่สุดที่คุณสามารถสร้างได้ใช้เวลานานกว่าห้านาทีในการแก้ไขคือConcorde คืออะไร คุณสามารถเขียนโปรแกรมเพื่อแสดงผลอินสแตนซ์หรือใช้วิธีอื่นที่คุณต้องการ เกณฑ์การให้คะแนน คะแนนน้อยลงในอินสแตนซ์ที่ดีกว่า ความสัมพันธ์จะถูกทำลายโดยขนาดไฟล์ของอินสแตนซ์ (ดูด้านล่าง) มาตรฐาน คอมพิวเตอร์หลายเครื่องทำงานเร็วหรือช้ากว่าดังนั้นเราจะใช้เซิร์ฟเวอร์ NEOS …

1
จัดเรียงด้วยเครือข่ายประสาท
ประสาทความท้าทายในการเล่นกอล์ฟสุทธิก่อนหน้า ( นี้และว่า ) แรงบันดาลใจที่จะก่อให้เกิดความท้าทายใหม่: ความท้าทาย ค้นหาเครือข่ายนิวรัล feedforward ที่เล็กที่สุดซึ่งให้เวกเตอร์อินพุต 4 มิติใด ๆ(a,b,c,d)(a,b,c,d)(a,b,c,d)กับรายการจำนวนเต็มใน[−10,10][−10,10][-10,10] , เครือข่ายเอาต์พุตsort(a,b,c,d)sort(a,b,c,d)\textrm{sort}(a,b,c,d)ด้วย ข้อผิดพลาดการประสานงานที่ชาญฉลาดอย่างเคร่งครัดมีขนาดเล็กกว่า0.50.50.50.5 ภัณฑ์ สำหรับความท้าทายนี้เป็นเครือข่ายประสาท feedforwardถูกกำหนดให้เป็นองค์ประกอบของชั้น ชั้นเป็นฟังก์ชันL:Rn→RmL:Rn→RmL\colon\mathbf{R}^n\to\mathbf{R}^mที่ระบุโดยเมทริกซ์A∈Rm×nA∈Rm×nA\in\mathbf{R}^{m\times n}ของน้ำหนัก , เวกเตอร์b∈Rmb∈Rmb\in\mathbf{R}^mของอคติและฟังก์ชั่นการเปิดใช้งาน f:R→Rf:R→Rf\colon\mathbf{R}\to\mathbf{R}ที่ใช้พิกัด - ฉลาด L(x):=f(Ax+b),x∈Rn.L(x):=f(Ax+b),x∈Rn. L(x) := f(Ax+b), \qquad x\in\mathbf{R}^n. เนื่องจากสามารถเปิดใช้งานฟังก์ชั่นการเปิดใช้งานสำหรับงานที่กำหนดเราจำเป็นต้อง จำกัด คลาสของฟังก์ชั่นการเปิดใช้งานเพื่อให้ความท้าทายนี้น่าสนใจ อนุญาตให้ใช้งานฟังก์ชั่นต่อไปนี้: เอกลักษณ์ f(t)=tf(t)=tf(t)=t Relu f(t)=max(t,0)f(t)=max⁡(t,0)f(t)=\operatorname{max}(t,0) Softplus f(t)=ln(et+1)f(t)=ln⁡(et+1)f(t)=\ln(e^t+1) แทนเจนต์ซึ่งเกินความจริง f(t)=tanh(t)f(t)=tanh⁡(t)f(t)=\tanh(t) sigmoid f(t)=etet+1f(t)=etet+1f(t)=\frac{e^t}{e^t+1} โดยรวมแล้ว, โครงข่ายประสาทที่ยอมรับได้ใช้รูปแบบLk∘Lk−1∘⋯∘L2∘L1Lk∘Lk−1∘⋯∘L2∘L1L_k\circ L_{k-1}\circ\cdots \circ L_2\circ …

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