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

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

4
การออกเสียงลงคะแนนส่วนใหญ่ด้วย Cellular Automata
มีปัญหาที่สำคัญจริงๆในเซลออโตมาตาที่เรียกว่าปัญหาส่วนใหญ่ : ปัญหาส่วนใหญ่หรืองานการจำแนกความหนาแน่นเป็นปัญหาของการค้นหากฎการเคลื่อนที่อัตโนมัติแบบมิติเดียวที่ดำเนินการลงคะแนนเสียงส่วนใหญ่ได้อย่างแม่นยำ ... เมื่อกำหนดค่าของเซลล์ออโตมาตาสองสถานะด้วยเซลล์ i + j ทั้งหมดซึ่ง i อยู่ในสถานะเป็นศูนย์และ j ซึ่งอยู่ในสถานะเดียวทางออกที่ถูกต้องสำหรับปัญหาการลงคะแนนจะต้องตั้งค่าเซลล์ทั้งหมดให้เป็นศูนย์ในที่สุด i> j และต้องตั้งค่าเซลล์ทั้งหมดให้เป็นหนึ่งถ้า i <j สถานะสุดท้ายที่ต้องการจะไม่ระบุหาก i = j แม้ว่าจะได้รับการพิสูจน์แล้วว่าไม่มีเซลลูลาร์ออโตมาตาสามารถแก้ไขปัญหาส่วนใหญ่ได้ในทุกกรณี แต่มีกฎหลายข้อที่สามารถแก้ไขได้ในกรณีส่วนใหญ่ หุ่นยนต์ Gacs-Kurdyumov-Levin มีความแม่นยำประมาณ 78% โดยมีเงื่อนไขเริ่มต้นแบบสุ่ม กฎ GKL ไม่ซับซ้อน: รัศมี 3 หมายถึงสถานะใหม่ของเซลล์ขึ้นอยู่กับ 7 เซลล์ก่อนหน้านี้: ตัวเอง 3 เซลล์ทางด้านขวาและ 3 เซลล์ทางด้านซ้าย หากเซลล์อยู่ในขณะนี้Oสถานะใหม่ของมันคือส่วนใหญ่ของตัวเองเซลล์ไปทางซ้ายและเซลล์ 3 ก้าวไปทางซ้าย หากเซลล์อยู่ในขณะนี้1สถานะใหม่ของมันคือส่วนใหญ่ของตัวเองเซลล์ทางด้านขวาและเซลล์ 3 ขั้นตอนไปทางขวา นี่คือตัวอย่าง: 0 …

9
พิกเซลแยกกันโดยไม่ซ้ำกัน
สำหรับภาพNโดยNค้นหาชุดของพิกเซลที่ไม่มีระยะห่างในการแยกมากกว่าหนึ่งครั้ง นั่นคือถ้าพิกเซลสองตัวถูกคั่นด้วยระยะทางdดังนั้นพวกเขาจะเป็นสองพิกเซลเท่านั้นที่แยกจากกันด้วยd (โดยใช้ระยะทางแบบยุคลิด ) โปรดทราบว่าdไม่จำเป็นต้องเป็นจำนวนเต็ม ความท้าทายคือการหาชุดที่มีขนาดใหญ่กว่าคนอื่น สเปค ไม่จำเป็นต้องป้อนข้อมูล - สำหรับการประกวดครั้งนี้Nจะได้รับการแก้ไขที่ 619 (เนื่องจากมีคนถามกันเรื่อย ๆ - ไม่มีอะไรพิเศษเกี่ยวกับหมายเลข 619 มันถูกเลือกให้มีขนาดใหญ่พอที่จะทำให้การแก้ปัญหาที่ดีที่สุดไม่น่าเป็นไปได้และมีขนาดเล็กพอที่จะให้ภาพ N แสดงขนาดเต็มมากถึง 630 x 630 และฉันตัดสินใจที่จะไปกับนายกที่ใหญ่ที่สุดที่ไม่เกินขนาดนั้น) เอาต์พุตเป็นรายการที่คั่นด้วยช่องว่างของจำนวนเต็ม จำนวนเต็มแต่ละตัวในเอาต์พุตแสดงถึงหนึ่งพิกเซลที่กำหนดหมายเลขตามลำดับการอ่านภาษาอังกฤษจาก 0 ตัวอย่างเช่นสำหรับN = 3 ตำแหน่งจะถูกกำหนดหมายเลขตามลำดับนี้: 0 1 2 3 4 5 6 7 8 คุณสามารถส่งออกข้อมูลความคืบหน้าในระหว่างการทำงานหากคุณต้องการตราบใดที่ผลลัพธ์การให้คะแนนขั้นสุดท้ายนั้นสามารถทำได้ง่าย คุณสามารถส่งออกไปยัง STDOUT หรือไฟล์หรืออะไรก็ตามที่ง่ายที่สุดสำหรับการวางลงใน Stack Snippet Judge ด้านล่าง ตัวอย่าง N = …

1
รับรายการวงกลมส่งออกพื้นที่ของสี่เหลี่ยมที่เล็กที่สุดที่มี
คุณจะได้รับรายชื่อรัศมีคุณจะต้องส่งออกพื้นที่ของสี่เหลี่ยมเล็ก ๆ ที่พวกเขาจะพอดี ตัวอย่างเช่นกำหนดรายการที่คุณจะเอาท์พุท[5,3,1.5]157.460 นี่คือภาพ: ความกว้างคือ 15.7460 และความสูงคือ 10 ดังนั้นพื้นที่คือ 157.460 กฎ: คุณได้รับรายการผ่าน stdin หรือฟังก์ชันอาร์กิวเมนต์เอาท์พุทคำตอบผ่าน stdout หรือฟังก์ชันส่งคืน รัศมีจะมีทศนิยมได้ไม่เกิน 2 ตำแหน่ง รายการจะมีความยาวระหว่าง 2 ถึง 6 ผลลัพธ์ควรมีความถูกต้องถึงทศนิยม 3 ตำแหน่งหรือมากกว่า หากคุณต้องการπ = 3.1416 กรณีทดสอบ: [5,3,1.5] = 157.460 [9,4,8,2] = 733.431- การทำงานที่นี่ [18,3,1] = 1296.000 รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ

3
การซ้อนกล่องอย่างหนัก
คุณมีกล่องจำนวนมากและคุณต้องการกองซ้อนในจำนวนที่น้อยที่สุดที่เป็นไปได้ ปัญหาคือคุณไม่สามารถซ้อนกล่องมากกว่าหนึ่งกล่องบนกล่องรองรับได้ดังนั้นกล่องที่หนักกว่าต้องอยู่ด้านล่างของสแต็ก ความท้าทาย อินพุต : รายการน้ำหนักของกล่องทั้งหมดเป็นกิโลกรัม ผลลัพธ์ : รายการของรายการที่อธิบายถึงสแต็กของกล่อง ต้องใช้จำนวนสแต็กน้อยที่สุดที่เป็นไปได้สำหรับอินพุต ในการเป็นสแต็กที่ถูกต้องน้ำหนักของแต่ละกล่องในสแต็กจะต้องมากกว่าหรือเท่ากับผลรวมของน้ำหนักของกล่องทั้งหมดข้างบน ตัวอย่างของสแต็คที่ถูกต้อง (เรียงลำดับจากล่างขึ้นบน) [3] [1, 1] [3, 2, 1] [4, 2, 1, 1] [27, 17, 6, 3, 1] [33, 32, 1] [999, 888, 99, 11, 1] ตัวอย่างของกองที่ไม่ถูกต้อง (ตามลำดับจากล่างขึ้นบน) [1, 2] [3, 3, 3] [5, 5, 1] [999, 888, 777] [4, …

13
ทำให้ฉันเป็นเวทย์มนตร์ขั้นต่ำ
ทำให้ความท้าทายนี้สั้น คุณได้รับหมายเลข 4: p1, p2, p3 และ p4 ผลรวมเวทย์มนตร์ของตัวเลขถูกกำหนดดังนี้: magic_sum = |p1 - p2| + |p2 - p3| + |p3 - p4| + |p4 - p1| คุณได้รับอนุญาตให้เปลี่ยนหนึ่งในค่าจำนวนเต็มข้างต้นเท่านั้น (p1, p2, p3 หรือ p4) คุณต้องเปลี่ยนค่าเพื่อให้ผลรวมเวทย์มนตร์ของค่าบรรลุค่าขั้นต่ำ ตัวอย่างเช่น: p1, p2, p3, p4 = 17, -6, 15, 33. ค่าของผลรวมเวทย์มนตร์คือ 78 ในกรณีนี้ คุณสามารถเปลี่ยน -6 ที่นี่เป็น 16 …

2
เครือข่ายประสาทสามารถรับรู้เฉพาะช่วงเวลาได้หรือไม่?
พื้นหลัง การตระหนักถึงความเป็นดั้งเดิมดูเหมือนว่าจะเหมาะสมสำหรับเครือข่ายประสาทเทียม อย่างไรก็ตามทฤษฎีบทการประมาณสากลระบุว่าเครือข่ายประสาทสามารถประมาณฟังก์ชันต่อเนื่องใด ๆ ดังนั้นโดยเฉพาะอย่างยิ่งมันควรจะเป็นไปได้ที่จะเป็นตัวแทนของฟังก์ชั่นการสนับสนุนที่มีขอบเขตอย่างใดอย่างหนึ่งปรารถนา งั้นลองพยายามจดจำช่วงเวลาทั้งหมดในจำนวนล้านแรก แม่นยำยิ่งขึ้นเพราะนี่คือเว็บไซต์การเขียนโปรแกรมเราไปถึง 2 ^ 20 = 1,048,576 จำนวนช่วงเวลาที่ต่ำกว่าเกณฑ์นี้คือ 82,025 หรือประมาณ 8% ท้าทาย คุณจะพบว่าเครือข่ายประสาทมีขนาดเล็กเพียงใดซึ่งจำแนกประเภทจำนวนเต็ม 20 บิตทั้งหมดให้เป็นไพร์มหรือไม่ไพร์มได้อย่างถูกต้อง? สำหรับวัตถุประสงค์ของการท้าทายนี้ขนาดของโครงข่ายประสาทเทียมคือจำนวนน้ำหนักและอคติทั้งหมดที่ต้องใช้ในการเป็นตัวแทน รายละเอียด เป้าหมายคือเพื่อลดขนาดของเครือข่ายประสาทเดี่ยวที่ชัดเจน อินพุตไปยังเครือข่ายของคุณจะเป็นเวกเตอร์ที่มีความยาว 20 ซึ่งประกอบด้วยบิตแต่ละส่วนของจำนวนเต็มซึ่งแสดงด้วย 0s และ 1s หรืออีกทางเลือกด้วย -1s และ + 1s การเรียงลำดับเหล่านี้อาจเป็นบิตที่มีนัยสำคัญมากที่สุดก่อนหรือมีนัยสำคัญน้อยที่สุดก่อน ผลลัพธ์ของเครือข่ายของคุณควรเป็นตัวเลขเดียวเช่นที่ด้านบนบางส่วนของการตัดออกที่ได้รับการยอมรับว่าดีที่สุดและต่ำกว่าการตัดสัญญาณเดียวกันที่ได้รับการยอมรับว่าไม่สำคัญ ตัวอย่างเช่นค่าบวกอาจหมายถึงค่านายก (และค่าลบไม่ถึงค่านายก) หรืออีกทางเลือกหนึ่งที่มากกว่า 0.5 อาจหมายถึงจำนวนเฉพาะ (และน้อยกว่า 0.5 ไม่ใช่จำนวนเฉพาะ) เครือข่ายจะต้องมีความถูกต้อง 100% สำหรับอินพุตที่เป็นไปได้ทั้งหมด 2 ^ 20 …

1
เพิ่มประสิทธิภาพคอมไพเลอร์สำหรับการเขียนโปรแกรมภาษาโปแลนด์ย้อนกลับง่าย
ลักษณะ จินตภาพการเขียนโปรแกรมภาษา (IPL) ใช้สัญลักษณ์ย้อนกลับโปแลนด์ มันมีคำสั่งดังต่อไปนี้: i - ใส่หมายเลขแล้วดันไปที่สแต็ก o - เอาท์พุทแบบไม่ทำลายด้านบนของสแต็ค (จำนวนยังคงอยู่บนสแต็ก) d - ยกเลิกด้านบนสุดของสแต็ก จำนวนเต็ม - กดตัวเลขนี้ไปที่สแต็ก + - * - ป๊อปอัพตัวเลขสองตัวจากสแต็คดำเนินการที่สอดคล้องกันและผลักดันผลลัพธ์ ไม่มีการแบ่งใน IPL IPL ทำงานได้เฉพาะกับจำนวนเต็มและใช้สำหรับการคำนวณอย่างง่าย โปรแกรม IPL ถูกเขียนบนหนึ่งบรรทัดและคั่นด้วยช่องว่าง สตริงว่างเปล่าเป็นโปรแกรม IPL ที่ถูกต้อง โปรแกรม IPL: i i + o ใส่ตัวเลขสองตัวเพิ่มเข้าด้วยกันแล้วส่งผลลัพธ์ จำนวนอินพุตและจำนวนเต็มที่สามารถพุชไปยังสแต็กนั้นอยู่ในช่วง [-999, 999] แต่เอาต์พุตสามารถมีได้ หากภาษาของคุณไม่รองรับตัวเลขขนาดใหญ่ก็ถือว่าใช้ได้ รูปแบบอินพุต / เอาต์พุต คุณสามารถเลือกรูปแบบอินพุต / …

3
ใช้การจัดช่องไฟแบบง่าย
บทนำ การจัดช่องไฟหมายถึงการปรับระยะห่างระหว่างตัวอักษรของข้อความ ยกตัวอย่างพิจารณาคำที่Topเขียนด้วยร่ายมนตร์ต่อไปนี้สามอัน: ##### ..... ..... ..#.. ..... ..... ..#.. ..##. .###. ..#.. .#..# .#..# ..#.. .#..# .#..# ..#.. ..##. .###. ..... ..... .#... ..... ..... .#... เราสามารถเติมช่องว่างระหว่างร่ายมนตร์ด้วยจุดแล้วเติมลงไปได้ แต่ช่องว่างก็ดูกว้างเกินไป แต่เราเลื่อนร่ายมนตร์ไปทางซ้ายเพื่อให้พวกมันสัมผัสเกือบ: #####........ ..#.......... ..#..##..###. ..#.#..#.#..# ..#.#..#.#..# ..#..##..###. .........#... .........#... มันดูดีขึ้นมาก! หมายเหตุวิธีบาร์ของด้านบนของเส้นขอบด้านซ้ายของT oในการท้าทายนี้งานของคุณคือการใช้โปรแกรมการจัดช่องไฟอย่างง่ายสำหรับร่ายมนตร์รูปสี่เหลี่ยมผืนผ้าดังกล่าว กระบวนการจัดช่องไฟ พิจารณาสองสี่เหลี่ยม 2D อาร์เรย์ของตัวอักษร.และ#รูปทรงเดียวกัน ในขั้นตอนการจัดช่องไฟอย่างง่ายของเราอันดับแรกเราวางอาร์เรย์แบบเรียงต่อกันโดยมีคอลัมน์หนึ่งคอลัมน์.อยู่ระหว่างกัน จากนั้นเราย้ายแต่ละรายการ#ในอาเรย์ขวาหนึ่งก้าวไปทางซ้ายจนกระทั่ง#อาเรย์ซ้ายและขวาบางอันอยู่ติดกันแบบมุมฉากหรือแนวทแยงมุม ผลลัพธ์ของการจัดช่องไฟเป็นขั้นตอนก่อนที่เราจะแนะนำ#s ที่อยู่ติดกัน งานของคุณคือการใช้กระบวนการนี้ …
24 code-golf  grid  code-challenge  atomic-code-golf  code-golf  combinatorics  probability-theory  card-games  code-golf  number  geometry  code-golf  decision-problem  chess  code-golf  math  number  sequence  code-golf  string  regular-expression  code-golf  arithmetic  integer  code-golf  math  array-manipulation  code-golf  number  decision-problem  integer  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  decision-problem  graph-theory  binary-matrix  code-golf  string  parsing  code-golf  string  code-golf  morse  code-golf  code-golf  string  code-golf  ascii-art  cellular-automata  code-golf  binary  base-conversion  code-golf  arithmetic  decision-problem  integer  checksum  code-golf  matrix  linear-algebra  code-golf  code-golf  game  code-golf  sequence  binary  code-golf  combinatorics  optimization  code-golf  decision-problem  quine  code-golf  rational-numbers  bitwise  code-golf  string  permutations  code-golf  kolmogorov-complexity  unicode  code-golf  ascii-art  number  code-golf  number  integer  binary  base-conversion  code-golf  array-manipulation  code-golf  chemistry  code-golf  number  sequence  fibonacci  code-golf  matrix  optimization  code-golf  number  code-golf  math  number  sequence  code-golf  math  array-manipulation  matrix  linear-algebra  code-golf  kolmogorov-complexity  cops-and-robbers  cops-and-robbers  code-golf  tips  basic  code-golf  decision-problem  binary  tiling  game  king-of-the-hill  python  code-golf  c  code-golf  ascii-art  code-golf  string  kolmogorov-complexity  alphabet  code-golf  number  code-golf  string  code-golf  number  sequence  integer  code-golf  number  permutations  restricted-complexity  restricted-time 

2
คำนวณจำนวนการรันสูงสุดที่เป็นไปได้สำหรับสตริงที่มีขนาดใหญ่ที่สุด
[คำถามนี้เป็นการติดตามการคำนวณการวิ่งของสตริง ] ช่วงเวลาpของสตริงwคือจำนวนเต็มบวกใด ๆpเช่นว่าw[i]=w[i+p] เมื่อใดก็ตามที่ทั้งสองด้านของสมการนี้ถูกกำหนด อนุญาตแสดงขนาดของระยะเวลาที่เล็กที่สุดของper(w) wเราบอกว่าสตริงwเป็น per(w) <= |w|/2IFF ดังนั้นอย่างไม่เป็นทางการสตริงธาตุเป็นเพียงสตริงที่ทำขึ้นจากสตริงอื่นทำซ้ำอย่างน้อยหนึ่งครั้ง ภาวะแทรกซ้อนเพียงอย่างเดียวคือในตอนท้ายของสตริงเราไม่ต้องการสำเนาเต็มของสตริงซ้ำตราบใดที่มันถูกทำซ้ำอย่างครบถ้วนอย่างน้อยหนึ่งครั้ง x = abcabสำหรับตัวอย่างพิจารณาสตริง per(abcab) = 3เป็นx[1] = x[1+3] = a, x[2]=x[2+3] = bและไม่มีระยะเวลาที่มีขนาดเล็ก สตริงabcabจึงไม่เป็นระยะ อย่างไรก็ตามสตริงababaเป็นระยะ ๆ per(ababa) = 2เป็น ในฐานะที่เป็นตัวอย่างเพิ่มเติมabcabca, ababababaและabcabcabcนอกจากนี้ยังมีเป็นระยะ ๆ สำหรับผู้ที่ชอบ regexes คนนี้ตรวจพบว่าสตริงเป็นระยะหรือไม่: \b(\w*)(\w+\1)\2+\b ภารกิจคือค้นหาสตริงย่อยตามระยะเวลาสูงสุดทั้งหมดในสตริงที่ยาวกว่า บางครั้งเรียกว่าการวิ่งในวรรณกรรม สตริงย่อยwเป็นระยะย่อยสูงสุด (วิ่ง) ถ้ามันเป็นระยะเวลาและค่ามิได้w[i-1] = w[i-1+p] w[j+1] = w[j+1-p]อย่างไม่เป็นทางการ "รัน" ไม่สามารถอยู่ใน …

3
ฝาครอบสี่เหลี่ยมผืนผ้าขั้นต่ำ
สี่เหลี่ยมผืนผ้าครอบคลุม สมมติว่าคุณมีเมทริกซ์ของบิตตัวอย่างเช่นต่อไปนี้ 1 1 0 0 0 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 0 1 1 0 1 1 1 0 1 เราอยากหาสี่เหลี่ยมครอบคลุมสำหรับเมทริกซ์นี้ มันเป็นชุดของเซตย่อยสี่เหลี่ยมของเมทริกซ์ที่ไม่มี 0 ใด ๆ แต่รวมกันประกอบด้วย 1s ทั้งหมด …

5
ทริกเกอร์ปล่องและป้องกันแจ็คพอต
คุณจะเข้าร่วมในเกมอย่างไร หนึ่งในความท้าทายทำงานดังนี้: ห้องแรกมีลูกบอลเหมือนกันจำนวนมาก ห้องที่สองมีชุดของรางซึ่งแต่ละห้องมีเซ็นเซอร์ซึ่งนับจำนวนลูกบอลที่ถูกวางไว้ในนั้น ลูกบอลที่วางในรางไม่สามารถกู้คืนได้ รางแต่ละอันจะทริกเกอร์หลังจากมีการวางลูกจำนวนหนึ่ง ( จำนวนการเรียกใช้ทริกเกอร์ ) เมื่อมันก่อให้เกิดการกระพริบไฟเสียงและทำให้คุณไม่ต้องสงสัยเลยว่ามันได้ถูกทริกเกอร์ คุณต้องเปิดใช้งานNปล่องเพื่อดำเนินการท้าทายต่อไป คุณรู้ว่าจำนวนการเรียกทริกเกอร์ แต่ไม่ใช่การโต้ตอบระหว่างการนับและการเปลี่ยนราง คุณมีโอกาสหนึ่งที่จะเอาลูกบอลจากห้องแรกไปสู่ห้องที่สอง เมื่อคุณวางลูกบอลลงในรางคุณจะไม่สามารถกลับไปเล่นลูกอื่นได้อีก ลูกบอลแต่ละลูกที่คุณนำมาหักเงินจากแจ็คพอต เห็นได้ชัดว่าคุณต้องการให้แน่ใจว่าคุณจะผ่านการท้าทาย แต่คุณต้องการลดการสูญเสียเงินแจ็คพอต เขียนโปรแกรมฟังก์ชั่นคำกริยา ฯลฯ เพื่อบอกจำนวนลูกบอลที่คุณต้องการ ตัวอย่าง สมมติว่าจำนวนทริกเกอร์คือ 2, 4 และ 10 และคุณต้องทริกเกอร์ 2 ตัวเพื่อผ่าน มีกลยุทธ์ในการส่งต่อด้วย 10 ลูกคือ: วางได้ถึง 4 ลูกในรางแรก, ถึง 4 ลูกในรางที่สอง, และมากถึง 4 ลูกในรางที่สาม เนื่องจากหนึ่งในสามของรางจะเริ่มทำงานหลังจากเพียง 2 ลูกคุณจะใช้ทั้งหมด 10 ลูกเท่านั้นไม่มีกลยุทธ์ใดที่รับประกันว่าจะทำงานได้น้อยกว่า 10 ดังนั้นนั่นคือผลลัพธ์ที่ถูกต้อง อินพุต …

2
ปรับการเรียงลำดับให้เหมาะสมโดยใช้“ การพลิกกลับ Sub-vector”
นี่เป็นความท้าทายในการดำเนินงานที่น้อยที่สุดโดยมีวัตถุประสงค์เพื่อจัดเรียงเวกเตอร์เป็นลำดับจากน้อยไปหามากโดยใช้การกลับรายการที่น้อยที่สุด อัลกอริทึมของคุณสามารถเรียงลำดับเวกเตอร์โดยใช้ "การสลับกลับ sub-vector" 1แต่สามารถใช้การดำเนินการอื่นสำหรับการดำเนินการทางคณิตศาสตร์ลูปตรวจสอบว่าเรียงลำดับหรือไม่เป็นต้นจำนวนการสลับกลับของเวกเตอร์ย่อย 1 A "การกลับรายการย่อยของเวกเตอร์": เลือกช่วงของตัวเลขในเวกเตอร์และย้อนกลับองค์ประกอบในช่วงนั้น ในการให้ตัวอย่างง่ายๆถ้าคุณเริ่มต้นด้วยเวกเตอร์{4,3,2,1}คุณสามารถเรียงลำดับได้หลายวิธี: ย้อนกลับเวกเตอร์ทั้งหมด เห็นได้ชัดว่านี่เป็นวิธีที่สั้นที่สุดเนื่องจากต้องการการกลับรายการเพียงครั้งเดียวเท่านั้น:{4,3,2,1} -> {1,2,3,4} คุณสามารถทำบับเบิลการเรียงลำดับซึ่งต้องย้อนกลับ 6 ครั้ง: {4,3,2,1} -> {3,4,2,1} -> {3,2,4,1} -> {2,3,4,1} -> {2,3,1,4} -> {2,1,3,4} -> {1,2,3,4} คุณสามารถเริ่มต้นด้วยองค์ประกอบ 3 ประการแรกจากนั้นจึงสามองค์ประกอบสุดท้ายและสุดท้ายทั้งสององค์ประกอบแรกและอีกสองครั้งสุดท้ายซึ่งต้องใช้ 4 swaps: {4,3,2,1} -> {2,3,4,1} -> {2,1,4,3} -> {1,2,4,3} -> {1,2,3,4} ... และต่อไป มีตัวเลือกไม่ จำกัด จำนวน (คุณสามารถทำซ้ำการดำเนินการใด …

23
รูปแปดเหลี่ยมศิลปะ ASCII
รับค่าอินพุทจำนวนเต็มn > 1ส่งออกรูปแปดเหลี่ยม ASCII-art ที่มีความยาวด้านข้างประกอบด้วยnอักขระ ดูตัวอย่างด้านล่าง: n=2 ## # # # # ## n=3 ### # # # # # # # # # # ### n=4 #### # # # # # # # # # # # # # # # # #### n=5 ##### # # # …
22 code-golf  ascii-art  code-golf  geometry  code-golf  balanced-string  code-golf  cops-and-robbers  code-challenge  cops-and-robbers  code-golf  code-golf  random  cryptography  code-golf  array-manipulation  number  code-challenge  integer  code-golf  math  integer  code-golf  math  math  parsing  image-processing  test-battery  math  number  combinatorics  fastest-code  code-golf  code-golf  math  number-theory  rational-numbers  polynomials  code-golf  math  geometry  code-golf  code-golf  number-theory  primes  factoring  code-golf  restricted-source  code-golf  string  decision-problem  counting  code-golf  math  sequence  fibonacci  code-golf  array-manipulation  counting  code-golf  array-manipulation  number-theory  code-golf  array-manipulation  code-golf  random  code-golf  string  hexadecimal  code-golf  string  code-challenge  sorting  code-golf  number  floating-point  code-golf  sorting  code-golf  decision-problem  fibonacci  code-golf  number  combinatorics  code-golf  string  code-golf  math  code-golf  electrical-engineering  code-golf  javascript  code-golf  base-conversion  code-golf  array-manipulation  matrix  binary-matrix  code-golf  kolmogorov-complexity  python  perl  ruby  code-golf  number  code-golf  optimization  integer-partitions  code-golf  string  code-golf  ascii-art 

2
การเขียนโปรแกรมเชิงเส้นจำนวนเต็ม
บทนำ เขียนแก้สำหรับการเขียนโปรแกรมเชิงเส้นจำนวนเต็ม ท้าทาย งานของคุณคือเขียนตัวแก้สำหรับการเขียนโปรแกรมเชิงเส้นจำนวนเต็ม (ILP) ใน ILP จะได้รับอสมการเชิงเส้นของเซตของ unknowns (ซึ่งทั้งหมดเป็นจำนวนเต็ม) และเป้าหมายคือการค้นหาขั้นต่ำหรือสูงสุดของฟังก์ชันเชิงเส้น ตัวอย่างเช่นสำหรับความไม่เท่าเทียมกัน (ตัวอย่างที่นำมาจากการเขียนโปรแกรมเชิงเส้นจำนวนเต็มแบบผสม ) 4x+2y-15≤0 x+2y- 8≤0 x+ y- 5≤0 - x ≤0 - y ≤0 และฟังก์ชั่นวัตถุประสงค์3x+2yสูงสุดของฟังก์ชั่นวัตถุประสงค์ควรจะ12( x=2,y=3) ในขณะที่ขั้นต่ำควรจะ0( x=y=0) อินพุตถูกกำหนดเป็นอาร์เรย์ 2d (หรือเทียบเท่าตามข้อกำหนดมาตรฐาน) แต่ละแถวสอดคล้องกับความไม่เท่าเทียมกันหนึ่งข้อยกเว้นแถวสุดท้าย ตัวเลขในอาร์เรย์เป็นค่าสัมประสิทธิ์และ≤0ส่วนที่ถูกละเว้นเสมอ หากมีnองค์ประกอบในแต่ละแถวก็หมายความว่ามีn-1สิ่งแปลกปลอม แถวสุดท้ายของอาร์เรย์สอดคล้องกับฟังก์ชันเชิงเส้น ค่าสัมประสิทธิ์มีการระบุไว้ ตัวอย่างเช่นอาร์เรย์อินพุตสำหรับปัญหาข้างต้นคือ [[4,2,-15],[1,2,-8],[1,1,-5],[-1,0,0],[0,-1,0],[3,2,0]]. ผลลัพธ์ควรเป็นค่าต่ำสุดและค่าสูงสุดที่กำหนดในรูปแบบที่สมเหตุสมผล สำหรับปัญหาต่อไปนี้ (ข้อ จำกัด สองข้อถูกนำออกจากปัญหาข้างต้น): [[4,2,-15],[1,2,-8],[1,1,-5],[3,2,0]]. สูงสุดยังคงอยู่12แต่ค่าต่ำสุดไม่มีอยู่และฟังก์ชันวัตถุประสงค์สามารถมีค่าลบขนาดใหญ่ตามอำเภอใจ (ในแง่ของค่าสัมบูรณ์) ในกรณีนี้โปรแกรมควรส่งออก12ตามค่าเท็จที่ตัดสินใจโดยผู้ตอบ อีกกรณีหนึ่งคือไม่มีวิธีแก้ปัญหาเลยตัวอย่างเช่น …

11
โรงงานบรรจุผลไม้
ภารกิจของคุณคือการสร้างอัลกอริทึม (โปรแกรมหรือฟังก์ชั่น) ที่สามารถเพิ่มประสิทธิภาพการบรรจุผลไม้จากสายพานลำเลียงลงในถุงเพื่อส่งไปยังผู้ค้าปลีกเพื่อปรับให้เหมาะสมกับจำนวนถุงมากที่สุด กระเป๋าแต่ละใบจะต้องมีน้ำหนักอย่างน้อยจำนวนหนึ่ง แต่ส่วนเกินใด ๆ จะสูญเสียกำไรเนื่องจากน้ำหนักนั้นสามารถใช้เพื่อเติมถุงอื่นได้ เครื่องบรรจุถุงของคุณมีnผลไม้ที่มองจากคิวเสมอและอาจเลือกที่จะเพิ่มnผลไม้ใด ๆ เหล่านี้ลงในถุง (ถุงเดียว) ที่กำลังดำเนินการ ไม่สามารถดูเกินnองค์ประกอบแรกในคิว โปรแกรมรู้เสมอว่ามีน้ำหนักอยู่ในกระเป๋าเท่าไหร่ อีกวิธีในการมองเห็นสิ่งนี้คือการมีสายพานลำเลียงที่มีพื้นที่รับน้ำหนักขนาดใหญ่nในตอนท้ายจากจุดที่ผลไม้ต้องถูกนำไปก่อนที่ผลไม้ใหม่จะมาถึง ผลไม้ที่เหลือและถุงที่ไม่เต็มในตอนท้ายจะถูกทิ้ง ปัจจัยการผลิต รายการ / อาร์เรย์ของน้ำหนักผลไม้ในคิว (จำนวนเต็มบวก) น้ำหนักรวมขั้นต่ำสำหรับถุง (จำนวนเต็มบวก) Lookahead n(จำนวนเต็มบวก) เอาท์พุต อัลกอริทึมของคุณควรกลับไปหาน้ำหนักของผลไม้ในถุงด้วยวิธีใดก็ตามที่สะดวกสำหรับคุณและภาษาของคุณไม่ว่าจะเป็น stdin หรือค่าตอบแทนหรืออย่างอื่น คุณควรจะสามารถรันโปรแกรมและคำนวณคะแนนในหนึ่งนาทีบนคอมพิวเตอร์ของคุณ ตัวอย่าง Total weight 1000, lookahead of 3 and fruit queue: [171,163,172,196,156,175,162,176,155,182,189,142,161,160,152,162,174,172,191,185] One possible output (indented to show how the lookahead …

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