话不多说,直接开始分析。
题目
查看题目
传送门
题意分析
给定 n 个服务器,每个服务器有最大处理能力。给定 k 个任务,每个任务需要占用一定的服务器处理能力。要求找到一个分配方案,使得每个任务都能分配到一个服务器,并且分配方案的服务器编号字典序最小。如果找不到分配方案,输出 -1
。这个题意我认为大家是可以秒掉的。
题目解法
思路
输入:
读取服务器数量 n、任务数量 k,以及每个服务器的处理能力 a[i]
和每个任务的需求 b[i]
。
DFS(深搜):
- 从第一个任务开始,依次为每个任务分配服务器。
- 优先尝试编号较小的服务器,保证字典序最小。
- 使用
vis[i]
数组标记服务器 i
是否已被分配。
- 如果找到一个可行的分配方案,设置
f
为 true
并输出结果。
- 如果回溯后找到可行方案,则直接返回,否则继续尝试。
输出:
如果 f
为 false
,说明没有找到可行的分配方案,输出 -1
(结尾代码 if(!f)
,也可以用 f == 0
代替)。
阅读此文
注:TFUR这个别名的来历:Touch Fish UI Remake
你可能知道TouchFish,那么你有必要了解一下TouchFish UI Remake。
众所周知,TouchFish是用Python+Tkinter制作的,虽然简单,但是实在太丑了,并且也没啥兼容性,所以TFUR应运而生,它不仅有很美观的界面、Markdown渲染支持、KaTeX部分支持和代码高亮,还有无与伦比的性能优化(内存能压到60MB左右,超越大部分Electron应用)和差兼容性,跟TouchFish差不多,如果你想要追求兼容性,可以前往Cloud Studio Chat(打个小~广告)。
阅读此文
Cloud Studio Chat:内网环境下的轻量级聊天工具
叠甲:本软件只用于娱乐与学术交流目的,也可用于生活日常交流。请不要使用本软件上课开小差聊天,因为本软件而被教练抓到等后果请自负!
Github 仓库
如果你使用了 Cloud Studio Chat,而且觉得好的话,欢迎给我的 Github 项目一个 Star,十分感谢!🙇(当然啦我也是来讨Star的)
如果你在使用的时候发现了 Bug 或者想给这个项目添砖加瓦,你可以在 Github 上提交 Issue,或者干脆直接 Fork 项目提交 PR。
是的,在本项目的讨论区,我声明过本程序的开源完全是为了对标 TouchFish,也感谢 @细数繁星 对我的项目兼容性的宝贵意见。下面是本程序功能的讲解。
阅读此文
Welcome to TouchFish wiki!
本页面编辑者:Piaoztsdy,编辑时间:2025/10/05 14:47开始
备用链接
Touchfish 管理员端使用指南
v2.0.0 版本中,更新了文件收发功能,会出现兼容性问题。server 也无法完全规避此现象。因此,这里建议各位在主聊天室中,如果无法确定机房中所有人均使用 v2.0.0,禁止文件传输功能。(详见server页面)
Getting started
首先,你需要现有一个 TouchFish 服务端,戳这条:TouchFish 服务端使用方法,我们默认你已经完全掌握了使用方法,以下是教程。
阅读此文
Welcome to the TouchFish wiki!
本页面编辑者:细数繁星、Piaoztsdy,编辑时间:2025/10/05 14:47开始
备用链接
TouchFish 服务端使用指南
v2.0.0 版本中,更新了文件收发功能,会出现兼容性问题。server 也无法完全规避此现象。因此,这里建议各位在主聊天室中,如果无法确定机房中所有人均使用 v2.0.0,禁止文件传输功能。
Getting started
最基本的部分 REAMDE 和专栏都有提到,便不再提了。这一次讲更进阶的。
阅读此文