2023河南萌新聯賽第(六)場:河南理工大學-F 愛睡大覺的小C

2023河南萌新聯賽第(六)場:河南理工大學-F 愛睡大覺的小C

https://ac.nowcoder.com/acm/contest/63602/F

文章目錄

  • 2023河南萌新聯賽第(六)場:河南理工大學-F 愛睡大覺的小C
    • 題意
    • 解題思路

題意

新學期的概率論課上,小C正在睡大覺,然而概率論老師的講課聲音還是傳到了小C的夢里…
原本小C正在夢中享受打敗小Y的勝利,突然小C面前出現了一個長度為 n ( 1 ≤ n ≤ 2 × 1 0 5 ) n(1\le n\le 2\times 10^5) n(1n2×105)的數組 a 1 , a 2 , a 3 , . . . a n ( 1 ≤ a i ≤ 1 0 7 ) a_1,a_2,a_3,...a_n(1\le a_i\le 10^7) a1?,a2?,a3?,...an?(1ai?107) ,然后概率論老師的聲音飄入了他的夢境:“這第 k k k個較大的數的期望是…”,于是小C便想求出對于所有長度大于等于 k ( 1 ≤ k ≤ 100 ) k(1\le k\le 100) k(1k100)連續子區間 k k k大的數期望是多少。請你幫小C計算出來。
文本解釋:
連續子區間:對于一個數組,它的連續子區間可以由刪掉頭和尾的0個或多個數字得到,例如 a = [ 1 , 4 , 2 , 6 , 5 ] a=[1,4,2,6,5] a=[1,4,2,6,5],則集合 [ 1 , 4 , 2 ] , [ 4 , 2 , 6 ] [1,4,2],[4,2,6] [1,4,2],[4,2,6]都是集合 a a a的連續子區間,而集合 [ 1 , 2 , 6 ] [1,2,6] [1,2,6]則不是,因為跳過 a 2 = 4 a_2=4 a2?=4,不連續了
k k k大的數:一個數組中有最大的數,次大的數,…,第個 k k k大的數。 例如: a = [ [ 114514 , 1557 , 2333 , 666 , 369 ] a=[[114514,1557,2333,666,369] a=[[114514,1557,2333,666,369]顯然第一大的數是 114514 ] 114514] 114514],第二大的數是 2333 2333 2333
期望:在概率論和統計學中,數學期望(或均值,亦簡稱期望)是試驗中每次可能結果的概率乘以其結果的總和

解題思路

看題面, 1 ≤ k ≤ 100 1\le k\le 100 1k100尤其引人注目,必有大用。可以發現小于其的數對其是否為區間第 k k k大沒有影響,我們可以使用鏈表,按照數值將 { a } \{a\} {a}排序,從小到大枚舉,每處理完一個數就將它從鏈表中刪除,對于某個數 x x x,大于其的數都在鏈表中,而小于其的數都被刪去。在其中找到最前的包含 x x x使 x x x為第 k k k大的 l l l,讓 l l l通過鏈表直到 x x x,在此過程中求取各個合法的期望值,可以達到 O ( n k ) O(nk) O(nk)的復雜度。注意處理邊界情況。
##代碼

#include<bits/stdc++.h>
using namespace std;
const int N=2e5+5;
struct link{int lf,rf;
}b[N];
struct node{int x,id;
}c[N];
int a[N],n,k;
long long dp[N];
bool cmp(node a,node b){return a.x<b.x;
}
void Delete(int x){b[b[x].lf].rf=b[x].rf;b[b[x].rf].lf=b[x].lf;
}
int main(){cin>>n>>k;for(int i=1;i<=n;i++){cin>>a[i];c[i].x=a[i];c[i].id=i;b[i].lf=i-1,b[i].rf=i+1;}b[n+1].rf=n+1;sort(c+1,c+n+1,cmp);for(int i=1;i<=n;i++){int x=c[i].id;int l=x;int j;for(j=1;j<k&&b[l].lf!=0;j++)l=b[l].lf;int L=b[l].lf;int r=x;for(;j<k&&b[r].rf!=n+1;j++)r=b[r].rf;if(j<k){Delete(x);continue;}int R=b[r].rf;while(L!=x&&r!=n+1){dp[x]+=1ll*(l-L)*(R-r);l=L,L=b[L].lf;r=R,R=b[R].rf;}Delete(x);}long long sum=0;for(int i=1;i<=n;i++)sum+=dp[i];double ans=0;for(int i=1;i<=n;i++)ans+=1ll*a[i]*dp[i]*1.0/sum;printf("%.2lf",ans);
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/42518.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/42518.shtml
英文地址,請注明出處:http://en.pswp.cn/news/42518.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

大數據平臺中元數據庫—MySQL的異常故障解決

本文的主要目標是解決大數據平臺中元數據庫MySQL的異常故障。通過分析應用響應緩慢的問題&#xff0c;找到了集群組件HIVE和元數據庫MySQL的原因。通過日志分析、工具檢測和專家指導等一系列方法&#xff0c; 最終確定問題的根源是大數據集群中租戶的不規范使用所導致&#xff…

[Unity]Lua本地時間、倒計時和正計時。

慣例&#xff0c;直接上代碼&#xff1a; --正計時開始時的時間戳 self.begin_time os.time() --倒計時時長&#xff0c;01:30:00 self.countdown_time 5400 --是否開始計時 self.is_update_local_time true--Unity Update function time_transition:update_local_timer()i…

Linux學習之iptables過濾規則的使用

cat /etc/redhat-release看到操作系統是CentOS Linux release 7.6.1810&#xff0c;uname -r看到內核版本是3.10.0-957.el7.x86_64&#xff0c;iptables --version可以看到iptables版本是v1.4.21。 iptables -t filter -A INPUT -s 10.0.0.8 -j ACCEPT會在最后一行插入。 10…

代碼隨想錄day52

300最長遞增子序列 class Solution { public:int lengthOfLIS(vector<int>& nums) {int piles 0; // 牌堆數初始化為 0vector<int> top(nums.size()); // 牌堆數組 topfor (int i 0; i < nums.size(); i) {int poker nums[i]; int left 0, right…

04 qt功能類、對話框類和文件操作

一 QT中時間和日期 時間 ---- QTime日期 ---- QDate對于Qt而言,在實際的開發過程中, 1)開發者可能知道所要使用的類 ---- >幫助手冊 —>索引 -->直接輸入類名進行查找 2)開發者可能不知道所要使用的類,只知道開發需求文檔 ----> 幫助 手冊,按下圖操作: 1 …

Android 13像Settings一樣獲取SIM卡信息

一.背景 由于客戶定制的Settings里面需要獲取到SIM卡信息,所以需要實現此功能。 目錄 一.背景 二.前提條件 三.調用api 二.前提條件 首先應用肯定要是系統應用,并且導入framework.jar包,具體可以參考: Android 應用自動開啟輔助(無障礙)功能并使用輔助(無障礙)功能_…

python中的cnn:介紹和基本使用方法

python中的cnn&#xff1a;介紹和基本使用方法 卷積神經網絡&#xff08;Convolutional Neural Networks&#xff0c;簡稱CNN&#xff09;是一種在圖像識別、語音識別、自然語言處理等許多領域取得顯著成功的深度學習模型。CNN的設計靈感來源于生物的視覺系統&#xff0c;由多…

WordPress更換域名后-后臺無法進入,網站模版錯亂,css失效,網頁中圖片不顯示。完整解決方案(含寶塔設置)

我在實際解決問題時用到了 【簡單暴力解決方案】的《方法一&#xff1a;修改wp-config.php》 和 【簡單暴力-且特別粗暴-的解決方案】 更換域名時經常遇到的幾個問題&#xff1a; 1、更換域名后&#xff0c;后臺無法進入 2、更換域名后&#xff0c;網站模版錯亂&#xff0c;c…

網絡通信原理網絡層TCP/IP協議(第四十三課)

1.什么是TCP/IP 目前應用廣泛的網絡通信協議集 國際互聯網上電腦相互通信的規則、約定。 2.主機通信的三要素 IP地址:用來標識一個節點的網絡地址(區分網絡中電腦身份的地址,如人有名字) 子網掩碼:配合IP地址確定網絡號 IP路由:網關的地址,網絡的出口 3.IP地址 …

軟件第三方測評機構做安全測試有用嗎?

術語第三方測試/外包軟件測試本身是不言自明的&#xff0c;即由任何個人/獨立組織對軟件進行測試 不直接或間接參與特定軟件的開發。 在做出選擇的決定時&#xff0c;可能會想到很多問題 內部測試團隊或進行離岸第三方測試&#xff0c;首先是“我們為什么要外包軟件測試&#…

C++設計模式結構型之代理模式

一、概述 代理模式是一種結構型模式&#xff0c;在很多不同的場合具有廣泛的分類和應用。其主要實現的思想是在客戶端和真正要訪問的對象之間引入一個 代理對象&#xff08;間接層&#xff09;&#xff0c;于是&#xff0c;以往客戶端對真正對象的訪問現在變成了通過代理對…

數學建模-規劃工具箱yalmip

官網下載 實例 %% yalmip 求解 yalmip clc;clear;close all; %% %sdpvar實型變量 intvar 整形變量 binvar 0-1型變量 psdpvar(3,1); %定義變量 %目標函數 要把求最大值轉化為最小值 Objective-p(1)^2p(2)^2-p(2)*p(3);%約束條件 Constraints[0<p<1,(p(1)^2p…

音視頻FAQ(一):視頻直播卡頓

一、摘要 本文介紹了視頻直播卡頓的四個主要原因&#xff0c;用戶網絡問題、用戶設備性能問題、技術路線的選擇和實現問題。因本文主要闡述視頻直播的卡頓&#xff0c;故技術路線的實現指的是&#xff1a;CDN供應商的實現問題&#xff0c;包含CDN性能不足、CDN地區覆蓋不足。對…

Vc - Qt - 繪制窗口背景色

要在Qt中繪制一個背景顏色&#xff0c;你可以使用Qt的繪圖功能來完成。下面是一種簡單的方法&#xff1a; 步驟1&#xff1a;在你想要繪制背景顏色的QWidget&#xff08;例如QMainWindow或QDialog&#xff09;的派生類中&#xff0c;重寫 它的paintEvent函數。步驟2&#xff1a…

matlab中exp和expm的區別

exp()為數組 X 中的每個元素返回指數 e x e^{x} ex expm()計算 X 的矩陣指數。 兩個函數傳入矩陣后計算的結果是不同的&#xff0c;千萬不能混淆。之前曾經想當然得把exp里傳入矩陣當矩陣指數使用&#xff0c;也未驗證正確性&#xff0c;實不應該。

uni-app中使用pinia

目錄 Pinia 是什么&#xff1f; uni-app 使用Pinia main.js 中引用pinia 創建和注冊模塊 定義pinia方式 選項options方式 定義pinia 頁面中使用 pinia選項options方式 函數方式 定義pinia 頁面中使用 函數方式 定義的pinia Pinia 是什么&#xff1f; Pinia&#xff0…

用戶新增預測——baseline學習筆記

一、賽題理解 1. 賽題名稱 用戶新增預測挑戰賽 2. 賽題數據集 賽題數據由約62萬條訓練集、20萬條測試集數據組成&#xff0c;共包含13個字段。其中uuid為樣本唯一標識&#xff0c;eid為訪問行為ID&#xff0c;udmap為行為屬性&#xff0c;其中的key1到key9表示不同的行為屬性…

S-Video端口接口芯片ESD保護方案圖

在音/視頻領域&#xff0c;除了常見的HDMI、DVI接口等&#xff0c;還有一些冷門的接口&#xff0c;比如S-Video端口&#xff0c;相信很多人可能都沒有聽說過。S-Video視頻端口同樣擁有較好的數據傳輸功能。S-Video二分量視頻端口&#xff0c;英文全稱Separate Video&#xff0c…

Macbook 終端 git 命令補全和提示

Mac OS自帶的終端&#xff0c;用起來雖然有些不太方便&#xff0c;界面也不夠友好&#xff0c;關鍵是在windows上用習慣了自動補全功能&#xff0c;在Mac上一個個的拼寫單詞是真的難受&#xff0c;逼著我記英文單詞。 經過一天的磨合&#xff0c;我實在忍不了&#xff0c;在網上…

復習vue3,簡簡單單記錄

這里的知識是結合視頻以及其他文章一起學習&#xff0c;僅用于個人復習記錄 ref 和reactive ref 用于基本類型 reactive 用于引用類型 如果使用ref 傳遞對象&#xff0c;修改值時候需要寫為obj.value.attr 方式修改屬性值 如果使用reactive 處理對象&#xff0c;直接obj.att…