Skip to content

我现在在考虑的一个问题是:怎么反制反AI?

反AI判断AI是模板化的

反制反AI,让AI具有个人特色,替代个人完成任务,不必被指称使用AI。

ACM算法题:

用有限的样例代替无限的情况

研究有限、简单而充分的情况来代替无限

重点研究简单而又经典的情况

这样适合学习算法和研究、可视化算法的执行过程

研究AI辅助学习的最佳实践:

(Claude优秀讲解示例)

AI手动验证简单样例

让AI辅助绘画代码流程图(控制流、循环)

核心理解:组合生成的递归过程

为什么是 dfs(i + 1, cnt + 1)

这是在生成组合(不是排列),关键点:

  1. i + 1:下一次从 i+1 开始选,避免重复
  2. cnt + 1:已经选了 cnt+1 个狼人

图解示例(N=5, M=3)

目标:从5个人中选3个狼人

dfs(1, 0)  // 从位置1开始,已选0个

├─ ww[0]=1, dfs(2, 1)  // 选了1号,下次从2开始
│  │
│  ├─ ww[1]=2, dfs(3, 2)  // 选了2号,下次从3开始
│  │  │
│  │  ├─ ww[1]=3, dfs(4, 3)  // 选了3号,cnt=3停止 → [1,2,3]
│  │  ├─ ww[1]=4, dfs(5, 3)  // 选了4号,cnt=3停止 → [1,2,4]
│  │  └─ ww[1]=5, dfs(6, 3)  // 选了5号,cnt=3停止 → [1,2,5]
│  │
│  ├─ ww[1]=3, dfs(4, 2)  // 选了3号,下次从4开始
│  │  ├─ ww[2]=4, dfs(5, 3) → [1,3,4]
│  │  └─ ww[2]=5, dfs(6, 3) → [1,3,5]
│  │
│  └─ ww[1]=4, dfs(5, 2)
│     └─ ww[2]=5, dfs(6, 3) → [1,4,5]

├─ ww[0]=2, dfs(3, 1)  // 选了2号,下次从3开始
│  ├─ ww[1]=3, dfs(4, 2)
│  │  ├─ ww[2]=4 → [2,3,4]
│  │  └─ ww[2]=5 → [2,3,5]
│  └─ ww[1]=4, dfs(5, 2)
│     └─ ww[2]=5 → [2,4,5]

├─ ww[0]=3, dfs(4, 1)
│  └─ ww[1]=4, dfs(5, 2)
│     └─ ww[2]=5 → [3,4,5]

...