zoukankan      html  css  js  c++  java
  • Codeforces Round #450

    Find Extra One

    Solution

    Position in Fraction

    Solution

    Remove Extra One

    f[i]表示删掉i能增加的record数目

    从左到右处理,记录当前最大数max1和第二大数max2。如果第i个数字a[i]大于最大数,则第i个数字本身是个record,f[a[i]]--,因为删掉它会导致减少一个record。如果a[i]在max1和max2之间,f[max1]++,因为此时删掉max1可以增加一个record。

    选择f值最大的数中最小的输出即可。

    Solution

    Unusual Sequences

    首先把y除以x,变成求最大公约数是1的序列的个数。

    对于剩下的数,显然仍然有一个最大公约数,而且这个最大公约数一定是y的约数(这跟为什么y=y/x,除不尽直接输出0道理一样)。假定这个最大公约数是p,那么满足此种情况的数列的个数与加起来是y/p,最大公约数为1的数列个数相同。

    假设f(t)表示加起来是t,且最大公约数是1的数列的个数;g(t)表示加起来是t,最大公约数随意的数列的个数,显然g(t)=sigma(f(d)) d|t,且g(t)=2^(t-1),从而可以根据莫比乌斯反演求出f(t)。

    Solution

    Maximum Questions

    cost[i]表示从i开始匹配一个m所需替换次数,dp[i].first为从1到i最多能匹配的次数,second表示达到最多匹配次数时的最小替换次数。

    Solution

  • 相关阅读:
    P1495 曹冲养猪
    luoguP4281[AHOI2008]紧急集合 / 聚会
    NOIP1997 代数表达式
    luogu P3709大爷的字符串题
    luoguP3912 素数个数
    POJ 1065 Wooden Sticks
    POJ 1063 Flip and Shift
    POJ 1062 昂贵的聘礼
    POJ 1003 Hangover
    POJ 1001 Exponentiation
  • 原文地址:https://www.cnblogs.com/dramstadt/p/8026271.html
Copyright © 2011-2022 走看看