• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
LyonLys
愿意在角落唱沙哑的歌 再大声也都是给你 请用心听 不要说话 Contact me via E-mail: lyon.lys@gmail.com
博客园    首页    新随笔    联系   管理    订阅  订阅
2013年2月19日
ZOJ 3031 Robotruck (dp + 单调队列)
摘要: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=2029 搞了一个多小时的一道DP&&单调队列题。这题在ACM-ICPC Live Archive中有相似的一题,不过在LA中,每个位置的物品重量不为0,这样就限制了寻找上一层dp值的范围只在下标为i-100~i 之间,复杂度是O(CN)。可是到了ZOJ,dp值的寻找就有可能要把之前所有已经处理的状态都找一遍,这样子,同样的做法就果断超时了。 不过可以轻易的发现,dp是线性的,而且最优值是可以通过某种转换方式表示出来。同时,因为物品的发放顺序有所限制,所以可以直 阅读全文
posted @ 2013-02-19 16:30 LyonLys 阅读(215) 评论(0) 推荐(0)
uva 10859 Placing Lampposts / Tree DP
摘要: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=20&page=show_problem&problem=1800 树DP,要求求出最小覆盖点集,并且要求两端都有覆盖的边尽可能多。于是,这题可以通过赋权,求树的最小权值。无向无环图通过dfs变成有根树一棵,然后对每个树根DP,最后得到答案。代码如下:View Code 1 #define REP(i, n) for (int i = 0; i < (n); i++) 2 3 int dp[2][N]; 阅读全文
posted @ 2013-02-19 13:14 LyonLys 阅读(150) 评论(0) 推荐(0)
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3