zoukankan      html  css  js  c++  java
  • 4.26总结

    t1:

    看了题,思考了几分钟,发现50分很简单,70分m<=20,好像可以容斥,想想感觉还行,再看最后的数据范围,被限制的数只有300*300!!!直接dp,后面的没有限制,有可能是组合数,转换了一下模型,发现可以做,时间空间也还行,一看表还没8点,在直接开始写和继续看题中选择了直接开始写,9点多一点写完暴力+正解,放一边对拍去了

    t2:

    想了一会,想到了分块,莫队上,发现分块不行,感觉找个东西用回滚套一下就行,最后感觉lct应该可以(后来发现不可以),代码一定很难写,于是看第三题

    t3:

    看完之后毫无思路,连暴力都模糊不清,想暴力应该就有半个小时,想完就直接写了,继续想60分,发现只要优化一点就可以了,10点20,60分写完+对拍

    拐回来看t2发现思路错了,只能拿30分的暴力,60分也没什么思路,40的时候,发现t3的60对拍错了,心态有点慌,赶紧打完t2的30,就去看t3的60

    但是直到考试结束也没调出来

    题解:

    t1: 100

    dp(前缀和优化)+组合数

    t2:

    60分:

    从大到小依次加入每条边

    [ l , r ] 就是 加入了所有 [ l , m ]的边后,编号不超过 r 的树边的权值之和

    对于 树 结构的维护可以暴力,对于权值和的询问可以用树状数组维护

    时间复杂度 O(m*n+(m+q)*logm) 

    100分:线段树合并区间 时间复杂度 O((m+qlogm)*n*logn) // logn算个常数

    线段树合并区间:https://www.luogu.com.cn/problem/P2572

    https://www.luogu.com.cn/problem/P4198

    https://www.luogu.com.cn/problem/P5618

    https://www.luogu.com.cn/problem/P3569

    t3:

    30暴力

    60 二维前缀和+二维差分

    check #用二维前缀和

    add 二维差分

    注意加上偏移量,防止负数越界

  • 相关阅读:
    DC中为什么要用Uniquify?
    hdu 1596 find the safest road
    hdu2112 HDU Today
    hdu 2066 一个人的旅行
    poj 3026 Borg Maze
    poj 1979 Red and Black
    poj 1321 棋盘问题
    hdu 1010 Tempter of the Bone
    hdu 4861 Couple doubi
    codeforces584B Kolya and Tanya
  • 原文地址:https://www.cnblogs.com/xsm098/p/14704702.html
Copyright © 2011-2022 走看看