[luogu 2397] yyy loves Maths VI (mode) {眾數}
題目
https://www.luogu.org/problemnew/show/P2397
解題思路
因為這道題的空間很大。所以什麼諸如
map,hash之類的都不太管用。但是因為本題有一個特殊條件:眾數的數量一定是一半的。
所以我們可以維持一個當前的眾數,然後對新進來的這個數,判斷一下是否相同,如果相同,則記錄眾數數量的
sum累加,否則逐減,當
sum=0時將新讀入的這個數當成
眾數來處理
程式碼模擬
#include<cstdio>
using namespace std;
int n,ans,d,sum;
int main()
{
scanf("%d",&n);
while (n--){
scanf("%d",&d);
if (!sum) ans=d,sum++; else d==ans?sum++:sum--;
}
printf("%d",ans);
}
相關推薦
[luogu 2397] yyy loves Maths VI (mode) {眾數}
題目 https://www.luogu.org/problemnew/show/P2397 解題思路 因為這道題的空間很大。所以什麼諸如 m
luogu P2397 yyy loves Maths VI (mode)
spa -s 標準 lag 背景 badge 時間限制 個人 IT 題目背景 自動上次redbag用加法好好的刁難過了yyy同學以後,yyy十分憤怒.他還擊給了redbag一題,但是這題他驚訝的發現自己居然也不會,所以只好找你 題目描述 [h1]udp2:第一題因為語言性質
【題解】Luogu P2397 yyy loves Maths VI (mode)
problem 很有意思的一道題 Solution 初看此題毫無頭緒,2.2mb太喪心病狂了 再看題目,注意到重要性質:眾數個數大於一半 看完題解之後想到使用一個方法:摩爾投票法 摩爾投票法是啥玩意? 考慮一段序列,其中眾數的個數超過一半 每一輪投票,從序列中選出兩個不同的數,丟棄 無法再進
洛谷 P2397 yyy loves Maths VI (mode) 題解
clas 由於 http 讀下 dba lov 格式 輸出格式 否則 此文為博主原創題解,轉載時請通知博主,並把原文鏈接放在正文醒目位置。 題目鏈接:https://www.luogu.org/problem/show?pid=2397 題目背景 自動上次redb
yyy loves Maths VI (mode)
如果空間正常的話,可以排序,然後找n/2的位置的數 但是... 摩爾投票法,線性的時間複雜度,常量級的空間複雜度,找到陣列中出現次數大於一般的數 就是每次找到兩個不同的元素消去,直到剩下的都是同一種元素 1 #include<iostream> 2 #include<c
bzoj2456 / P2397 yyy loves Maths VI (mode)
P2397 yyy loves Maths VI (mode) 神奇的摩爾投票法(大霧) 保證眾數個數大於一半。 兩兩相消,剩下的那個必定是眾數。 我們只要開2個變數,一個存個數,一個存值即可。 (luogu的資料卡快讀???) luogu P2397 code: 1 #
【洛谷P2397】yyy loves Maths VI (mode)【模擬】
題目大意: 題目連結:https://www.luogu.org/problemnew/show/P2397 給出長度為 n n
[Luogu P2396] yyy loves Maths VII
洛谷傳送門 題目背景 yyy對某些數字有著情有獨鍾的喜愛,他叫他們為幸運數字;然而他作死太多,所以把自己討厭的數字成為"厄運數字" 題目描述 一群同學在和yyy玩一個遊戲 每次,他們會給yyy nnn張卡片,卡片上有數字,所有的數字都是"幸運數字",我們認為第i
P2393 yyy loves Maths II
putchar ++ 誤差 logs open include can space color P2393 yyy loves Maths IIlong double比如保留5位小數*1000000都變成整數最後再/1000000避免精度誤差scanf("%Lf",&
luogu2393 yyy loves Maths II
urn class ans love mes scan print pac ble 使用long double #include <iostream> #include <cstdio> using namespace std; long doubl
CF327E Axis Walking(LG2396 yyy loves Maths VII)
題目大意:給一個長度為$n(1\leqslant n\leqslant24)$的序列$S$和$k(0\leqslant k\leqslant2)$個數。 求有多少種$S$的排列方式使得其任何一個字首和都不是$k$個數裡的任意一個。 題解:狀壓$DP$,列舉當前選的數的狀態和下一個數,卡常,列舉下一個數的時
[洛谷P2396]yyy loves Maths VII $&$ [CF327E]Axis Walking
color long for reg getc 個數 轉移 spa inline 這道題是一個狀壓動歸題。子集生成,每一位表示是否選擇了第$i$個數。 轉移:$f[S] = \sum f[S-\{x\}]$且$x\in S$,當該子集所有元素的和為$b_1$或$b_2$時
[BZOJ] 2456: mode #眾數計數法
其中 mit strong gree memory aps ble stat 一行 2456: mode Time Limit: 1 Sec Memory Limit: 1 MBSubmit: 5969 Solved: 2414[Submit][Status][D
LeetCode 501. Find Mode in Binary Search Tree (找到二叉搜索樹的眾數)
btn https 標簽 one con pac 發現 log 個數字 Given a binary search tree (BST) with duplicates, find all the mode(s) (the most frequently occurred
[洛谷P1580]yyy loves Easter_Egg I
include 失敗 nbsp highlight code tro sscanf div ets 題目大意:[email protected]/* */,如果那個人忍不住說話了,就轟炸成功,[email protected]/* */@很多個人,則
bzoj3561DZY Loves Math VI
sta sea details geo 技術 ati eva long long www 3561: DZY Loves Math VI Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 503 Solved: 333[
[LeetCode]501. Find Mode in Binary Search Tree二叉搜索樹尋找眾數
pri fin lis 需要 efi lee value spa find 這次是二叉搜索樹的遍歷 感覺只要和二叉搜索樹的題目,都要用到一個重要性質: 中序遍歷二叉搜索樹的結果是一個遞增序列; 而且要註意,在遞歸遍歷樹的時候,有些參數如果是要隨遞歸不斷更新(也就是如果遞歸返
【題解】洛谷P2418 yyy loves OI IV
轉移 || 暴力 兩種 clu OS AD spa IT 感覺很是妙啊……這題數次誤入歧途...最開始想的二維dp,單調隊列優化;無果,卒。於是沒忍住看了下標簽:暴力枚舉?搜索?於是開始想記憶化搜索。以為會有什麽很強的剪枝之類的;30分,卒。最後終於回到正道上:50 000
Find Mode in Binary Search Tree 二叉搜索樹中查找眾數
class div 問題 xtra 空間分析 deb spa pos out [抄題]: Given a binary search tree (BST) with duplicates, find all the mode(s) (the most frequently
501. Find Mode in Binary Search Tree查找BST中的眾數
pan 為什麽 AR dup 不用 lan 結果 with bug [抄題]: Given a binary search tree (BST) with duplicates, find all the mode(s) (the most frequently occur