CodeForces - 786C——二分+模拟?
生活随笔
收集整理的這篇文章主要介紹了
CodeForces - 786C——二分+模拟?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【題目描述】
Rick and Morty want to find MR. PBH and they can't do it alone. So they need of Mr. Meeseeks. They Have generated n Mr. Meeseeks, standing in a line numbered from 1 to n. Each of them has his own color. i-th Mr. Meeseeks' color is ai.Rick and Morty are gathering their army and they want to divide Mr. Meeseeks into some squads. They don't want their squads to be too colorful, so each squad should have Mr. Meeseeks of at most k different colors. Also each squad should be a continuous subarray of Mr. Meeseeks in the line. Meaning that for each 1?≤?i?≤?e?≤?j?≤?n, if Mr. Meeseeks number i and Mr. Meeseeks number j are in the same squad then Mr. Meeseeks number e should be in that same squad.Also, each squad needs its own presidio, and building a presidio needs money, so they want the total number of squads to be minimized.Rick and Morty haven't finalized the exact value of k, so in order to choose it, for each k between 1 and n (inclusive) need to know the minimum number of presidios needed.Input
The first line of input contains a single integer n (1?≤?n?≤?105) — number of Mr. Meeseeks.The second line contains n integers a1,?a2,?...,?an separated by spaces (1?≤?ai?≤?n) — colors of Mr. Meeseeks in order they standing in a line.Output
In the first and only line of input print n integers separated by spaces. i-th integer should be the minimum number of presidios needed if the value of k is i.Examples
Input
Output
4 2 1 1 1Input
8 1 5 7 8 1 7 6 1Output
8 4 3 2 1 1 1 1【題目分析】
這道題放在線段樹里面我實在沒有什么想法,覺得就暴力一下不可以嗎?可是估計了一下時間應該會超時,在網上看到一種想法,就是二分暴力,如果區間兩端答案一樣那么說明中間的所有的答案都是一樣的,因為答案應該是非線性遞減的。
【AC代碼】
總結
以上是生活随笔為你收集整理的CodeForces - 786C——二分+模拟?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BZOJ1018 | SHOI2008-
- 下一篇: 什么是多页面应用, 和单页面应用有什么区