xianyu-team-optimizer

咸鱼之王十殿星级挑战组队优化器。根据微信接龙名单和每位玩家的星级,自动计算收益最大化的5人分组方案(功德簿奖励档位)。当用户提到咸鱼之王、十殿挑战、功德簿、星级组队、接龙名单分组、公会组队优化等关键词时使用此skill。即使用户只是粘贴了一段接龙名单并问"怎么分组"或"帮我排一下队",只要涉及星级和5人分队,也应触发此skill。

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "xianyu-team-optimizer" with this command: npx skills add goodman333/xianyu-team-optimizer

咸鱼之王 · 十殿星级挑战组队优化器

背景

咸鱼之王的「十殿星级挑战」是公会合作玩法。每位玩家完成十殿挑战后获得一个星级分数(0-24星,最高24星),公会成员需要组成 5人小队,小队总星级达到特定阈值可在「功德簿」中领取对应档位的奖励。档位越高,奖励越丰厚。

功德簿奖励档位(从高到低)

档位所需总星级
第一档≥ 120 星
第二档≥ 105 星
第三档≥ 90 星
第四档≥ 75 星
第五档≥ 60 星
第六档≥ 50 星
第七档≥ 40 星
第八档≥ 30 星

如果用户提供了不同的档位阈值,以用户提供的为准。

工作流程

第一步:解析接龙名单

用户通常会直接粘贴微信群里的接龙名单。格式参差不齐,你需要从中提取每位玩家的 名称星级数

常见格式示例:

1. 老四 16
2. 十二  20
3. 东君    14
4. 沉稳的中年男士-葛佳佳 16
5. 💫皮皮皮 12
6. 话唠 还没打
7. 18号。2

解析要点:

  • 每行开头的 1.2. 等是接龙编号,不是星级
  • 行尾的数字是星级——这是最关键的提取目标
  • 名字可能包含 emoji、特殊符号、中英文混合、破折号等
  • 名字里可能包含数字(如「18号」),要和行尾的星级区分开——行尾最后一个独立数字才是星级
  • 标记为「还没打」「未完成」「未参加」等的玩家,暂时排除在分组之外
  • 如果某行完全无法解析出星级,标记为存疑,让用户确认

解析完成后,先列表确认:

📋 已解析 X 位玩家:

| # | 名称 | 星级 |
|---|------|------|
| 1 | 老四 | 16 |
| 2 | 十二 | 20 |
| ... | ... | ... |

⚠️ 以下玩家暂不参与分组:
- 话唠(还没打)

请确认是否正确?

等用户确认后再进入分组环节。如果用户没有异议或催促分组,可以直接进入下一步。

第二步:计算最优分组

使用本 skill 自带的 Python 脚本完成精确计算:

python3 SKILL_DIR/scripts/optimizer.py INPUT_FILE

其中 SKILL_DIR 是本 skill 所在目录。输入文件为 JSON 格式:

{
  "players": [
    {"name": "老四", "stars": 16},
    {"name": "十二", "stars": 20}
  ],
  "tiers": [120, 105, 90, 75, 60, 50, 40, 30],
  "max_stars_per_player": 24
}

脚本会输出 JSON 结果,包含 多个分组方案(推荐方案 + 替代方案)和升档建议。每个方案都有完整的队伍列表、汇总和升档策略。

如果无法运行脚本(比如没有 Python 环境),按以下算法手动分组。但组合计算容易出错,优先使用脚本。

全局最优分组算法

核心目标:让所有队伍的档位总价值最大化。不是简单地从高到低贪心,而是统筹考虑所有队伍的分配。

算法流程(递归搜索 + 记忆化):

  1. 对当前剩余玩家,依次尝试组建每个档位(90→75→60→50→40→30)的队伍
  2. 对于每个档位,找出"刚好达标"的5人组合(总星级最小的那个满足阈值的组合)——这样做是为了把高星玩家省给后续队伍
  3. 假设选了这个组合,递归求解剩余玩家的最优分法
  4. 比较所有档位选择的结果,取总价值最高的方案

为什么用"刚好达标"的组合? 高星玩家是稀缺资源。如果一支90星队用了 95 星的组合,那多出的 5 星就浪费了——它们本可以帮助另一支队伍跨过更高的档位线。所以每支队伍都用恰好满足阈值的最小组合,把多余的战力留给其他队伍。

和纯贪心的区别: 纯贪心会无脑地先组尽可能多的90星队。但有时候少组一支90星队,把玩家分散到75和60,反而能让总收益更高。全局搜索会自动找到这个平衡点。

第三步:输出多方案供选择

脚本会自动生成推荐方案和若干替代方案。每个方案要完整展示,方便用户对比选择。

格式参考:

# 🎯 分组方案

---
## 方案一(推荐) — 总档位价值 255

### 第 1 队 — ⭐ 90星档(总计 92 星)
| 玩家 | 星级 |
|------|------|
| 百度亭-老九 | 20 |
| 十二 | 20 |
| 话痨 | 19 |
| 娃哈哈 | 19 |
| 东君 | 14 |

### 第 2 队 — ⭐ 75星档(总计 78 星)
| 玩家 | 星级 |
|------|------|
| 混子 | 19 |
| 19号 | 18 |
| 清浅 | 17 |
| 老四 | 16 |
| MrH | 6 |

### ⚠️ 未分组 (3人)
XXX(9), YYY(4), ZZZ(2)

📊 汇总:2队 | 90星×1, 75星×1 | 15人已分组 | 3人待定

---
## 方案二 — 总档位价值 240

(类似格式展示另一种分法)

---

第四步:外部引援策略建议

脚本会为每个方案自动计算引援建议(upgrade_hints),核心问题是:从外部引入多少人、每人需要多少星,可以让队伍升到更高档位?

实际操作中 105 和 120 星档很难达到,重点关注这些现实可达的提升路径:

  • 75→90:中坚队伍的关键跳跃
  • 60→75:让更多队伍拿到有价值的奖励
  • <60→60:帮助未分组玩家至少达到60星基线

1. 已组队伍的引援升档

脚本为每支队伍计算了两种外部引援方式:

引入1人替换最弱队员recruit_1_options):列出引入1名外部玩家替换队内最弱成员后,可达到的各档位及所需最低星级。

第 2 队(75星档,总计75星)最弱队员:喷火龙(4星)

  • 引入 ≥19星 玩家替换喷火龙 → 升至 90星档

引入2人替换最弱2人recruit_2_options):当换1人不够时,尝试替换队内最弱的2名成员。

第 1 队(90星档,总计90星)

  • 引入2人(人均≥23星) 替换 皮皮皮(12)+混子(19) → 升至 105星档

2. 未分组玩家的引援组队

脚本会列出:为未分组玩家从外部引入多少人凑满5人队,以及达到各档位分别需要多少总星级。

未分组 3 人(东君14 + 安安10 + 18号2 = 26星),还需从外部引入 2人

目标档位需引入总星数人均最低星级
30星档4星2星/人
40星档14星7星/人
50星档24星12星/人
60星档34星17星/人

如果引入更多外部人员,还能组多支队(extra_team_options):

引入 7 人(人均≥5星) → 可组 2 支30星档队伍

3. 引援性价比排名

脚本输出 global_recruit_summary,按"每引入1人带来的档位价值提升"从高到低排序,帮用户快速决策优先引谁:

  1. 引入2人(人均≥17星)与未分组玩家组新队 → 新增60星档(+60价值)
  2. 第2队引入1人(≥19星)替喷火龙 → 75升90星档(+15价值)
  3. 第3队引入1人(≥21星)替MrH → 60升75星档(+15价值)

4. 未打玩家影响预估

如果接龙名单中有人标注「还没打」,分析他们打完后的影响:

  • 打完后可以直接参与分组重新计算
  • 如果能打出 X 星以上,可以替换某队的低星玩家实现升档
  • 或者和未分组玩家一起组成新的队伍

注意事项

  • 玩家数量通常不是5的倍数,总会有少量玩家分不到组,这是正常的
  • 接龙名单可能会多次更新(新打完、改星级),支持增量调整——用户粘贴新名单时直接重新计算即可
  • 单个玩家最高24星(十殿每殿最高可得若干星,总计上限24星)
  • 公会人数一般在20-50人之间,穷举5人组合的计算量完全可控
  • 脚本会自动输出多个分组方案(推荐 + 替代),以及每个方案的升档建议
  • 用户可以根据自己对公会成员提升潜力的判断,选择最合适的方案

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

CamScanner Remove PDF Watermark

Use CamScanner to remove watermarks from PDF documents while preserving the underlying text, images, and original layout. Powered by a high-precision documen...

Registry SourceRecently Updated
General

CamScanner Remove Image Watermark

Use CamScanner to remove watermarks from images while preserving the underlying content and original layout. Powered by a high-precision image enhancement en...

Registry SourceRecently Updated
General

TikTok Post Search API

Call GET /api/tiktok/search-post/v1 for TikTok Post Search through JustOneAPI with keyword.

Registry SourceRecently Updated
General

Skill Linkedin

Use when user needs to generate personalized LinkedIn connection requests or outreach messages. Use when assisting LinkedIn lead generation and engagement. U...

Registry SourceRecently Updated