zoukankan      html  css  js  c++  java
  • 模拟测试20191008

    $T1:trade$

    上来一眼有显然的$01$背包

    发现$dp $柿子没有办法优化,我们先抛开$dp$不看,观察一下这题的性质

    假使我们在$a$点买入,$b$点卖出,再在$b$点买入,$c$点卖出,等价于在$a$点买入,$c$点卖出

    发现这个之后我们就可以直接反悔贪心了

    复杂度$O(nlogn)$

     

    $T2:sum$

    考场上一度不敢打233

    观察$S$函数

    $$S_{n,m}=sum_{i=0}^{m}C_{n}^{i} $$

    我们根据组合数递推式(杨辉三角)可以发现

    $$S_{n,m}=S_{n,m-1}+C_{n}^{m}$$

    $$S_{n,m+1}=S_{n,m} imes 2-C_{n}^{m}$$

    然后发现这个东西可以用莫队来搞

    复杂度$O(n sqrt n)$

     

    $T3:building$

    我当你是数据结构,你竟然是个大模拟?!?!

    如果我们把所有相接的块用并查集合并,那么答案就是块数-连接次数

    那么我们一行一行地合并所有块,就可以求出每一行的答案

    寻找和一个块相接的块时,可以用$vector$来$lower$_$bound$(当然暴力也能过

    复杂度$O(nlogn)$

    $Huge脸$$Huge巨$

  • 相关阅读:
    监听键盘弹出 隐藏
    状态栏 设置白色字体
    UITextField 属性详解
    支付宝集成SDK 报错
    UIWebView
    app上传 需要的icon
    百度云推送 pem
    百度地图
    info.plist 属性讲解
    静态库 动态库
  • 原文地址:https://www.cnblogs.com/mikufun-hzoi-cpp/p/11635921.html
Copyright © 2011-2022 走看看