zoukankan      html  css  js  c++  java
  • [NOI2011]Noi嘉年华

    题解:

    思路挺水的一道题

    首先肯定将时间离散化排序后考虑

    然后预处理出ff[i][j]表示从i-j时刻,被包含了多少值

    令f[i][j]表示进行到i时刻,A中的个数是j,B中的个数的最大值

    转移也挺显然,就是枚举决策 时间n^3

    这样第一问就解决了

    考虑第二问

    会发现就等价于求min(x+y+ff[i][j],f[i][x]+g[j][y]) (其中i<begin,j>end) 其实ff[i][j]也可以加到后面这项,但是因为他们是对称的所以已经算过了

    这样暴力求解是n^4的

    考虑如何优化

    1.n^3logn,这个比较显然

    当x确定时,显然x+y+ff[i][j]随y+而+,而f[i][x]+g[j][y]随y+而-

    那么二分y找到两个单调函数的交点就可以了

    2.n^3(是看了题解才知道的。。发现真是很智障。。2d2d的优化见得太少了)

    其实上面这个已经很接近了,只是把结论强化一下

    我们假设左边为x时右边的最优解为y,那么当左边为x+1时,y一定是不增的

    这样显然是n^3的

    意识流证明的话就是既然你min(x+y+ff[i][j],f[i][x]+g[j][y])>=min(x+y+1+ff[i][j],f[i][x]+g[j][y+1])

                         那么当x+1时,min(x+y+1+ff[i][j],f[i][x+1]+g[j][y])>=min(x+y+2+ff[i][j],f[i][x+1]+g[j][y+1])

                         因为这时的min是等于后面这一项的

  • 相关阅读:
    CentOS 7.4 如何安装 MariaDB 10.3.9 Stable 数据库
    xxx is not in the sudoers file. This incident will be reported.
    CentOS 7.4 上如何安装 tomcat 9
    CentOS 7.4 下面安装 jdk 10 的一点总结
    CentOS 7.4 下安装 Nginx
    MySQL数据库常用操作
    chart学习
    Ext需要的文件目录
    获取浏览器信息
    运行容器
  • 原文地址:https://www.cnblogs.com/yinwuxiao/p/8696727.html
Copyright © 2011-2022 走看看