zoukankan      html  css  js  c++  java
  • 2020.08.07【省选B组】模拟 总结

    今天比赛—————>暴力欢乐赛
    估分:(30 + 0 + 30 + 0 = 60)
    考场:(30 + 0 + 30 + 0 = 60)
    人家暴力拿满(rank1)(* ̄︶ ̄)
    其实人家打了我不会打的暴力(* ̄︶ ̄)

    (T1)

    很容易想到将询问分块,然后就可以快速求出每个询问的边集。
    此时的问题就在于如何快速求答案。
    我们考虑用(Kosaraju)算法来计算,由于每个点只会经过一次,所以可以笼统地认为一次求答案是(n^2)的。
    但是(O(T*n^2))的时间复杂度仍然会(TLE),所以我们考虑(bitset)优化(大雾
    (Kosaraju)算法每个点只会遍历一次,所以我们用(bitset)来存储边集,并且在(dfs)时用(bitset)的自带枚举操作(跑得飞快)
    于是乎,这道题就完美(嘿嘿嘿)地解决了。

    (T2)

    这道题我们先考虑树的情况。
    可以将题意转化为原图能用链覆盖所有边且链不重的方案数。
    如果链的长度为(1)代表这条边不为环上边,链的长度大于(1)表示在链的两个端点连一条边,成为一个环。
    如此我们就可以(DP)转移:(f[x]=h[du[x]]*∏f[son])
    (du[x])表示(x)的度数,(h[du[x]])表示那些链可以相连也可以独立的方案数。
    关键在于原图可以为仙人掌,如果环有重边答案为(0)
    仙人掌的话我们可以发现环的部分不能有链出现,所以我们把环都删去然后对于每棵树都跑(DP)乘起来即为答案。

    (T3)

    这道题嘛,感觉一开始的转化很巧,然后接下来的分类讨论也可以可以的。
    对于求特征值为(K)的方案数,我们可以转化成求(<=K)的减去(<K)
    我们的问题就是要求特征值(<=X)的方案数。
    我们发现,(<=X)的可以一视同仁,(>X)的同理。
    所以问题转化成有(X)(0)(n-X)(1),求最后为(0)的方案数。
    发现如果存在有连续的((>=2)(0/1),则最靠近中间数的连续数的值即为最终答案。
    所以我们可以枚举最靠近中间数的位置,此时中间的数强制设为(0,1,0,1...)这样轮流交换(否则枚举的就不是最靠近的了),我们就知道剩下的数的个数,可以组合数处理答案。
    要特判全部是(0,1,0,1,0,1,0...)的情况,这样结果也是(0)

    (T4)

    总结

    无语了,今天又是(4)道题,而且还是(4)道神仙题。。。
    感觉还是要所有分都竟可能拿到吧,加油了只能(泪奔┭┮﹏┭┮)

  • 相关阅读:
    [解决]WLAN设置静态IP后不能上网(Internet)
    风险类型(已知,已知未知,未知未知)
    申请PDU流程(自我学习类型PDU)
    SharePoint 2010中如何迁移(拷贝)工作流(How to migrate/copy workflow)
    如何让域用户登录SharePoint记住密码
    PMBOK成本预算组成图解
    SharePoint 2010在FireFox浏览器中的功能限制
    如何在SharePoint中配置Visio Graphics Service
    [转]地理编码服务 GeoCode Service
    SharePoint 2010工作流介绍
  • 原文地址:https://www.cnblogs.com/jz929/p/13453285.html
Copyright © 2011-2022 走看看