zoukankan      html  css  js  c++  java
  • 题答练习

    (UOJ109)

    (Task 1)
    (Dijkstra)(Floyd)?
    (101)个点,一坨(0)就好了.

    (Task 2)
    (Floyd)(Bellman-Ford)?
    (99)个点,一条倒过来的链就好了,加一坨重边.

    (Task 3)
    (Task 1)

    (Task 4)
    (Floyd)(Dijkstra)?
    有点意思.
    由于可以有负权边,(Dijkstra)是指数的.
    搞成这样就行啦.

    (Task 5)
    (Task 2)

    (Task 6)
    现在不是最短路了.
    要染色.
    现在卡(DFS)?
    随一组可行的即可.

    (Task 7)
    (DFS)过?用二分图即可.


    (UOJ83)
    博主太菜只会(Task 1sim 5)
    这是卡排序题

    (Task 1)
    归并卡计数?一个(10000000)计数就没了.

    (Task 2)
    冒泡卡选择?
    很有意思.
    看到(T)(200W)相差不大,考虑卡常.
    冒泡的常数比选择小,但是每有一个逆序对复杂度(+3),而选择复杂度只(+2)
    因此我们不轻易加逆序对.
    先搞一个从(1sim n)的数列,发现(ngeq 1991)的时候冒泡就(GG)了.
    因此(n)定在(1990).
    然而我们卡不掉选择.
    考虑人肉二分,让他多几个逆序对.
    我们把最后一项拿出来,放到(1468)的后面(倒数第(521)项还是(522)项数不清楚)
    此时冒泡复杂度刚好为(T).

    (Task 3)
    归并卡快排?
    显然是卡复杂度.
    快排每次选中间,那么我们精心构造之后它就是(n^2)的.
    再次人肉二分发现(n=1984)时刚好卡掉快排.

    (Task 4)
    计数卡冒泡?
    考虑我们定下(n)之后,由于计数的复杂度是确定的(4117),因此我们可以直接计算(a_{max})
    那么我们人肉二分知道(n=1014),(a_{max}=26)的时候刚好卡掉.
    不要忘记(a)中还有(0).

    (Task 5)
    选择卡冒泡?
    (Task 4)差不多.
    考虑先建出和(Task 4)差不多的数据.
    (n)暂定(1014).
    然后我们模拟退火!
    每次随机将一个数的个数(+1),让另一个数的个数(-1)
    我是这样写的:假设我们选了(2)个数,个数分别是(x,y).
    我们随一个数(tin [1,frac{min(x,y)}{3}]),然后令(x=x+t,y=y-t)即可.
    然后经过微调发现(n=1015,max=25)时较优.
    最后退出来选择大约需要(536161).
    据说爬山也可以过.

    (Task 6)
    用猴子排序卡快排(QAQ)
    最不靠谱的排序卡最快的排序???
    不会告辞

    写完这两道题手都快断了(QAQ)

  • 相关阅读:
    react router实现多级嵌套路由默认跳转
    【转载】git 撤销,放弃本地修改
    js中RGB值与16进制颜色值进行互转
    【转载】whistle 使用实践
    程序员腰突经历分享(中)
    在非洲运营互联网系统-如何搞定支付?
    30岁后遇不治之症(上)
    递归把path字符串构造成递归数组
    使用go开发公众号之 关注公众号发送小程序卡片
    excel 函数经验答题
  • 原文地址:https://www.cnblogs.com/Romeolong/p/10179550.html
Copyright © 2011-2022 走看看