18.貪心算法

排序貪心

區間貪心

刪數貪心

統計二進制下有多少1

int Getbit_1(int n){int cnt=0;while(n){n=n&(n-1);cnt++;}return cnt;
}

暴力加一維前綴和優化

#include <iostream>
#include <climits>
using namespace std;
#define int long long
const int N=2e5+10;
int a[N],sum[N];signed main(){int n,mx=INT_MIN;cin>>n;//先求前綴和for(int i=1;i<=n;i++){cin>>a[i];sum[i]=sum[i-1]+a[i];}for(int l=1;l<=n;l++){for(int r=l;r<=n;r++){// l r 就是區間-->前綴和int sum_l_r=sum[r]-sum[l-1];mx=max(mx,sum_l_r);}}cout<<mx<<endl;return 0;
}

貪心 sum<零 清零

#include <iostream>
#include <climits>
using namespace std;
#define int long long
const int N=2e5+10;signed main(){int n,mx=INT_MIN,sum=0;cin>>n;for(int i=1;i<=n;i++){int x;cin>>x;if(sum<0) sum=0;sum+=x;mx=max(mx,sum);}cout<<mx<<endl;return 0;
}
#include <iostream>
#include <climits>
using namespace std;
#define int long long
const int N=1e2+10;
int a[N][N];
signed main(){int n;cin>>n;//固定左上角 枚舉右下腳for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){cin>>a[i][j];}}//枚舉int mx=INT_MIN;for(int i1=1;i1<=n;i1++){for(int j1=1;j1<=n;j1++){for(int i2=i1;i2<=n;i2++){for(int j2=j1;j2<=n;j2++){//i1 j1 i2 j2int sum=0;for(int i=i1;i<=i2;i++){for(int j=j1;j<=j2;j++){sum+=a[i][j];}}mx=max(mx,sum);}}}}cout<<mx<<endl;return 0;
}

?

一維前綴和 求二位區間和

#include <iostream>
#include <climits>
using namespace std;
#define int long long
const int N=1e2+10;
int a[N][N],presum[N][N];
signed main(){int n;cin>>n;//固定左上角 枚舉右下腳for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){cin>>a[i][j];presum[i][j]=presum[i][j-1]+a[i][j];}}/** 1 2 3 4 5* 6 7 8 9 1* 2 3 2 4 1* 3 3 2 1 1* *///枚舉int mx=INT_MIN;for(int i1=1;i1<=n;i1++){for(int j1=1;j1<=n;j1++){for(int i2=i1;i2<=n;i2++){for(int j2=j1;j2<=n;j2++){int sum=0;for(int i=i1;i<=i2;i++){sum+=presum[i][j2]-presum[i][j1-1];}mx=max(mx,sum);}}}}cout<<mx<<endl;return 0;
}

外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

二維前綴和求區間和

#include <iostream>
#include <climits>
using namespace std;
#define int long long
const int N=1e2+10;
int a[N][N],presum[N][N];
/** 遇到一維數組求最大連續子數組和 以及二維數組求最大連續子數字和問題* 都可以通過暴力枚舉區間來找到最大值* 一、一維數組* 1.對于一維數組,暴力枚舉區間需要兩層循環,l r* 2.求l r 區間內的和可以預先輸入的時候存儲區間和,然后通過區間和求前綴和* 二、二位數組* 1.對于二位數組來說,暴力枚舉區間需要四層循環,就是左上角左邊(i1,j1),右下角坐標(i2,j2)* 2.對(i1,j1) (i2,j2)求區間和比較復雜,還是輸入的時候前綴區間和,* 3.二維區間和:sum=presum[i2][j2]-presum[i1-1][j2]-presum[i2][j1-1]+presum[i1-1][j1-1]* 4.二維求前綴和的時候,需要畫圖,presum[i][j]=presum[i-1][j]+presum[i][j-1]-presum[i-1][j-1]+a[i][j];* */
signed main(){int n;cin>>n;//固定左上角 枚舉右下腳for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){cin>>a[i][j];presum[i][j]=presum[i-1][j]+presum[i][j-1]-presum[i-1][j-1]+a[i][j];}}/** 1 2 3 4 5* 6 7 8 9 1* 2 3 2 4 1* 3 3 2 1 1* *///枚舉int mx=INT_MIN;for(int i1=1;i1<=n;i1++){for(int j1=1;j1<=n;j1++){for(int i2=i1;i2<=n;i2++){for(int j2=j1;j2<=n;j2++){int sum=presum[i2][j2]-presum[i1-1][j2]-presum[i2][j1-1]+presum[i1-1][j1-1];mx=max(mx,sum);}}}}cout<<mx<<endl;return 0;
}

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

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

相關文章

uni-app 經驗分享,從入門到離職(五)——由淺入深 uni-app 數據緩存

文章目錄 &#x1f4cb;前言?關于專欄 &#x1f3af;什么是數據存儲&#x1f9e9;數據存儲——存儲&#x1f4cc; uni.setStorage(OBJECT)&#x1f4cc; uni.setStorageSync(KEY,DATA) &#x1f9e9;數據存儲——獲取&#x1f4cc; uni.getStorage(OBJECT)&#x1f4cc; uni.g…

2024年【起重機司機(限橋式起重機)】找解析及起重機司機(限橋式起重機)考試總結

題庫來源&#xff1a;安全生產模擬考試一點通公眾號小程序 2024年【起重機司機(限橋式起重機)】找解析及起重機司機(限橋式起重機)考試總結&#xff0c;包含起重機司機(限橋式起重機)找解析答案和解析及起重機司機(限橋式起重機)考試總結練習。安全生產模擬考試一點通結合國家…

[AI]部署安裝有道QanyThing

前提條件&#xff1a; 1、win10系統更新到最新的版本&#xff0c;系統版本最好為專業版本 winver 查看系統版本&#xff0c;內部版本要大于19045 2、CPU開啟虛擬化 3、開啟虛擬化功能&#xff0c;1、2、3每步完成后均需要重啟電腦&#xff1b; 注&#xff1a;windows 虛擬…

CSS輕松學:簡單易懂的CSS基礎指南

css基礎 更多web開發知識歡迎訪問我的專欄>>> 01-CSS初體驗 層疊樣式表 (Cascading Style Sheets&#xff0c;縮寫為 CSS&#xff09;&#xff0c;是一種 樣式表 語言&#xff0c;用來描述 HTML 文檔的呈現&#xff08;美化內容&#xff09;。 書寫位置&#xff1a;…

基于HAL庫的STM32-ADC學習(附帶代碼)

1.前言 STM32ADC是一種模擬/數字轉換器&#xff0c;可以將模擬信號轉換為數字信號。STM32ADC有多個通道&#xff0c;可以選擇不同的輸入源、轉換模式、觸發方式和采樣時間。STM32ADC的轉換結果可以通過中斷、DMA或者寄存器讀取。 在本文中&#xff0c;我將介紹如何使用STM32C…

第九屆大數據與計算國際會議 (ICBDC 2024) 即將召開!

2024年第九屆大數據與計算國際會議&#xff08;ICBDC 2024&#xff09;將于2024年5月24至26日在泰國曼谷舉行。本次會議由朱拉隆功大學工程學院工業工程系主辦。ICBDC 2024的宗旨是展示大數據和計算主題相關科學家的最新研究和成果&#xff0c;為來自不同地區的專家代表們提供一…

嵌入式學習筆記總結Day23----minshell項目總結

今天進行了linux系統高級編程io階段學習的結尾&#xff0c;完成了一個minshell的小項目。 一、項目介紹 利用Linux中IO接口實現MiniShell&#xff0c;實現常用的shell指令的實現。 項目想要實現需要思考的地方有&#xff1a; 1.如何打印終端命令 2.如何接受終端命令 3.實現對…

Sora - 探索AI視頻模型的無限可能-官方報告解讀與思考

一、引言 最近SORA火爆刷屏&#xff0c;我也忍不住找來官方報告分析了一下&#xff0c;本文將深入探討OpenAI最新發布的Sora模型。Sora模型不僅僅是一個視頻生成器&#xff0c;它代表了一種全新的數據驅動物理引擎&#xff0c;能夠在虛擬世界中模擬現實世界的復雜現象。本文將重…

[力扣 Hot100]Day33 排序鏈表

題目描述 給你鏈表的頭結點 head &#xff0c;請將其按 升序 排列并返回 排序后的鏈表 。 出處 思路 歸并排序即可。 代碼 class Solution { public:ListNode* merge(ListNode *h1,ListNode *h2) {ListNode *head nullptr;if(h1->val<h2->val){head h1;h1h1-…

2024.2.22 C++QT 作業

思維導圖 練習題 1>完善對話框&#xff0c;點擊登錄對話框&#xff0c;如果賬號和密碼匹配&#xff0c;則彈出信息對話框&#xff0c;給出提示”登錄成功“&#xff0c;提供一個Ok按鈕&#xff0c;用戶點擊Ok后&#xff0c;關閉登錄界面&#xff0c;跳轉到其他界面。如果賬…

Stream、Collections、Collectors用法

當涉及Java編程中的集合處理時&#xff0c;Stream、Collections和Collectors是三個常用的工具。以下是它們各自的主要功能和使用的一些方法的概要&#xff1a; Stream&#xff1a; 概要&#xff1a;Stream 是 Java 8 引入的一個強大工具&#xff0c;用于處理集合數據的流式操作…

Vue響應式狀態ref()與reactive()

1. ref()聲明響應式狀態 <template><!--在DOM元素調用變量時,不需要指定輸出變量的value,因為Vue會幫你輸出.value但是注意,這個幫助只會幫助頂級的ref屬性才會被解包--><div>{{ count }}</div><div>{{ object }}</div><div>{{ arr…

git切換倉庫地址

已有git倉庫&#xff0c;要切換提交的倉庫地址&#xff0c;用以下命令 git remote set-url origin 自己的倉庫地址 用以下命令&#xff0c;查看當前倉庫地址&#xff1a; git remote show origin 切換倉庫后&#xff0c;用以下命令初始化提交倉庫&#xff1a; git push -u o…

數據庫增刪改查

DDL: 數據定義語言&#xff0c;用來定義數據庫對象&#xff08;數據庫、表、字段&#xff09;DML: 數據操作語言&#xff0c;用來對數據庫表中的數據進行增刪改DQL: 數據查詢語言&#xff0c;用來查詢數據庫中表的記錄DCL: 數據控制語言&#xff0c;用來創建數據庫用戶、控制數…

c++11:可調用對象

文章目錄 引言1.普通函數2.函數指針3.函數對象(仿函數)4.Lambda表達式(匿名函數)5.function6.bind 引言 可調用對象是C11引入的新概念&#xff0c;可以像函數調用方式的觸發調用的對象就是可調用對象。 c98可調用對象(普通函數&#xff0c;函數指針&#xff0c;仿函數) c11可調…

Java設計模式【代理模式】

一、前言 1.1 背景 在不改變原有代碼的基礎上&#xff0c;對方法進行功能性的增強&#xff1b; 1.2 簡介 代理模式是一種結構型模式&#xff0c;為其他對象提供一種代理以控制對這個對象的訪問。在某些情況下&#xff0c;一個對象不想或者不能直接引用另一個對象&#xff0…

axure9.0 工具使用思考

原型設計軟件【AxureRP】快速原型設計工具原型設計軟件【AxureRP】快速原型設計工具原型設計軟件【AxureRP】快速原型設計工具原型設計軟件【AxureRP】快速原型設計工具原型設計軟件【AxureRP】快速原型設計工具原型設計軟件【AxureRP】快速原型設計工具原型設計軟件【AxureRP】…

CentOS使用Docker搭建Halo網站并實現無公網ip遠程訪問

&#x1f525;博客主頁&#xff1a; 小羊失眠啦. &#x1f3a5;系列專欄&#xff1a;《C語言》 《數據結構》 《C》 《Linux》 《Cpolar》 ??感謝大家點贊&#x1f44d;收藏?評論?? 前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&…

【華為OD機試真題 C++語言】483、中文分詞模擬器 | 機試真題+思路參考+代碼解析(C卷)

文章目錄 一、題目??題目描述??輸入輸出??樣例1??樣例2??樣例3二、思路參考三、代碼參考作者:KJ.JK??個人博客首頁: KJ.JK ??專欄介紹: 華為OD機試真題匯總,定期更新華為OD各個時間階段的機試真題,每日定時更新,本專欄將使用C++語言進行更新解答,包含真…

創紀錄:英偉達市值一日增 2770 億美元;Xiaomi 14 Ultra 正式發布丨 RTE 開發者日報 Vol.150

開發者朋友們大家好&#xff1a; 這里是 「RTE 開發者日報」 &#xff0c;每天和大家一起看新聞、聊八卦。我們的社區編輯團隊會整理分享 RTE &#xff08;Real Time Engagement&#xff09; 領域內「有話題的 新聞 」、「有態度的 觀點 」、「有意思的 數據 」、「有思考的 文…