zoukankan      html  css  js  c++  java
  • 学军信友队趣味网络邀请赛题解

    https://contest.xjoi.net/files/20a/html/FeZGsHA6KYo9.html

    T1

    一图惊醒梦中人

    T2

    看错了两遍题

    dp求最远距离

    T3

    设f[i][j]表示活性在区间[i,j]的期望乘上区间长(就是区间内每个数最小步数之和)

    把vw做背包,用一次操作代替多次

    枚举方案,如果转移过来的区间被分到若干个活性区间里就取和,这样大概是O(n^4)

    把f[i][j]变成如果跨过了若干活性区间就取和,这样变成O(n^3)

    强行硬点f从跨过了活性区间的状态转移过来,合法的状态只有2a[n]个,转移时用前缀和优化变成头尾+中间即可O(n^2)

    T4

    首先考虑h(m)等于什么

    若m是奇数,则先手取1必胜

    若m是2的倍数,相当于m/2的情况,先手取两个

    如果对方从头到尾都取两个那么就赢了,如果对方取一个就等于2(m/2-1)的情况,只需要每次取一个即可

    类推一下,当m=a*2^k时,先手取2^k个后a变成偶数

    此时相当于a个的情况取一个,如果对方跟着取就能赢,如果对方把当前的1拆开就只需要把m不断乘2直到对方所选的数变成整数,此时m是偶数,对方所选的是奇数,所以只需要选当前的单位1即可,不断分割到不可分即可获胜

    所以h(m)=lowbit(m)

    答案等于

    考虑枚举hi的取值

    时间复杂度:

    这里其实等于((1+frac{sqrt{2}}{2}+frac{1}{2}+frac{sqrt{2}}{4}...)sqrt{n})

    提一下变成((1+(1+sqrt{2})(frac{1}{2}+frac{1}{4}...))sqrt{n})

    等于((2+sqrt{2})sqrt{n})

    关于g的计算方法: https://www.cnblogs.com/gmh77/p/12639359.html

    T5

    不会(暴论)

  • 相关阅读:
    不知道是不是爬虫
    springCloud 搭建Eureka
    HttpsUtils
    java验证
    复选框值存数据库 存取问题
    Oracle VM VirtualBox 无法链接本地
    ssh 无法查询数据库
    CSS 分割线
    vue+Element 表格编辑
    数组,对象的深拷贝 与 浅拷贝
  • 原文地址:https://www.cnblogs.com/gmh77/p/12649878.html
Copyright © 2011-2022 走看看