คำถามติดแท็ก knapsack-problem

4
ทำไมเป้มีปัญหา pseudo-polynomial?
ฉันรู้ว่าKnapsackNP สมบูรณ์ในขณะที่ DP สามารถแก้ไขได้ พวกเขากล่าวว่าโซลูชัน DP คือpseudo-polynomialเนื่องจากเป็นเลขชี้กำลังใน "ความยาวของอินพุต" (เช่นจำนวนบิตที่ต้องใช้ในการเข้ารหัสอินพุต) น่าเสียดายที่ฉันไม่ได้รับมัน ใครช่วยอธิบายpseudo-polynomialเรื่องนั้นให้ฉันฟังช้าๆ

2
รับการรวมกันที่มีประสิทธิภาพมากที่สุดของรายการวัตถุขนาดใหญ่ตามเขตข้อมูล
ฉันต้องการเพิ่มจำนวนดาวตามงบประมาณและขีด จำกัด สูงสุดของชุดค่าผสม ตัวอย่างคำถาม: ด้วยงบประมาณ 500 ยูโรเยี่ยมชมร้านอาหารที่อนุญาตสูงสุดหรือน้อยกว่ารับประทานอาหารและเก็บดาวให้ได้มากที่สุด ฉันกำลังมองหาที่จะเขียนอัลกอริทึมที่มีประสิทธิภาพซึ่งสามารถประมวลผลอินสแตนซ์ร้านอาหาร 1 ล้านร้านได้สูงสุด 10 ร้านอาหาร หมายเหตุนี่เป็นคำถามข้ามที่ฉันถามเมื่อวานนี้: Java: รับชุดค่าผสมที่มีประสิทธิภาพมากที่สุดของรายการวัตถุขนาดใหญ่ตามเขตข้อมูล วิธีแก้ปัญหาด้านล่างจะกำหนด 15 $ ต่อดาวให้กับr8ร้านอาหารซึ่งหมายความว่าเมื่อสร้างรายชื่อมันจะใส่เข้าไปในรายการก่อนและส่วนที่เหลือ 70 $ จะได้รับเพียง 2 ดาวเท่านั้นที่ให้รวม 4 ดาว อย่างไรก็ตามถ้ามันฉลาดพอที่จะข้ามr8ร้านอาหาร (แม้ว่าจะเป็นอัตราส่วนที่ดีที่สุดต่อหนึ่งดาว) r1ร้านอาหารจะเป็นตัวเลือกที่ดีกว่าสำหรับงบประมาณเพราะมันมีราคา 100 ดอลลาร์และ 5 ดาว ทุกคนสามารถช่วยลองแก้ปัญหาและเอาชนะวิธีแก้ปัญหาปัจจุบันได้หรือไม่ import itertools class Restaurant(): def __init__(self, cost, stars): self.cost = cost self.stars = stars self.ratio = …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.