SMU Summer 2024 Contest Round 1

A.Hcode OnlineJudge

給出一個N面骰子和整數K,擲出1-N之間的每個數的概率相同,每次擲出一次,記為成績,若成績小于K,則開始拋硬幣,硬幣朝上則數翻倍,反之則為0,概率都為0.5。當數大于等于K或等于0時結束。求成績大于等于K的概率。

英文題目讀假了,寫不出來。其實只需要把每個數的概率分別求出來再求和就行了,注意乘上擲出該數的概率

#include<bits/stdc++.h>
#define endl '\n'
#define mk make_pair
#define int long long
using namespace std;
typedef long long ll;
typedef pair<int, int> PII;
const int N = 1e5+10;
const int mod = 998244353;
int n,m,k;void sovle(){cin>>n>>m;double a,b=0.000000000;a=n*1.000000000;a=1/a;for(int i=1;i<=n;i++){int u=i;double c=1.000000000;while(u<m){c*=0.5000000000;u*=2;}b+=c*a;}printf("%.9f\n",b);
}signed main()
{	//ios::sync_with_stdio(false), cin.tie(0),cout.tie(0); int t = 1; //cin>>t;while (t--){sovle();}return 0;
}

B.Hcode OnlineJudge

給出ABCD四個操作和一個雙端隊列,要求你通過不超過K次的操作,使得所得整數之和最大

正解應該是隊列,我用數組也過了。

數據范圍很小,四層循環暴力也能過,枚舉操作次數,左邊取的個數和右邊取的個數,剩下的次數可以用來丟掉負數

#include<bits/stdc++.h>
#define endl '\n'
#define mk make_pair
#define int long long
using namespace std;
typedef long long ll;
typedef pair<int, int> PII;
const int N = 1e5+10;
const int mod = 998244353;
int n,m,k;void sovle(){cin>>n>>m;vector<int>a(n);for(int i=0;i<n;i++){cin>>a[i];}int max1=0;for(int i=0;i<=m;i++){for(int j=0;j<=i;j++){vector<int>b,c;for(int w=0;w<j;w++){b.push_back(a[w]);}for(int u=0;u<=i&&u+j<=i&&u+j<=n;u++){for(int e=n-1;e>=n-u&&e>=j;e--){b.push_back(a[e]);}if(!(u+j)) continue;c=b;sort(c.begin(),c.end());int x;x=i-j-u;int y=0;while(x>0){x--;if(c[y]<0&&y<c.size()){y++;}}int sum=0;for(;y<c.size();y++){sum+=c[y];}max1=max(max1,sum);for(int e=n-1;e>=n-u&&e>=j;e--){b.pop_back();}}}}cout<<max1<<endl;
}signed main()
{	ios::sync_with_stdio(false), cin.tie(0),cout.tie(0); int t = 1; //cin>>t;while (t--){sovle();}return 0;
}

C.Hcode OnlineJudge

實際上就是求組成最少幾個的遞增序列。

有點像窗口排隊問題,用一個數組維護隊尾就好了,每次二分查詢現有的隊伍中小于該數的最大隊尾,并將隊尾修改成該數,如果沒有則新開一隊,也就是往后插入這個數。顯然,這個數組總是滿足非遞減的單調性,具有二分性。

#include<bits/stdc++.h>
#define endl '\n'
#define mk make_pair
#define int long long
using namespace std;
typedef long long ll;
typedef pair<int, int> PII;
const int N = 1e9+10;
const int mod = 998244353;
int n,m,k;int cmp(PII a,PII b){return a.first<b.first;
}void sovle(){cin>>n;vector<int>a(n);vector<int>b;for(int i=0;i<n;i++){cin>>a[i];}int sum=1;b.push_back(a[0]);for(int i=1;i<n;i++){int l=0,r=b.size(),ans=-1;while(l<=r&&(l+r)/2<b.size()){int mid=(l+r)>>1;if(b[mid]<a[i]){r=mid-1;ans=mid;}else{l=mid+1;}}if(ans!=-1){b[ans]=a[i];}else{b.push_back(a[i]);sum++;}}cout<<sum<<endl;
}signed main()
{	ios::sync_with_stdio(false), cin.tie(0),cout.tie(0); int t = 1; //cin>>t;while (t--){sovle();}return 0;
}

F.Hcode OnlineJudge

給你一個N長度的序列和M個bi,ci。你可以將該序列中不超過bi個數替換成ci。求該序列最大和

暴力會超時,我們可以將全部數看成紙牌,你擁有的紙牌數就是ci張和序列中有的。那么只需要用map記錄鍵值對和值,取最大的N張就可以了,不需要考慮替換。

不會逆序遍歷map,所以我用了負數來存鍵值,這樣在后面乘上負號就可以保證是從大到小排序

#include<bits/stdc++.h>
#define endl '\n'
#define mk make_pair
#define int long long
using namespace std;
typedef long long ll;
typedef pair<int, int> PII;
const int N = 1e5+10;
const int mod = 998244353;
int n,m,k;void sovle(){cin>>n>>m;map<int,int>a;for(int i=0;i<n;i++){cin>>k;a[-k]++;}for(int i=0;i<m;i++){int x,y;cin>>x>>y;a[-y]+=x;}int sum=0;for(auto ed:a){if(ed.second<=n){sum+=-ed.first*ed.second;n-=ed.second;}else{sum+=-ed.first*n;break;}}cout<<sum<<endl;
}signed main()
{	ios::sync_with_stdio(false), cin.tie(0),cout.tie(0); int t = 1; //cin>>t;while (t--){sovle();}return 0;
}

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

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

相關文章

自動駕駛算法———車道檢測(一)

“ 在本章中&#xff0c;我將指導您構建一個簡單但有效的車道檢測管道&#xff0c;并將其應用于Carla 模擬器中捕獲的圖像。管道將圖像作為輸入&#xff0c;并產生車道邊界的數學模型作為輸出。圖像由行車記錄儀&#xff08;固定在車輛擋風玻璃后面的攝像頭&#xff09;捕獲。…

【ZIP壓縮大揭秘】輕松掌握ZIP分卷壓縮包的高效解壓秘籍!

在這個信息爆炸的時代&#xff0c;文件大小常常成為我們分享與存儲的絆腳石。幸運的是&#xff0c;ZIP分卷壓縮技術如同一把鑰匙&#xff0c;巧妙地將龐然大物分解成小巧易管理的部分。但面對這一串分卷壓縮包&#xff0c;你是否也曾迷茫于如何高效解壓&#xff0c;恢復文件的完…

解碼Python字符串:‘r‘、‘b‘、‘u‘和‘f‘前綴的全面指南

&#x1f4d6; 正文 1 字符串前加’r’ 表示原始字符串&#xff0c;消除轉義 print(abc\nde) # abc # deprint(rabc\nde) # abc\nde在下面這個列子中&#xff0c;如果不在路徑字符串前面加r那么&#xff0c;路徑中的空格就會出現問題 print(rD:\01 programming\09python\py…

全志A527 T527 cat /proc/cupinfo沒有Serial問題

1.前言 我們有些客戶是使用cpuinfo節點去獲取系統的cpuid的,如下: cat /proc/cupinfo processor : 0 BogoMIPS : 48.00 Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp CPU impleme…

系統吃swap問題排查

目錄 背景 問題 分析并解決 1.控制線程數 2.更換IO組件 3.Linux進程信息文件分析 總結加餐 參考文檔 背景 隔壁業務組系統是簡單的主從結構&#xff0c;寫索引的服務(主)叫primary&#xff0c; 讀索引并提供搜索功能的服務(從)叫replica。業務線同步數據并不是平滑的&…

離散化及其在 Pandas 中的實現方法

目錄 1.什么是離散化&#xff1f; 2.離散化類型 3.示例代碼 3.1連續變量離散化 3.2定性變量離散化 4.運行結果 4.1連續變量離散化 4.2定性變量離散化 1.什么是離散化&#xff1f; 離散化是將連續數據或分類數據轉換為離散類別的過程&#xff0c;方便后續的數據分析和機…

static的理論學習

在說到static之前&#xff0c;需要先明確變量類型&#xff1a; 而在聊到變量類型之前我們可以將變量的兩個屬性好好學一學 變量的兩個屬性 作用域&#xff08;scope&#xff09;&#xff1a; 從內存的角度來看&#xff0c;就是變量存放在棧&#xff08;stack&#xff09;中&…

在 JavaScript 中,??(雙問號運算符)和 ?.(可選鏈運算符)區別

在 JavaScript 中&#xff0c;??&#xff08;雙問號運算符&#xff09;和 ?.&#xff08;可選鏈運算符&#xff09;是兩種不同的運算符&#xff0c;用于處理不同的情況&#xff1a; 雙問號運算符 (??): ?? 運算符是空值合并運算符&#xff08;Nullish Coalescing Oper…

Android C++系列:Linux進程(一)

1. 進程概念 我們知道,每個進程在內核中都有一個進程控制塊(PCB)來維護進程相關的信 息,Linux內核的進程控制塊是task_struct結構體。現在我們全面了解一下其中都有哪 些信息。 進程id。系統中每個進程有唯一的id,在C語言中用pid_t類型表示,其實就是一個非 負整數。進程的…

TypeError: Cannot read properties of null (reading ‘nextSibling‘)

做項目用的Vue3Vite, 在畫靜態頁面時&#xff0c;點擊菜單跳轉之后總是出現如下報錯&#xff0c;百思不得其解。看了網上很多回答&#xff0c;也沒有解決問題&#xff0c;然后試了很多方法&#xff0c;最后竟然發現是template里邊沒有結構的原因。。。 原來我的index.vue是這樣…

android.bp 編譯 順序

在Android平臺上&#xff0c;.bp 文件是用來定義Android編譯系統中的編譯規則的。Android編譯系統是基于Blueprint的&#xff0c;.bp 文件中定義的規則決定了如何編譯和打包應用程序。 在Android編譯系統中&#xff0c;.bp 文件中的規則通常是按照它們在文件中的順序來執行的。…

ELK+Filebeat+Kafka+Zookeeper

本實驗基于ELFK已經搭好的情況下 ELK日志分析 架構解析 第一層、數據采集層 數據采集層位于最左邊的業務服務器集群上&#xff0c;在每個業務服務器上面安裝了filebeat做日志收集&#xff0c;然后把采集到的原始日志發送到Kafkazookeeper集群上。第二層、消息隊列層 原始日志發…

conda和pip

1.眾所周知&#xff0c;pip的確是python官方&#xff08;PyPA&#xff09;推薦的Python軟件包安裝管理工具&#xff0c;在安裝Python軟件包時&#xff0c;第一反應應該是pip。正是由于pip是Python官方推薦的“正統”工具&#xff0c;所以pip只專注于Python軟件包之間的依賴&…

Matlab手搓線性回歸-非正規方程法

原理&#xff1a;wxb&#xff0c;x是輸入&#xff0c;求得的結果與真實值y求均方誤差。 采用鏈式法則求導 參數更新&#xff0c;梯度下降法&#xff08;批量梯度下降&#xff09; 隨機生成數據&#xff1a; m100&#xff1b;生成100個數據&#xff0c;并添加隨機噪聲 clear; …

基于flask的貓狗圖像預測案例

&#x1f4da;博客主頁&#xff1a;knighthood2001 ?公眾號&#xff1a;認知up吧 &#xff08;目前正在帶領大家一起提升認知&#xff0c;感興趣可以來圍觀一下&#xff09; &#x1f383;知識星球&#xff1a;【認知up吧|成長|副業】介紹 ??如遇文章付費&#xff0c;可先看…

二次元轉向SLG,B站游戲的破圈之困

文 | 螳螂觀察 作者 | 夏至 2023年是B站游戲的滑鐵盧&#xff0c;盡管這年B站的游戲營收還有40多億&#xff0c;但相比去年大幅下降了20%&#xff0c;整整少了10億&#xff0c;這是過去5年來的最大跌幅&#xff0c;也是陳睿接管B站游戲業務一年以來&#xff0c;在鼻子上碰的第…

鴻蒙語言基礎類庫:【@ohos.process (獲取進程相關的信息)】

獲取進程相關的信息 說明&#xff1a; 本模塊首批接口從API version 7開始支持。后續版本的新增接口&#xff0c;采用上角標單獨標記接口的起始版本。開發前請熟悉鴻蒙開發指導文檔&#xff1a;gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md點擊或者復制轉到。…

昇思13天

ResNet50遷移學習 ResNet50遷移學習總結 背景介紹 在實際應用場景中&#xff0c;由于訓練數據集不足&#xff0c;很少有人會從頭開始訓練整個網絡。普遍做法是使用在大數據集上預訓練得到的模型&#xff0c;然后將該模型的權重參數用于特定任務中。本章使用遷移學習方法對Im…

放棄華為OD,選擇最合適而不是最難得

時間不知不覺邁入了七月&#xff0c;五月嘗試去重新找一份工作&#xff0c;但釋放出來的崗位太少了&#xff0c;難得有進華為OD的機會&#xff0c;還是比較核心的部門&#xff0c;但思來想起&#xff0c;還是放棄了。 如果想去&#xff0c;是很有機會的&#xff0c;一路過關斬…

imx6ull/linux應用編程學習(13) CMAKE

什么是cmake&#xff1f; cmake 工具通過解析 CMakeLists.txt 自動幫我們生成 Makefile&#xff0c;可以實現跨平臺的編譯。cmake 就是用來產生 Makefile 的工具&#xff0c;解析 CMakeLists.txt 自動生成 Makefile&#xff1a; cmake 的使用方法 cmake 就是一個工具命令&am…