计算机算法设计与分析解题心得

计算机算法设计与分析

Session 1

  1. 先观察问题的结构、解的形式,再设计算法;
  2. 能分解成子问题,是非常有效的信息;
  3. 优化问题时,下界很重要。

Session 2

  1. 给一个问题,从最简单的case入手;
  2. 观察INPUT的关键结构,看能否分、能否combine;
  3. 观察OUTPUT,不要坚持追求optimal,追求sub-optimal。

Session 3

Sample.

Session 4

  1. 手动执行最基本的算法,发现冗余;
  2. merge时,考虑引入结构;
  3. 离散化。

Session 5

  1. 省内存:分问题的另一种思路
  2. 省时间:Banded DP
  3. Optimal→Sub-optimal
  4. ???

Session 6

  1. 子问题的描述方式:
    1. 背包-子集:指数多-{1,2,3,…}前i个:多项式。
    2. 最短路径-子图:指数多-引入新变量表示解:k步。
  2. 递归中有at most如何表示?加一个递归项
  3. DP需要空间太多→用NN表示函数

Session 6

  1. 每一个Greedy的背后都有一个more cumbersome DP
  2. weight加强后,有可能不用枚举
  3. 先做一个笨方法,再发现冗余

Session 7

  1. loose the structure but don’t loost it too much
  2. 分析时:一个操作慢,但随后操作快,均摊
  3. 求和:每一项转乘phi的差,相约

Session 8

  1. 要允许剪枝,但不要剪太多→不要偏离完美的树太远
  2. 抽象,就能推广

Session 10

  1. 写LP时,先写自然语言,再转成不等式约束
  2. 不要只用不等式约束,再加上目标函数约束、

Session 1221

Lagrange乘子就是对偶变量

Session 1228

  1. 千方百计构造一个对手出来
  2. 构造对手:
    3. y 直接构造 x
    4. 找一个隐含变量B,同时构造x和y

Session 0104

目标:

x_i \sigma_i = 0

Relaxed!

x_i \sigma_i = \mu

Session 0106

  1. Optimal → Sub-Optimal
  2. Scaling
  3. 分析一个event的发生次数:找一个量\Phi,考察连续两次event中间发生了什么
  4. 花了很多时间,把opt的所有油水全榨干
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值