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

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

2
“ ปัญหาการหยิบพิซซ่า” แก้ไขได้อย่างไรโดยใช้เทคนิคการเขียนโปรแกรมแบบไดนามิก?
ปัญหาการเลือกพิซซ่าของ Winkler: พายพิซซ่าวงกลมของnชิ้นที่ชิ้นiมีพื้นที่S_iเช่นพื้นที่ที่แตกต่างกันสำหรับแต่ละชิ้นพาย ผู้เสพอลิซและบ๊อบผลัดกันหยิบชิ้น แต่มันหยาบคายที่จะสร้างช่องว่างหลายแห่งในวงกลม (พิจารณาว่าไม่ได้รับอนุญาต) ดังนั้นผู้กินแต่ละคนจะถูก จำกัด ให้รับหนึ่งในสองชิ้นติดกับพื้นที่เปิด อลิซไปก่อนแล้วผู้เสพทั้งคู่หาทางพายให้ได้มากที่สุด อัลกอริธึมการเขียนโปรแกรมแบบไดนามิกจะกำหนดได้อย่างไรว่าอลิซพายกินอย่างไรถ้าทั้งอลิซและบ๊อบเล่นได้อย่างสมบูรณ์แบบเพื่อเพิ่มการใช้พิซซ่าให้ได้มากที่สุด? ความเข้าใจของฉัน: ในปัญหา DP ทั่วไปเราดำเนินการต่อไปด้วยการค้นหาปัญหาย่อยซึ่งสามารถมองเห็นได้โดยใช้แผนผังการเรียกซ้ำหรือใช้ DAG ให้แน่นขึ้น ที่นี่ฉันไม่พบโอกาสในการค้นหาปัญหาย่อยที่นี่ ที่นี่สำหรับชุด S_i s หนึ่งชุดเราต้องเพิ่มพื้นที่ส่วนที่กินโดย Alice ให้มากที่สุด สิ่งนี้จะขึ้นอยู่กับการเลือกวิธีเรียงสับเปลี่ยนชิ้นพิซซ่า (n-1) เรียงสับเปลี่ยน การเลือกชิ้นส่วนพื้นที่สูงสุดจากสองตัวเลือกที่มีอยู่ในทุก ๆ n \ 2 ทำให้อลิซได้รับแล้วจะให้พื้นที่ทั้งหมดของชิ้นเพื่อเปลี่ยนรูป เราจำเป็นต้องค้นหาพื้นที่ของชิ้นสำหรับการเรียงสับเปลี่ยนทั้งหมด แล้วค่าสูงสุดจากสิ่งเหล่านี้ ใครสามารถช่วยฉันในการก้าวไปข้างหน้า?

6
ด่วนและไม่ต้องกังวล
โดยเฉพาะอย่างยิ่งเมื่อเขียนแอปพลิเคชัน 'มาตรฐาน' (ไม่ใช่ HPC) คุณพิจารณาว่าอัลกอริทึมการเรียงลำดับที่จะเลือกหรือเพียงแค่ชำระด้วย quicksort (ซึ่งเป็นไลบรารีส่วนใหญ่ที่เรียกการเรียงลำดับ)? อาจมีผลกำไรในบางสถานการณ์ แต่ในทางกลับกันการเพิ่มประสิทธิภาพที่เหมาะสมต้องใช้เวลาในการวิเคราะห์ปัญหาและสร้างมาตรฐาน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.