問題 Q 巧克力與小花梨

2021-10-02 13:41:41 字數 1847 閱讀 1938

題目描述

書接上文,小花梨和小資訊閒著沒事切了太多巧克力,於是他們決定將多切的巧克力分發給參加2018伊卡斯特程式設計競賽的同學們。他們先統計了乙份分發名單,第i位同學被分配了ai塊巧克力。

比賽現場:

「小花梨!有些同學想要多吃點巧克力!」

「小花梨!有些同學午飯吃撐了不要那麼多巧克力!」

「小花梨!有些同學要組隊打包巧克力帶走!」

「小花梨!再拿一包中號袋子過來!這些人都要這麼多個巧克力!」

「小花梨!」「您能消停點不!」…………

總而言之,現在出現了三大類問題:

1、小花梨需要修改第x位同學的巧克力數量為y

2、小花梨需要求第l位同學到第r位同學的巧克力數量之和

3、小花梨需要求第l位同學到第r位同學的巧克力數量的眾數,即出現次數最多的數字。

(如果存在多個眾數,輸出數字最小的那個)

由於人手實在不夠,所以小花梨無奈把你從二食堂抓了回來。作為補償,你可以在得到乙份額外的霸王餐之外拿走剩下來的所有巧克力。

輸入

輸入只有一組資料。

第一行為兩個整數n和q,表示同學數和運算元

第二行為n個整數ai,表示第i位同學的巧克力數

接下來q行,先輸入字串s表示操作型別

「change x y」,表示修改第x位同學的巧克力數量為y

「query l r」,求第l位同學到第r位同學的巧克力數量之和

「most l r」,求第l位同學到第r位同學的巧克力數量的眾數

(1≤n,q≤10000,1≤ai,y≤109,1≤l≤r≤n,1≤x≤n)

輸出

對於每乙個操作"query"和"most",輸出一行ans,表示答案。

樣例輸入

1041

1122

3344

5query 2

3most 2

4change 3

2most 2

4

樣例輸出

2

12

code

關於眾數從博文 求眾數(c語言) 中獲得了一些靈感

//超時了。。

#include

using

namespace std;

struct node

;bool

compare

(int a,

int b)

bool

compare2

(node a,node b)

int ai[

10010];

int aai[

10010];

node bi[

10010];

intmost

(int n,

int x,

int y)

else j++;}

stable_sort

(bi,bi+y-x+

1,compare2)

;int tt=0;

for(

int i=

0;bi[i]

.nnum==bi[i+1]

.nnum;i++

)return bi[tt]

.cho_num;

}int

main()

else cout<<

most

(n,x,y)

<}return0;

}

Q7 巧克力製造商的戰略聯盟

拉塞爾是生產中等價位巧克力的企業,它的產品在雜貨店和折扣零售店 它希望提高其市場分額。拉塞爾如何通過和賀曼合作來實現其目標?拉塞爾和賀曼各將獲得什麼好處?如果這兩家企業建立戰略聯盟,它們將如何製作宣傳它們兩家產品的廣告?russell stover 始創於1923 年,由一對美國夫婦 mr.mrs....

問題 F 最小花費

時間限制 1 sec 記憶體限制 128 mb 提交 53 解決 25 提交 狀態 討論版 命題人 外部匯入 題目描述 在n個人中,某些人的銀行賬號之間可以互相轉賬。這些人之間轉賬的手續費各不相同。給定這些人之間轉賬時需要從轉賬金額裡扣除百分之幾的手續費,請問a最少需要多少錢使得轉賬後b收到100元...

問題 Q 買早餐

題目描述 小明是乙個懂事的孩子,每天起床後的第一件事就是給家人買早餐,已知饅頭乙個0.5元,包子乙個1元,雞蛋乙個1.5元,公尺粉乙份4元。爸爸給了小明若干元錢,要求小明恰好把錢用光,請問小明多少種買法?兩種買法被認為不同是因為至少有一種食物的數量不一樣。輸入爸爸給小明的錢數m,是乙個整數 1 m ...