zoukankan      html  css  js  c++  java
  • 20211014省选组总结

    因为不想打细节题所以滚来写总结了

    这套题面过度玩梗。。。

    T1 Hello my friend

    题意:树上每个点有黑白两种颜色,如果是黑色则每次走到都有贡献,白色则只有一次贡献,问从点 (1) 开始的期望。

    (定位是签到题,然而爆零。。。)部分分的提示非常明显

    考虑将黑白两种颜色分开做,黑色是经典题目(指不知道叫什么),每个点 (f_u) 的表达式都可以写作 (f_u = k_u f_{fa} + b_u) 的形式,用这个形式一直转移到 (1) 即可, (b_1) 即是答案,若是白色点则不计算贡献,将表达式中的 (+1) 去掉。

    白色的话就是求每个点被到达的概率,维护 (f_x)(g_x) 分别表示 (x) 走到 (fa_x)(fa_x) 走到 (x) 的概率, (DP_x) 表示到达 (x) 点的概率,像换根DP一样求即可。

    注意有两个数据是不符合题目所给 (d_1>1) 的条件的( (d_x) 为点 (x) 的度数)。

    T2 Try to find out the wrong in the test

    题意:将一个序列分成一些连续的区间,每个点有一个 (L_i)(R_i) 表示该点所在区间的大小上、下限,要求分出的区间最多,并求出方案数。

    首先 (n^2) DP是显然的嘛,然后考虑优化。

    这个整个是不具有单调性的。。。不要卡死在一个点上了。。。

    但是满足 (R) 条件的区间是具有单调性的,因此可以对于每个点维护出 (Left_i) 表示能转移到该点的最左点,可以用单调队列实现。

    然后考虑分治,每次将 (L) 最大的点作为分治中心,设该点为 (L_k=c),用左边更新右边。

    此时我们就知道了每个区间的最小长度,

    根据 (Left_i)(i) 分成 (Left_i le l)(l < Left_i < k)(k le Left_i) 三段,

    最后一段没有贡献,中间的贡献区间不确定,暴力转移,

    前面的一段我们发现有 (i le k+1-c)(i > k+1-c) 之分,前者相邻两个 (i) 之间的贡献区间只差 (i-c+1) 这一个,对于第一个用线段树求解后可直接更新;后者每一个的贡献区间都是一样的,将答案标记打到整个满足条件的区间上即可。

    T3 【JSOI2015】投影面积(light)

    题意:平面上有一个屏幕和一个光源,还有若干个反射或阻挡的障碍物,求屏幕被照亮区域的占比。

    将光线分离成几十万条后暴力判断是否可以到达屏幕。

    暴力细节题。。。恶心坏了

  • 相关阅读:
    Linux 网络编程六(socket通信UDP版)
    Redis 集群方案介绍
    华为交换机STP 根ID优先级设置
    Pacemaker+Corosync搭建PostgreSQL集群
    SpookyOTP
    世界级的开源项目:TiDB 如何重新定义下一代关系型数据库
    TiDB
    Fiddler显示响应时间 显示服务器IP
    DNS记录类型名单
    Django models中关于blank与null
  • 原文地址:https://www.cnblogs.com/Kelvin2005/p/15408451.html
Copyright © 2011-2022 走看看