中位數的和 KEY

2021-08-04 05:03:38 字數 1198 閱讀 2611

(number.pas/c/cpp)

【題目描述】

flower 有 n-1 個朋友,他們要一起玩乙個遊戲:首先確定三個非負整數 a,b,c,然後每個人依次在紙上寫乙個數,設第 i 個人寫下的數字為 f[i],flower 先寫下數字 f[1]=1,對於第 i 個寫數字的人(i>1)有: f[i]=(a*m[i-1]+b*i+c)mod1,000,000,007;其中 m[i-1]為前 i-1 個寫下的數字的中位數,如果 i-1 為偶數,那麼取靠前的那個數。flower 想要知道,所有人寫下的數字的和。

【輸入格式】

輸入僅一行,包含四個非負整數 a,b,c,n;意義如上;

【輸出格式】

輸出只有一行乙個整數,表示數字和。

【輸入樣例】

3 1 2 6

【輸出樣例】

103【資料規模】

對於 30%的資料: n≤1,000;

對於 100%的資料: n≤200,000; a,b,c≤1,000,000,007。code:

#include 

#include

#include

#define mod 1000000007

#define c c = tc ( )

using

namespace

std;

inline

char tc()

inline

void read(long

long &x)

long

long a,b,c,n;

long

long f[200001];

priority_queuelong>w1;

priority_queuelong,vector

long>,greaterlong> >w2;

int main()

long

long ans=0;

for(int i=1;i<=n;i++)ans+=f[i];

printf("%lld",ans);

fclose(stdin),fclose(stdout);

return

0;}

最後引用cjj的話。

如果是pascal的話我也可以,用pascal打堆!

中位數的中位數

參照王曉東的演算法設計 中位數的中位數,即將一串數分成n段,求其排好序了的中間那個數,再把這些所有中位數再求一次中位數。for int i 0 i r p 4 5 i 找中位數的中位數,r p 4即上面所說的n 5 int x lineselect a,p,p r p 4 5,r p 4 10 線性...

BFPRT(中位數的中位數)演算法

又稱為 中位數的中位數演算法 該演算法由 blum floyd pratt rivest tarjan 在1973年提出,最壞時間複雜度為o n 最差的空間複雜度為o logn 演算法步驟 1 將 n 個元素劃分為 n 5 個組,每組 5 個元素,若有剩餘,捨去 2 使用排序方法找到 n 5 個組中...

hive 中位數 Hive的中位數

關於求解中位數,我們知道在python中直接有中位數處理函式 mean 比如在python中求解乙個中位數,很簡單。python計算中位數 import numpy as np nums 1.1,2.2,3.3,4.4,5.5,6.6 均值np.mean nums 中位數 np.median num...