acd,acd破解版
題意:一個由n個數組成的序列(序列元素的範圍是[0, n]),求最長首碼 j ,使得在這個首碼 j 中對於任意的數 i1 < i2,都滿足任意的 m <= j,i1 在前 m 個數裡出現的次數 >= i2 在前 m 個數裡出現的次數 - k (1 ≤ n ≤ 200 000, 0 ≤ k ≤ 200 000)。
題目連結:http://acdream.info/problem?pid=1427
——>>第一個首碼 j 不滿足,那麼後面的首碼一定不滿足(因為首碼 j 不滿足)。。所以,從左往右掃描,每次取所有數字 i 的最少出現次數與當前掃描到的數出現的次數比較看是否滿足條件即可。。
所有數字 i 指的是哪些數字呢?是已經出現過的數嗎?範例2說明不是。。是不大於當前出現過的最大整數嗎?WA告訴我不是。。而是 <= a[j] 的所有非負整數。。
所有數字 i 出現次數的最小值,我想到了RMQ和線段樹,最後選了線段樹來維護這個最小值。。
#include <cstdio>#include <cstring>#include <algorithm>#define lc (o << 1)#define rc ((o << 1) | 1)using std::min;using std::max;const int MAXN = 200000 + 10;const int INF = 0x3f3f3f3f;int n, k, Max;int minv[MAXN << 2], cnt[MAXN];int a[MAXN];void Read(){ Max = -1; for (int i = 1; i <= n; ++i) { scanf("%d", a + i); ++a[i]; if (a[i] > Max) { Max = a[i]; } }}void Build(int o, int L, int R){ minv[o] = 0; if (L == R) return; int M = (L + R) >> 1; Build(lc, L, M); Build(rc, M + 1, R);}void Update(int o, int L, int R, int q){ if (L == R) { minv[o] = cnt[q]; return; } int M = (L + R) >> 1; if (q <= M) Update(lc, L, M, q); else Update(rc, M + 1, R, q); minv[o] = min(minv[lc], minv[rc]);}int Query(int o, int L, int R, int ql, int qr){ if (ql <= L && R <= qr) { return minv[o]; } int ret = INF; int M = (L + R) >> 1; if (ql <= M) ret = min(ret, Query(lc, L, M, ql, qr)); if (qr > M) ret= min(ret, Query(rc, M + 1, R, ql, qr)); return ret;}void Solve(){ int i; memset(cnt, 0, sizeof(cnt)); for (i = 1; i <= n; ++i) { ++cnt[a[i]]; Update(1, 1, Max, a[i]); if (Query(1, 1, Max, 1, a[i]) < cnt[a[i]] - k) break; } printf("%d\n", i - 1);}int main(){ while (scanf("%d%d", &n, &k) == 2) { Read(); Build(1, 1, Max); Solve(); } return 0;}
ACDSee是個什軟體?
軟體名稱:ACDsee 7 簡體中文化版
大小:24M
軟體介紹:
ACDSee 是目前最流行的數字圖象處理軟體,它能廣泛應用於圖片的擷取、管理、瀏覽、最佳化甚至和他人的分享!使用 ACDSee,你可以從數位相機和掃描器高效擷取圖片,並進行便捷的尋找、組織和預覽。超過 50 種常用多媒體格式被一網打盡!作為最重量級看圖軟體,它能快速、高品質顯示您的圖片,再配以內建的音頻播放器,我們就可以享用它播放出來的精彩投影片了。Acdsee 還能處理如 Mpeg 之類常用的視頻檔案。此外 ACDSee 是您最得心應手的圖片編輯工具,輕鬆處理數位影像,擁有的功能像去除紅眼、剪下映像、銳利化、浮雕特效、曝光調整、旋轉、鏡像等等,還能進行批量處理哦!
橡樹下載:www1.xiangshu.com/download/software/33.ra
ACDSee是個什軟體?
軟體名稱:ACDsee 7 簡體中文化版
大小:24M
軟體介紹:
ACDSee 是目前最流行的數字圖象處理軟體,它能廣泛應用於圖片的擷取、管理、瀏覽、最佳化甚至和他人的分享!使用 ACDSee,你可以從數位相機和掃描器高效擷取圖片,並進行便捷的尋找、組織和預覽。超過 50 種常用多媒體格式被一網打盡!作為最重量級看圖軟體,它能快速、高品質顯示您的圖片,再配以內建的音頻播放器,我們就可以享用它播放出來的精彩投影片了。Acdsee 還能處理如 Mpeg 之類常用的視頻檔案。此外 ACDSee 是您最得心應手的圖片編輯工具,輕鬆處理數位影像,擁有的功能像去除紅眼、剪下映像、銳利化、浮雕特效、曝光調整、旋轉、鏡像等等,還能進行批量處理哦!
橡樹下載:www1.xiangshu.com/download/software/33.ra