• 模拟83 题解

    A. 最大异或和

    异或是不进位加法。

    具有一个很好的性质:$a\ xor\ b=c$    $\rightarrow$     $c\ xor\ b=a$

    若所有点的异或和为$0$,那么显然平手。

    若异或和不为$0$,先手只要将最高位的$1$选到必胜。

     

     

     

    B. 简单的括号序列

    考虑暴力做这道题。

    那么枚举最后一个必选的左括号的位置,枚举括号的个数。

    预处理出左侧的左括号个数$lcnt_i$,右侧的右括号个数$rcnt_i$

    那么答案为$\sum \limits_{i=1}^{n} \sum \limits_{j=1}\binom{lcnt_i-1}{j-1}\binom{rcnt_{i+1}}{j}$。

    发现这个式子似乎有一丝像卷积式,然而是反着卷的。

    然而组合数可以直接把反向的卷积变为正向,于是可以将$n$个组合数相乘求和转化为单个组合数。

     

     

     

    C. 旅行计划

    对于$k$比较小的情况,可以通过预处理暴力跑。

    对于询问比较少的情况,可以倍增$floyd$(或者理解为$min-add$矩阵快速幂)。

    然而除去特殊性质就没办法了。

    或许想到了倍增,然而只要带$qn^2$必死,根本无法进行倍增的多次拼凑。

    所以正解是分块,避免了多次拼凑。

    只要处理出$100*k$ $1<=k<=100$步,由$i$到$j$的最优解。

    至少$k$步,由$i$到$j$的最优解。

    所以可以一步拼凑,做到$O(nq)$。

    相关文章
    相关标签/搜索
    90885公牛网站彩霸王白小姐一肖中特马2020马会免费资料大全白小姐中特网400500好彩堂中特网三肖中特期期准黄大仙