東北育才 d1t1 優雅的序列

2022-06-03 09:00:07 字數 946 閱讀 2745

grace.cpp

題目描述

設乙個含有n個數的序列的優雅度為滿足ai<ai+1(1≤i輸入格式:

第1行:乙個整數n

第2行:n個整數,表示原始序列

輸出格式:

輸出1個整數,為新序列的最大優雅度

樣例輸入

樣例輸出

1 3 2 4 1

樣例解釋

排列方式不唯一,一種可行的排列方式為1、2、1、3、4,優雅度為3。可以通過窮舉法證明這是最優方案。

資料範圍

對於10%的資料,n≤10

對於40%的資料,n≤1000

對於100%的資料,n≤100000,序列中的每個數≤1000000000

水題,仔細觀察之後發現只要沒有重複的數,答案即為n-1。

那麼就把乙個數重複多次,對答案的貢獻度就是乙個數,所以答案為n-1-(這個數的個數-1)=n-這個數的個數。

再多新增別的數字,我們發現只要別的數的的個數比最多的數的個數少,就可以對答案產生貢獻,所以同理答案=n-出現最多的數的個數

#include#include

#include

#include

using

namespace

std;

int a[100031],dp[100031]=;

intmain()

int ans1=0

; sort(a,a+n+1

); a[

0]=a[1

];

int k=1

;

for(i=1;i<=n;i++)

dp[k]++;

ans1=max(ans1,dp[k]);

}intans;

ans=n-ans1;

cout

<

}

view code

HNOI2009 夢幻布丁 D1 T1

n個布丁擺成一行,進行m次操作.每次將某個顏色的布丁全部變成另一種顏色的,然後再詢問當前一共有多少段顏色.例如顏色分別為1,2,2,1的四個布丁一共有3段顏色.第一行給出n,m表示布丁的個數和好友的操作次數.第二行n個數a1,a2.an表示第i個布丁的顏色從第三行起有m行,對於每個操作,若第乙個數字...

NOIP2018提高組D1T1 鋪設道路

題目描述 春春是一名道路工程師,負責鋪設一條長度為 n 的道路。鋪設道路的主要工作是填平下陷的地表。整段道路可以看作是 n 塊首尾相連的區域,一開始,第 i 塊區域下陷的深度為 d i 春春每天可以選擇一段連續區間 l,r 填充這段區間中的每塊區域,讓其下陷深度減少1。在選擇區間時,需要保證,區間內...

清北學堂模擬賽d1t1 位運算1 bit

題目描述 lyk擁有乙個十進位制的數n。它賦予了n乙個新的意義 將n每一位都拆開來後再加起來就是n所擁有的價值。例如數字123擁有6的價值,數字999擁有27的價值。假設數字n的價值是k,lyk想找到乙個價值是k 1的數字,當然這個答案實在太多了,lyk想使得這個價值為k 1的數字盡可能大。輸入格式...