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)

  • 相关阅读:
    使用Bootstrap后,关于IE与Chrome显示字体的问题
    利用百度接口,识别身份证
    双日历日期选择控件
    回复一个朋友:如何理解委托
    IIS7增加mine类型,以便可以访问apk
    关于SqlBulkCopy SQL批量导入需要注意,列名是区分大小写的
    关于取表中id最大值+1的select语句,哪种效率更高?
    MySQL中如何分析查询语句
    判断同名股票是否存在的MyBatis查询函数写法
    Thymeleaf中model设一个值 页面显示此值 JS取此值
  • 原文地址:https://www.cnblogs.com/Romeolong/p/10179550.html
Copyright © 2011-2022 走看看