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

1
การจัดทำดัชนีอย่างรวดเร็วของชุดค่าผสม k
ฉันกลับมาทบทวนปัญหาเก่าที่เคยทำมาก่อนหน้านี้แล้ว สถานการณ์ทั่วไปคือ "3 บิตตั้งอยู่ภายในจำนวนเต็ม 8 บิต" เช่น 00000111 ชุดค่าผสมที่ไม่ซ้ำกันทั้งหมดที่มี 3 ชุดบิตสามารถสร้างได้ง่าย (ตามลำดับ) โดยลูปซ้อนกัน สิ่งที่ฉันสนใจคือชุดค่าดัชนีการแม็พ <-> เช่น "00001011" จะเป็นชุดค่าผสมที่สอง (หรือค่า "1" ในดัชนีแบบ zero-based) จนถึงตอนนี้ฉันวิ่งผ่านชุดค่าผสมทั้งหมดและเก็บไว้ในตารางทำดัชนีค้นหา -> การสนทนาเป็นการดำเนินการ O (1) อีกทางหนึ่งคือ O (ln (n)) ด้วยการค้นหาแบบแบ่งครึ่ง ข้อเสียคือความชัดเจนในเรื่องนี้ถ้าเราเพิ่มโดเมนจนถึงจุดที่ไม่สามารถทำได้ อะไรจะเป็นวิธีง่ายๆในการคำนวณชุดค่าผสม n.th หรือดัชนีสำหรับชุดค่าผสมที่กำหนด ลำดับของการรวมกันจะดี แต่ไม่บังคับ

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