鍍金池/ 問答/人工智能  PHP/ 人群分配算法問題

人群分配算法問題

想用php實現(xiàn)如下場景
有10張票
每張票報名名額不定,每個名額代表一個人
已知總報名人數(shù)30人(多張票且每張票人數(shù)不定)
現(xiàn)有兩輛車,一輛可坐17人一輛可坐13人
如何通過票來分配人群到某輛車?
假設(shè)票無法拆分,同一張票的一群人只能坐一輛車
如何安排使得最后無法安排的票券人數(shù)最少?(無法安排的票:假設(shè)第一輛車還剩1個位置第二輛還剩3個位置,只剩一張4個位置的票沒有安排)

回答
編輯回答
嫑吢丕

不好意思,剛看到邀請,sf的消息通知做的.. ..工作完畢后,回來修改.

2018年3月24日 19:42
編輯回答
鐧簞噯

就相當(dāng)于經(jīng)常玩的游戲,有三根柱子,有十個高度不等的環(huán),要套在三根柱子上,最后使三根柱子的圓環(huán)高度相等。十月份我們做了一個項目是采用插空的方式。按照票面序號去安排車輛及座位。遇到坐不下的就自動安排到下一輛車。這種方式的缺點是座位利用率不高。最好的方式是根據(jù)每一輛車的座位,從車票中選取能坐的人。組合完成后自動發(fā)放座位號

2018年3月30日 02:30
編輯回答
互擼娃

這是一個背包問題。
和普通的背包不一樣的地方,普通的背包問題用1維數(shù)組dp[w]就能解決。
這里有兩個背包,所以要用一個2維數(shù)組dpw1來記錄當(dāng)前售票人數(shù)最多的狀態(tài)(w1,w2分別為兩輛車的座位數(shù))

2018年7月18日 07:34