zoukankan      html  css  js  c++  java
  • 2017 UESTC Training for Data Structures

    http://acm.uestc.edu.cn/#/contest/show/155

    对大二来说貌似这套题有点简单了,多是一眼题

    发现漏了一题,然而是以前看别人讨论过的:)。

    H:线段树+暴力。大概就是如果公差大一点的话,直接暴力扫一次,小的公差就用多个线段树维护起来。

    另外线段树还有一道好题,uoj228.

    A:线段树水题,最大最小值

    B:求连续1的时候考虑分治算法,线段树,记录区间前缀最长0/1和后缀最长0/1和整体最长0/1和一个lazy。

    C:线段树经典操作。。注意作乘法的时候,要把addtag也更新,pushdown的时候儿子的addtag要先乘上父亲的mul[0]再加父亲的add,sum处理的时候也类似。

    D:先按一维排序,然后下面用树状数组或者线段树维护一下

    E:贪心+树状数组

    F:01字典树

    G:和B有点像吧,也考虑分治算法,线段树记录前缀最大和,后缀最大和


    I:贪心+set+并查集吧,对于每个节点都能有两个儿子,每次用set二分找一个恰好小于等于这个值的,然后接在它的后面,如果被接了两次就从set中删掉,并查集维护一下哪几个点在一起。

    J:哈夫曼树,用优先队列一直维护就好了

    K:顺着来比较难搞,那我们倒着来,并用个前缀和再加并查集什么的维护一下

    L:带权并查集

    M:二分最小值,贪心用set来维护

    N:染色题,并查集和dfs都能搞掉吧

    O:分别维护两种操作,第一种dfs序维护,第二种当然是树链剖分。

    P:线段树扫描线维护面积并

    Q:就是0/1异或啊,二维树状数组搞一下

  • 相关阅读:
    面试题26:复杂链表的复制
    面试题25:二叉树中和为某一值的路径
    面试题24:二叉搜索树后序遍历
    面试题23:二叉树层序遍历
    面试题22:栈的压入,弹出序列
    面试题21:包含min函数的栈
    面试题20:顺时针打印矩阵
    面试题19:二叉树镜像
    plugin.go 源码阅读
    server.go 源码阅读
  • 原文地址:https://www.cnblogs.com/scau-zk/p/6863283.html
Copyright © 2011-2022 走看看