zoukankan      html  css  js  c++  java
  • 【提高】Codeforces Round#714(Div 2) 1513A~G

    Codeforces Round#714(Div 2) 1513A~G

    Wogua_boy

    提交网址:https://codeforces.com/contest/1513

    A.Array and Peaks

    定义一个位置i是峰值当且仅当(a_i>a_{i-1},a_i>a_{i+1})

    现在给出n和k,请你构造出恰好有k个峰值的长度为n的排列,或者确定无解。

    B.AND Sequences

    定义一个序列a是好的,当且仅当对于每个位置i有:

    (a_1&a_2&...&a_i = a_{i+1}&a_{i+2}&...&a_n)

    现在给出长度为n的数组a,询问有多少种排列p,使得

    (a_{p_1},a_{p_2},...a_{p_n})是好的。

    C.Add One

    一个数字,每一次操作,它的每一个数位会加1。

    比如它是109,一次操作后变成2110,两次操作后变成3221。

    现在给出n和m,询问数组n经过m次操作后,有几位数字。

    D.GCD And MST

    给出一个长度为n的序列a。

    现在尝试构造这样的一个无向图:

    一开始,每个i和i+1之间有一条长度为p的边。

    (gcd(a_i,a_{i+1},a_{i+2},..,a_j)=min(a_i,a_{i+1},a_{i+2},..,a_j))的时候,在点i和j之间连一条长度为(min(a_i,a_{i+1},a_{i+2},..,a_j))的无向边。

    询问这个图的最小生成树的总边权。

    E.Cost Equililibrium

    给出一个序列。

    定义平衡序列为一个序列所有元素都相同。

    单次操作你可以选择两个点i和j,使得(a_i-=x)(a_j+=x),花费(x|j-i|)

    一个序列是好的,当且仅当它通过多次操作变成平衡序列的最小花费和最大花费一样。

    现在给出一个序列a,询问有多少种排列p,使得(a_{p_1},a_{p_2},...a_{p_n})是好的。

    F.Swapping Problem

    给出两个数组,你可以选择交换两个位置,或者不交换,使得(sum_{i=1}^n|a_i-b_i|)最小。

    输出最小值。

  • 相关阅读:
    【SPOJ 104】Highways
    Test_Codes
    【关路灯】【MM不哭】
    省选悲剧
    【HNOI 2002】营业额统计
    博弈论 Nimm Games
    【NOI 2008】志愿者招募 Employee
    【APIO2009】ATM
    【SDOI 2009】学校食堂 Dining
    POJ 1001
  • 原文地址:https://www.cnblogs.com/zhanglichen/p/14649760.html
Copyright © 2011-2022 走看看