zoukankan      html  css  js  c++  java
  • 2013第五场多校

    多校第五场: 这场比赛打得太无力了,主要在于自己卡题太久。还有YY题又不想去做,这在现场赛是不会发生的。总觉得现在心态没有摆正,没有正视训练赛,这点需要改正。
    1006 http://acm.hdu.edu.cn/showproblem.php?pid=4649   概率DP
    (0)、之前遇到类似的题,所以看到就直接秒掉了,写得还挺顺的。
    (1)、将每个数按2进制拆成20位,对于每一个位单独一个DP处理概率就行了,第i位期望就是(第i为1的概率)*(1<<i)。


    1007 http://acm.hdu.edu.cn/showproblem.php?pid=4650   图论,找负环
    (0)、一开始直接把这题定为分数规划(因为最近刚在看胡伯涛的最小割论文),搞了一下午,然后就跪了。赛后换了下思想,就暴力过去了。
    (1)、分析了一下题目,得到一个结论:如果从u到v的过程中可以经过负环,那么u->v的答案就是比值最大的负环。如果没有遇到负环,那么答案就是u->v比值最大的一条路。
    (2)、如果用分数规划来做,时间复杂度会很高(我没有想到什么好办法)n^4*log(val)。然后妥妥的跪了。
    (3)、换一种思路,如果u->v之间存在负环,那么u->v之间最短路经过的点数是无穷多的。如果不存在负环,那么最短路经过的点数最多是n-1个点。因为n比较小,就可有直接预处理出dis[u][v][k]表示u->v走了k步的最小距离。
    (4)、接下来就是如何判断u->v之间有没有负环出现了。可以假设o为u->v某条路径上的一个点,且o在某个负环上,那么只要遍历所有可能的o,找到最大的负环即可。O(n)枚举o,
    如果(dis[o][o][z]<0)那么o点一定存在一个负环,对于每个点,求出经过这个点的最优比例的负环(负环最多也只会经过n个不同的点,所以z<=n就可以)。接下来就是直接枚举
    o,判断u->o->v是否成立,若成立,则答案是最优负环,若不存在,则答案为最优最短路。

  • 相关阅读:
    字符串形式导入模块
    pycharm 远程环境开发调试
    ubuntu 18.04 及初始化python3环境
    nbu备份虚拟机
    转载
    linux/centos/rhel同时安装oracle10g和11g
    多进程
    drf笔记
    单例模式
    常用模块
  • 原文地址:https://www.cnblogs.com/CooCoo/p/3252537.html
Copyright © 2011-2022 走看看