zoukankan      html  css  js  c++  java
  • [训练日志] 7月15日,7月16日

    7月15日

    132D

    [给一个二进制数,如何用最少的+2^x与-2^x表示]
    [观察到有两种方法。一种是直接用+2^x补。另一种对于L-R的区间,用+2^(L+1)与-2^R以及若干个-2^x表示,x是0的位置。注意到第二种方法是作用于头尾都是1的连续一段,且中间不含00(如果有 则可劈成两段),然后把原串分成若干段分别贪心]
    [一开始往补码的方向考虑了,不太好DP。思考问题应该先从基本方法出发,不要优先考虑一些奇技淫巧]
    392B
    [汉诺塔,g[x][y]表示从x柱移到y柱的代价。求1挪到3的最小代价]
    [f[k][x][y]表示将k层从x柱移到y柱最小代价。f[k][x][y]=min(f[k-1][x][z]+g[x][y]+f[k-1][z][y], f[k][x][y],f[k-1][x][y]+f[k-1][y][x]+g[x][z]+g[z][y]+f[k-1][x][y])]
    632E
    [给n种物品,无限多,每周物品有一个代价a[i]。求恰好选m个物品,有多少种代价的可能性]
    [将a从小到大排序。每一种组合都可以减掉m*a[1]。这样考虑i>=2,另b[i]=a[i]-a[1]。做b的完全背包,这样<m的部分可以用a[1]补上。最后答案再把m*a[1]加上即可]
    696D
    [给你m个串每个串有一个收益。让你构造一个长度为n的串,如果再串中出现一次给定的串就获得一次对应的收益,求最大收益]
    [首先刻画状态需要ac自动机,把ac自动机的节点看出状态。有f[i][x]=max(f[i-1][y]+value[y][x])。将+看出max,*看成+,即可运用矩阵乘法优化。]
    [Tips:该技巧运用max_plus理论]
    7月16日
    复习概率与期望,复习线性代数。
    学习max_plus理论。
     
  • 相关阅读:
    【转】Android开发中Handler的使用
    【转】关于微信开发者平台移动应用获取签名解决问题
    AndroidStudio开发工具快捷键
    进程与线程
    【转】Git常用命令
    Java中内存空间的分配及回收
    【转】Github入门教程
    周记
    本周工作内容及感想
    总结
  • 原文地址:https://www.cnblogs.com/jszkc/p/7193341.html
Copyright © 2011-2022 走看看