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)$然而常数很小,所以可以过。

  • 相关阅读:
    utf8编码和中文不能解码问题解决
    python环境的安装配置
    repo同一个仓的同一个changeId的提交
    Jenkins pipeline之将命令的运行结果赋值给变量
    repo和git常用的命令和场景
    docker 安装rabbitmq
    docker的一些概念
    mysql数据库sql优化原则
    数据库优化02
    MySQL数据库优化总结
  • 原文地址:https://www.cnblogs.com/hzoi-cbx/p/12241539.html
Copyright © 2011-2022 走看看