在此貼另外乙個簡單題:吃糖果
如果ac上面乙個題目之後,發現兩個吃的方法其實一模一樣,但是又來了乙個問題,因為這個題目資料很大,卡 o(nlogn) ,則我們如何 o(n) 求出現次數最多的數。
在此貼另外乙個簡單題:#2456. mode
過了上面乙個題目你會發現,這個是求出現次數》=(n+1)/2的數,但是如果我們沒有這樣乙個數怎麼辦?仔細分析,如果不過半的話,則答案為sum,這個最大值沒意義,則我們只需要再掃一遍,判斷這個數出現了多少次。
#
include
#include
#include
#include
#include
#define
lllong
long
using namespace std;
const
int n=
1e6+5;
vector<
int>e[n]
;ll v[n]
;//代表第i段序列被使用次數
int n,op[n][3
];inline
void
read
(int
&x)inline
void
red()}
else}}
inline
void
slove1()
}inline
void
slove2()
all+=v[i];}
tol=0;
//統計這個數出現了多少次
for(
int i=
1;i<=n;i++)if
(op[i][0
]==1&& v[i]!=0
)for
(auto u:e[i])if
(u==x)
tol+=v[i];if
(tol>all-tol)
printf
("%lld\n"
,(all-tol)*2
);else
printf
("%lld\n"
,all);}
intmain()
return0;
}/**21
1 5 3 3 2 1 3
31 3 3 3 2
1 4 2 2 3 3
2 1 2
*/
2019ccpc哈爾濱補題
因為每個字串只能取乙個,剛開始是覺得全部列舉也不會超,後來想想列舉也要用深搜,所以就先記錄擁有各個字元的串,然後深搜 include using namespace std const int maxn 2e6 10 int t char s maxn vector int v 10 bool vi...
2019CCPC秦皇島站後記
前 時隔一年又來了秦皇島,這次吸取了上一次訂賓館的教訓,換了一家網上看起來挺好看的賓館,然後剛進門我就傻眼了。day1.早上三點半起來趕上海飛秦皇島的飛機,一上飛機我就睡著了,醒過來的時候發現昨晚通宵的jls已經開啟了電腦,果然真正的神仙都是不需要睡覺的 熱身賽比較快樂,簽完到之後發現d是列舉答案,...
2019CCPC哈爾濱A題 差分約束系統 二分
題目大意 有n 3e3個格仔,你可以任意給每個格仔染色,但是要滿足m 3e3限制條件,限制條件有兩種型別 1.區間 l,r 中被染色的格仔數量不少於k。2.區間 l,r 外被染色的格仔數量不少於k。在滿足所有限制條件下求染色格仔數量的最小值。題解 算作是差分約束 二分的板子題,比賽時還不知道差分約束...