zoukankan      html  css  js  c++  java
  • AtCoder Grand Contest 001 题解

    2020.9.18 : Virtual Participation结果:过了ABCE。其中E的一个加强版在某"CSP模拟赛"见到过。

    A

    直接排序然后两两配对即可。

    (Theta(nlog n))(Theta(l_i))


    B

    考虑移动的过程,走两步之后就会变成在平行四边形里移动的问题。

    我们记 (solve(a,b)) 为,我从一个 一对边长为a,另一对边长为b的平行四边形的一个顶点上出发,移动的总距离。

    不难发现:

    如果 (a = b)(solve(a,b) = a)

    如果 (a < b)(solve(a,b) = solve(a,b-a) + a*2)

    如果 (a > b)(solve(a,b) = solve(a-b,b) + b*2)

    不难发现这是个辗转相减的过程。辗转相除优化它即可。

    (Theta(log N))


    C

    考虑 DP . 最小化去掉的节点可以转化为最大化留下来的联通块大小。

    (f_{x,l}) 表示,在x子树内部取一个包含x的联通块,满足其内部直径不超过k,并且从x往下的最长链为l的联通块的大小的最大值。

    计算的时候直接类似树上背包转移即可,复杂度(Theta(N^2).)


    D


    E

    不难发现答案为 (sumlimits_{1leq i < j leq n} inom{a_i+a_j+b_i+b_j}{a_i+a_j})

    由于 (inom{a_i+a_j+b_i+b_j}{a_i+a_j}) 是点 ((-a_i,-b_i)) 到点 ((a_j,b_j)) 只向右/上走的方案数,我们可以直接在平面上 DP 计算总共的方案数。

    (Theta(max(a_i) imes max(b_i)+n).)

    好像还有一个(Theta((sum a_i) + (sum b_i) + n))的做法。


    F


  • 相关阅读:
    session之验证码
    session之cookie封装终极版本
    临床知识库-临床路径管理
    import org.quartz.Job; 不存在
    ASP.NET DataGrid 导出EXCEL 中文变乱码
    Cannot find module '@/views/monitor/online/index'
    配置包导入
    配置log4j 以便查看mybatis操作数据库的过程
    解决中文乱码问题
    ORA 环境变量
  • 原文地址:https://www.cnblogs.com/s-r-f/p/13693399.html
Copyright © 2011-2022 走看看