zoukankan      html  css  js  c++  java
  • 洛谷暑期课期末考试

    有点舍不得。。

    dwj的声音真好听/// (逃
    仓鼠的声音也好好听/// (转头又逃

    T1

    给定长度为n的序列A和B,定义序列Ci = max{A1, A2, A3, ... Ai}
    并定义当前价值为 min(B1, C1) * min(B2, C2) * ... * min(Bn, Cn)
    如果opt=0 表示对序列 A 操作,如果 opt=1 则是对序列 B 操作,
    把序列中第 x 个元素变成 y ,保证 y 不小于原来的元素
    答案对1e9 + 7取膜

    我的想法 :
    很明显要给C建单调栈
    每次修改A只用考虑x后边的序列就行
    如果找位置的话二分查找就行
    但修改的话。。。平衡树吧
    修改B更方便
    但是连乘积如何统计?
    好麻烦 过

    正解
    好像到平衡树那里都没问题
    然后连乘是。。。二位偏序?!

    T2

    题意:

    我的想法:
    看到“到各个点距离相等”
    想到数轴上的类似问题 -> 取中位数
    那么树上。。。重心咯
    计算路径长度的话 lca + 差分
    找根。。没时间了 暴力吧

    然鹅
    就死在找根的暴力上了

    正解:
    然后考虑到进来一个点 它会影响从自己到根的size(都加一
    所以每次插一个点 重新心只会在原重心与新点的路径上
    所以二分那条路径【dfs序 找重心就行了

    T3

    求有多少个n个节点的基环树

    我的想法:
    懵 什么鬼

    正解:
    【然鹅并没有懂】
    基环树的性质 : 存在刚好两种点和边一一匹配的方案
    如果dp的话
    f( n ) 表示n个点的连通图 每个图点和边一一匹配的方案数之和
    g( n )表示n个点的图 每个图点和边一一匹配的方案数之和
    【仓鼠哥哥说这是套路 orz
    显然 g(n) = (n - 1) ^ n
    用g( n ) 算 f( n ) 可以考虑容斥
    枚举1号点所在的连通块
    f(n) = sum_{i = 2}^{n - 1}(f(i) * g(n - i) * (C_(i - 1)^(n - 1)))
    【仓鼠哥哥说这是套路 orz

    【仓鼠哥哥说这是套路 orz
    于是神仙操作NTT
    (分治,合并时用NTT

    这次模拟考【第一次哎!
    迟到了半小时【平时都是8点半嘛qvq
    考试的时候也几乎被自己的菜蠢死
    嗯 就是比较妄自菲薄 这种心态并不好
    然后就是不那么认真 总有种恐惧心理
    希望以后能多参加模拟赛吧
    p.s.考完了发现 思维上还过得去?
    就是数学太垃圾

    然后 暑期课完结撒花



    QwQ



    舍不得



    好矫情///。。。

  • 相关阅读:
    Python 认识元组
    Python 认识字典
    Python 字符串中常见的一些方法续
    python 打印 A ~ Z
    Python3的print怎么让它不换行
    Python 中的 lstrip、rstrip、strip
    Python判断一个字符串是否包含指定字符串的方法
    Python 字符串中常见的一些方法
    Python 认识字符串
    苹果电脑MacbookPro双开微信!
  • 原文地址:https://www.cnblogs.com/hjmmm/p/9457702.html
Copyright © 2011-2022 走看看