zoukankan      html  css  js  c++  java
  • 动态规划之不会做题

    DP太差,思维太差,对题目性质的不敏感,只会死磕,归根结底还是训练不够

    反正我也不怕丢人现眼,就直接把自己的问题写上来了23333333333

    1.设计方程的能力
    2.发现DP优化时的各种性质及转化的敏锐度


    「雅礼集训 2017 Day5」珠宝

    性质题(凸函数性质没发现)

    题意是背包,但物品个数多,体积小

    一个显然的贪心是同体积物品优先选价值最大的 (然后我就看不出凸性和决策单调性了。。。。。。。。。。。。。。。)

    对同体积的物品按价值从大到小排序

    前缀和是一个凸函数

    然后决策单调性就比较容易看出了

    注意在考虑体积为 (c) 的物品时,要把模 (c) 同余的部分单独转移才有决策单调性


    How Many of Them

    方程设计题((g)设计不出来)

    (h[i])表示(i)个点的无向连通图个数

    (f[i][j])表示(i)个点的含有(j)条割边的无向连通图个数

    (g[i][j][k])表示(i)个点构成(j)个连通块且含有(k)条割边的方案数

    [f[i][j]=sum_{k=1}^{i-1}f[k][0]inom{i-1}{k-1}sum_{x=1}^{min(j,i-k)}g[i-k][x][j-x] imes k^x ]

    [g[i][j][k]=sum_{p=1}^{i}sum_{q=0}^{k}f[p][q]inom{i-1}{p-1} imes p imes g[i-p][j-1][k-q] ]


    「NOI2020」制作菜品

    性质题(性质想得不够彻底,或者说少想一个性质吧,当然最后dp部分那个统一减去(k)的方法也不会

    根据部分分的提示可以优先考虑 (mgeq n-1) 部分的贪心,略

    (m=n-2) 的部分,考虑是否存在 (t) 种材料,全部用光刚好能做成 (t-a) 道菜品

    不存在则无解,证明比较容易,且并非本文重点,略去

    这样背包加bitset可以做(70pts)还是(85pts)来着

    偷看题解发现只需考虑是否存在 (t) 种材料,全部用光刚好能做成 (t-1) 道菜品

    然后还是不会,接着再看一眼题解

    [sum_{i=1}^{t}d_{p_i}=(t-1) imes k ]

    可以转化成

    [sum_{i=1}^{t}(d_{p_i}-k)=-k ]

    这样就可以做了


    「NOI2018」冒泡排序


    本文待补

  • 相关阅读:
    [VC++]轻松搞VC之定时器(Timer)
    [VC++]VC中如何获得当前系统时间
    [VC++]如何利用this获得窗口句柄
    SMART原则
    SQL配置
    术语百科
    关于SQL锁问题
    第六代OA办公理念(摘录)
    心动机型
    SQL2008R2的索引重建
  • 原文地址:https://www.cnblogs.com/Urushibara-Ruka/p/14838981.html
Copyright © 2011-2022 走看看