• FZU ACM 联合训练 Day5总结


    题解

    A

    题意:
    给你一个字典树,让你构造一个AC自动机,也就是求每个点的fail指针。(字符集十万级大小)

    口胡:
    感觉跟普通AC自动机的求法差不多?其实不是很会字符串,听说用主席树和后缀数组都可以过。
    有神仙会做的话麻烦指点一下老弟。

    感受:
    考场上根本没想这题,全被乱搞题耗死了。

    B

    题意:
    给一张有向无权图,求所有点对最短路长度的平方和。(稠密图,点数2000级别)

    题解:
    乱搞题。
    考虑BFS求单源最短路径,但是它是个稠密图,怎么搞才不会T勒?
    用bitset维护分层闭包,复杂度 (O(frac{n^3}{64}))

    感受:
    心力交瘁,无话可说。

    D

    题意:
    给你一个无向连通图,每次可以走不超过 (k) 步到一个没有到过的点,求一个合法的回路, (k geq 3)

    题解:
    本来以为是个NP问题客串……
    然而,看到 (k ge 3) 还不会做?
    跑一棵搜索树,从根开始黑白染色,跳着走过去走回来即可构造出一个可行解。

    F

    题意:
    给定一个元素数为n的全集的若干个子集,对于每个子集,定义小于等于它的子集为编号比它小且被它包含的集合,求最长不降子序列的个数。(子集个数 (leq 2*10^5),全集大小 (leq 16)

    题解:
    好一个 Data Structure You've Never Heard Of
    考虑暴力,有两种做法(我似乎当时都想到了):

    • 加入顶点时,暴力更新其超集的答案,查询直接做。
    • 查询答案时,暴力计算其子集的答案,加入直接做。

    利用均摊思想,很显然,我们只要把全集的元素拆成两半,对于每个子集分别用一种暴力维护就好了。复杂度 $O(n * 2^{frac{d}{2}}) $ 。

    感受:
    乱搞题,全场AC,但是我死也想不出来。

    J

    题意:
    给定一个四元组间的二维顺序(一维是下标,一维是权值),求所有满足条件的四元组,大概要求平方级的复杂度。

    题解:
    好一个 24 Data Structures You've Ever Heard Of
    枚举24种可能的顺序,稍微剪枝一下(对序列进行取反或是转置)完只剩8种,分别想办法解决就行。

    感受:
    首杀!感谢Twii,感谢czhou,感谢AHSFNU。

    Other

    不会。会了也不想写。

    全场感受

    可能确实是我太菜了吧,乱搞题都不会做,给fz丢人了。

  • 相关阅读:
    二分图匹配(匈牙利算法)
    最长共公子序列(LCS)
    网页常用Js代码
    linux 服务器常用命令整理
    阿里云学生服务器搭建网站-Ubuntu16.04安装php开发环境
    BAT批处理中的字符串处理详解(字符串截取)
    DOS批处理高级教程(还不错)(转)
    EntityFramework的linq扩展where
    RestSharp发送请求得到Json数据
    socket
  • 原文地址:https://www.cnblogs.com/JiuPleber/p/FZUACMday5.html
Copyright © 2020-2023  润新知