牛客練習賽3 E
#include<bits/stdc++.h> using namespace std; const int maxn = 1e5 + 10; int a[maxn], b[maxn]; int n, k; vector<int> g[maxn]; int lsh(int x) { int L = 1, R = n; while(L <= R) { int mid = (L + R) / 2; if(b[mid] > x) R = mid - 1; else if(b[mid] < x) L = mid + 1; else return mid; } return 0; } int main() { scanf("%d%d", &n, &k); for(int i = 1; i <= n; i ++) { scanf("%d", &a[i]); b[i] = a[i]; } sort(b + 1, b + 1 + n); for(int i = 1; i <= n; i ++) { a[i] = lsh(a[i]); } for(int i = 1; i <= n; i ++) { g[a[i]].push_back(i); } int ans = 1; for(int i = 1; i <= n; i ++) { if(g[i].size() <= 1) continue; for(int j = 1; j < g[i].size(); j ++) { int L = 0, R = j, p = j; while(L <= R) { int mid = (L + R) / 2; if((g[i][j] - g[i][mid] + 1) - (j - mid + 1) <= k) { p = mid; R = mid - 1; } else { L = mid + 1; } } ans = max(ans, j - p + 1); } } printf("%d\n", ans); return 0; }
相關推薦
【牛客練習賽3-E.絕對半徑2051】 二分+預處理
E題 給 你 一 個
牛客練習賽3 E-絕對半徑2051(尺取/離散化+二分)
題目描述 ????是一名狙擊手,憑藉肉眼視覺可以做到精確命中絕對半徑2051公尺的一切目標。 作為一名優秀的狙擊手,????不僅經常保養槍支,也經常保養彈藥。 ????有?枚子彈,第?枚的型號為??,????打算扔掉其中最多?枚。 大多數優秀的狙擊手都有藝術癖好,???
牛客練習賽3 E
#include<bits/stdc++.h> using namespace std; const int maxn = 1e5 + 10; int a[maxn], b[maxn]; int n, k; vector<int> g[maxn]; int
牛客練習賽7 E 珂朵莉的數列(樹狀數組+爆long long解決方法)
src main stdin scanf return n) can print con https://www.nowcoder.com/acm/contest/38/E 題意: 思路: 樹狀數組維護。從大佬那裏學習了如何處理爆long long的方法
牛客練習賽7 E 珂朵莉的數列
arc scanner print amp tar [] next ++ implement 珂朵莉的數列 思路: 樹狀數組+高精度 離散化不知道哪裏寫錯了,一直wa,最後用二分寫的離散化 哪位路過大神可以幫我看看原來的那個離散化錯在哪裏啊 通過代碼: im
牛客練習賽10 E題 數列查找 (分塊思想 + 莫隊算法)
意義 blog str aps mes blank ref pair rem 題目鏈接 數列查找 考慮分塊然後跑莫隊, 設$c[i]$為$i$在當前維護的區間內出現的次數, $g[i]$為在當前維護的區間內有多少個數出現次數為$i$, $bg[i]$把出現次數分塊
牛客練習賽 29 E 位運算?位運算!(線段樹)
rotate space lan lld 直接 clu 中間 for col 題目鏈接 牛客練習賽29E 對$20$位分別建立線段樹。首先$1$和$2$可以合起來搞(左移右移其實是等效的) 用個lazy標記下。轉移的時候加個中間變量。 $3$和$4$其實就是區間$0
牛客練習賽33 E. tokitsukaze and Similar String (字串雜湊)
題目連結:https://ac.nowcoder.com/acm/contest/308/E 題意:中文題 見連結 題解:雜湊預處理(三雜湊模板) 1 #include <bits/stdc++.h> 2 using namespace std; 3 #define ll lon
牛客練習賽33 E. tokitsukaze and Similar String (字符串哈希)
code har lan stdout kaze get names amp 字符 題目鏈接:https://ac.nowcoder.com/acm/contest/308/E 題意:中文題 見鏈接 題解:哈希預處理(三哈希模板) 1 #include <bits
牛客練習賽33 E tokitsukaze and Similar String
題目連結 預處理所有26種變化的hash表,用hash表來判斷子串是否相等 假設x的第i種變化與y相等,ans=min(i,26-i) 都不相等就為-1 #include<stdio.h> #include<iostream> #include<algo
牛客練習賽 29 E 位運算?位運算!(線段樹)
要求讓你實現支援以上要求的資料結構。 本題的特點主要是這些操作都是區間的位運算。由於這裡最多隻有20位,而且每一次的左移和右移都是強制補齊到20位的左移和右移,所以我們可以考慮線段樹維護每一位的情況。考慮線段樹的每一個節點i,它對應的sum[j]表示對應區間
牛客練習賽30: E. 國政議事(二分匹配)
題目描述 對於任何一個高速發展的發展中國家而言,一個高效的領導小組是不可或缺的。 現在我們知道k國的領導小組有n個人,準備舉行一次會議,他們一共需要處理m個重要事項,第i個重要事項在ai手中,並且該重要事項需要交給bi來具體實施。 人都到齊後,他們會進行一個“交換意
牛客練習賽34 E little w and Digital Root(數位dp)
title: 牛客練習賽34 E little w and Digital Root(數位dp) date: 2018-12-17 22:38:37 tags: 數位dp categories:ACM 題目連結 題目描述 數根(又稱數字根Digital root)是正整數的
牛客練習賽7 E 題 珂朵莉的數列 【樹狀陣列 + 思維】
傳送門 //對於一個數n, 它有n*(n+1)/2個子區間, 問這些子區間的逆序對數之和. //那麼這個區間問題一般都是計算貢獻問題, 所以先分析問題如果有 i < j 且 a[i] > a[j] 那麼區間1<= l <=i, j &
牛客練習賽28 E【斜拋運動的最大水平射程】
連結:https://www.nowcoder.com/acm/contest/200/E 來源:牛客網 題目描述 女裝會成癮 由於某人的精心設計,小可愛掉入了女裝的天坑無法自拔。 於是……她開始瘋狂的成批的買女裝。 而Kirito_Rivaille為了戒掉他的女裝病,準備實
序列子區間問題(西安電子科技大學第16屆程式設計競賽 E Xieldy And His Password,U14739 X ask Y III 子區間異或和、牛客練習賽16 E求值)
序列子區間問題一般都是問你,求序列子區間的和的和...異或和的和..和的異或和...和是3的倍數的個數... 這類問題一般都是用(字首和+)記錄狀態的陣列來實現,將O(n*n)的複雜度降為O(k*n)(k為常數) 這類問題可以從如何優化遍歷以i為結尾的連續子序列的複雜
牛客練習賽14 E-無向圖中的最短距離(bfs+bitset)
連結:https://www.nowcoder.com/acm/contest/82/E來源:牛客網題目描述 有一個n個點的無向圖,有m次查詢,每次查詢給出一些(xi,yi) 令dist(x,
牛客練習賽11 B trie樹+拓撲判環 E 分治求平面最近點對
define ima 字典序 父親 name return 如果 int body 牛客練習賽11 B 假的字符串題意:給定n個字符串,互不相等,你可以任意指定字符之間的大小關系(即重定義字典序),求有多少個串可能成為字典序最小的串,並輸出它們。 tags:好題 對
E 定向 牛客練習賽25
imp sizeof i++ %d time lse printf string inf tarjan 父節點和子節點 1 #include <cstdio> 2 #include <cstdlib> 3 #include <
牛客練習賽35 - B背單詞 - 3維的dp
題目描述 winterzz1準備考4級了,現在winterzz1決定把世界上所有單詞都背一遍,winterzz1發現任意一個單詞最多有A個連續的母音,最多有B個連續的子音。且單詞最長長度為N,winterzz1問你在滿打滿算的情況他需要背多少單詞??? 輸入描述: 首先輸入一個T(T&l