zoukankan      html  css  js  c++  java
  • Codeforces Round #556 题解

    Codeforces Round #556 题解


    Div.2 A Stock Arbitraging

    傻逼题

    Div.2 B Tiling Challenge

    傻逼题

    Div.1 A Prefix Sum Primes

    傻逼题,先放2,1然后放完2然后放完1

    Div.1 B Three Religions

    有三个字符串(s_1,s_2,s_3)和一个主串(s),每次操作改变一个(s_i)(插入或删除字符),每次操作完之后问(s)是否可以分成(3)个子序列正好是(s_1,s_2,s_3)。任意时候(|s_i|leq 250)

    (nxt[x][i])表示主串上字符(i)(>x)上第一个出现的位置。

    (f[x][y][z])表示三个串分别匹配到(x,y,z)需要主串的最短长度。

    那么这个可以(O(1))转移,只要枚举拼起来的最后一个字符就行了。

    插入最多改变(251^2)(f)值,每次插入dp一遍多出来的(f)就行了。

    https://codeforces.com/contest/1149/submission/53513066

    Div.1 C Tree Generator™

    有一个合法的括号序列,每次交换两个括号(保证还是合法)求这个括号序列对应的树的直径

    Orz zsy碾标算

    直径相当于选一段,匹配完括号以后剩下最多的括号数

    然后(因为zsy太强了)等于这一段分成两段后面的权值和-前面的权值和最大值,其中左括号权值为1,右括号为-1,证明显然

    所以在线段树上维护一堆东西。。。就行了

    要维护的:最大/最小前/后缀和,最大前/后缀的(d)值,序列整体(d)值,权值和,答案

    一段的(d)值就是将这一段分成两段后-前权值最大值

    https://codeforces.com/problemset/submission/1149/53591504

    Div.1 D Abandoning Roads

    我是sb。。考场上读错题了。。。

    有一张图只包含边权为(a,b(a<b))的边。对于每个点(p)求一个最小生成树满足(1)(p)距离最小。

    显然最小生成树会先取完(a),那么先预处理出(a)边组成的联通块。(1)(p)的最短路边权为(b)的边一定连接两个不同的联通块,而且都会走到一个之前没走过的联通块。那么可以状压所有联通块,最短路的同时记一下走过哪些联通块了,走(b)边时判一下新的联通块有没有走过。点数是(O(2^nn))级别的。

    可以发现如果一个联通块点数(leq 3),那么在这个联通块先走(b)边出去再走(b)边回来是没有意义的,因为这样至少走(2b),而这个联通块内部最长也就最多(2a)。所以不需要记这些联通块,点数降到(O(2^{n/4}n))就可以直接做了。

    https://codeforces.com/contest/1149/submission/53592086

    Div.1 E Election Promises

    有一张有向无环图,每个点有权值。双方轮流操作,每次操作降低一个点的权值然后任意修改这个点所有后继的权值。不能操作者输。判断先手胜负,如果先手胜输出第一步走的一个可行方案。

    先摆结论:(SG(x)=mathbb{mex}_{x ightarrow i}SG(i))(sum(x)=oplus_{SG(i)=x}h_i)。如果有一个(sum(x) eq 0),先手必胜;否则必败。

    如果所有(sum)(0),先手操作了点(i),那么操作后一定有(sum(SG(i))>0)。后手就再次操作使得(sum(i)=0)。操作方法就是找到最大的(i)满足(sum(i)>0),然后可以将所有(sum)修改为(0)

    https://codeforces.com/contest/1149/submission/53593317

  • 相关阅读:
    ubuntu下java环境变量配置
    批处理 控制 服务
    javascript break up a code line within a text string with a backslash.
    javascript for...in statement
    javascript output str to browser
    javascript RegExp
    javascript try catch throw
    javascript prototype
    javascript box
    java 移位处理
  • 原文地址:https://www.cnblogs.com/xzz_233/p/10798276.html
Copyright © 2011-2022 走看看