跳转到内容
View in the app

A better way to browse. Learn more.

彼岸论坛

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
欢迎抵达彼岸 彼岸花开 此处谁在 -彼岸论坛

[算法] 请教应该去学习使用什么算法或者思路,在同一时间编排考试上

发表于

朋友来问我一个考试编排的问题,怎么才能替代手工,以最大的自动化来编排试场。我自己了解了一下需求,感觉手动处理起来不算难的问题(就是费时间),在程序上不知道怎么解(主要还是因为我自己算法题刷少了)。

详细问过需求,简化成如下的需求点:

  1. 所有考试都在同一时间,不需要考虑冲突问题。
  2. 有若干校区,每个校区最大的教室数量不定。不考虑远近与学生是否方便,只考虑编排方便。
  3. 有若干门课,每门课考试人数不定,可能是个位数,可能上百。
  4. 如果某些课考试人数较少,那么需要合并到一起混考。
  5. 若干教室,每个教室都有下面的属性:最大容纳人数、最大容纳混考课的数量。
  6. 同一门课只能放在同一个校区考试。

我自己先假设最普通的情况,一个教室最大 30 个人。有若干从 1-30 人的课。用最无脑的方法,就是人数 30 的课放到 30 人的教室排满。然后排 29 人数的配 1 个人的课,然后 28 的配 2 人,27 、26...依次。

然后不同的场次处理后,发现等到课的人数是 17 、18 的时候,可能自己独立成一个教室考试有点浪费。或者一堆 1 、2 、3 的挤在一个教室加起来不到七八个人。

发现这种无脑从大到小的编排方式不行,所以觉得可能要使用某种算法来解决这个问题了。但是奈何学艺不精,没有刷过多少算法题,不清楚有哪些算法可以使用在这个问题上的。希望大家能说下算法的名称或者搜索学习算法方向。如果可以的话或者有什么处理思路的话,能简要说说就更好了。

Featured Replies

No posts to show

创建帐户或登录来提出意见

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.