zoukankan      html  css  js  c++  java
  • Codeforces

    Portal

    A. Antipalindrome

    暴力。

    B. Businessmen Problems

    暴力。

    C. Useful Decomposition

    居然不是C打头的?!
    将一棵树划分成若干条边不相交的路径,使得任意两个路径均有交点。
    易知树上的两条路径最多有一个交点。若有三条路径两两相交,则必形成三个交点或一个交点。设路径1与路径2交于(v_1),路径1与路径3交于(v_2),路径2与路径3交于(v_3)。若(v_1 eq v_2 eq v_3),则有路径(v_1-v_2-v_3)形成环路,如原图为树矛盾;所以必有(v_1=v_2=v_3)。以此类推,原树划分成的所有路径都交于一个点。
    那么原树中最多存在一个度数大于三的点(rt)(rt)就是交点。当(v)的度数为(1)时输出((v,rt))即可。

    D. Bookshelves

    将一个(n(nleq50))个数的序列({a_n}(a_ileq2^{50}))划分成(m)段,使得每段的和的按位与和最大。
    从高位向低位DP。做到第(k)位时,记录(ans)表示从最高位到第k-1位能取到的最大值。(dp[i][j])表示在满足最高位到第k-1位依然是(ans)的情况下,把前(i)个数分成(j)份能否让第(k)位为(1)

    [dp[i][j]=exists t,dp[t-1][j-1]为真且sum(t,i)& ans=ans,sum(t,i)在二进制下的第k位为1 quad(jleq t leq i) ]

    つづき...

    Code

    A, B, C, D

  • 相关阅读:
    Java Spring AOP用法
    Spring IOC的简单实现
    随机数
    Java 正则表达式
    日期格式转换
    maven settings.xml详解
    JSP与Servlet的关系
    EL表达式学习
    FreeMarker学习2
    FreeMarker学习
  • 原文地址:https://www.cnblogs.com/VisJiao/p/9098443.html
Copyright © 2011-2022 走看看