zoukankan      html  css  js  c++  java
  • 数学专项测试4

    A. 猜拳游戏

      考场上打了个非常伪的算法,不知道为什么能拿50。

      整道题的关键在于求出一轮中两个人的胜率之比。标程给的做法是分数规划。

      考虑二分答案,设二分的值为val,那么将A胜一轮贡献作为-val,B胜一轮贡献为1,倒着dp一遍就可以得到是否存在解。

      那么得到胜率之比之后,考虑如何得到最终答案。令$a_i$表示已经胜利i轮时的胜率,显然有$a_{i}=a_{i-1}*p+a_{i+1}*q$,p,q表示两个人分别的胜率。

      于是直接高斯消元就可以了。

      然而题解给了更高端的$O(1)$计算式,并不能理解是什么意思。

    B. inequ

      gugugu

    C. 生成树

      不难想到矩阵树,然后?

      不妨给每种颜色的边设个边权,为了方便,设红边的边权为1,设另外两种边的边权分别为x,y,那么在这种情况下用矩阵树定理求出来所有生成树权值之和为$sum num_{i,j}x^{i}y^{j}$,其中num表示选两种边i,j条时的方案数。

      发现这个东西是个多元方程组,所以只要带进去若干组x,y然后进行高斯消元就可以了。

      如果用二维插值是$O(n^5)$,高斯消元$O(n^6)$然而常数很小,所以可以过。

  • 相关阅读:
    R语言介绍与安装
    待分析数据数值化
    网络环路与攻击和谷歌的四个8
    基于storm和hadoop的广告系统研究【5】
    Xpath语法
    Xcode编译工具
    关于Xcode的Other Linker Flags
    iOS项目的目录结构和开发流程
    Objective-C中关于NSArray, NSDictionary, NSNumber等写法的进化
    Windows 8 常见教程
  • 原文地址:https://www.cnblogs.com/hzoi-cbx/p/12241539.html
Copyright © 2011-2022 走看看