區間覆蓋 線段覆蓋 二分

4195. 線段覆蓋 - AcWing題庫

P2082 區間覆蓋(加強版) - 洛谷 | 計算機科學教育新生態 (luogu.com.cn)

做法:

void solve() {int n; cin>>n;vector<array<LL,2>> seg(n);for(auto &t: seg) cin>>t[0]>>t[1];sort(all(seg), [](array<LL,2> pre, array<LL,2> suf) {if(pre[0] == suf[0]) return pre[1] < suf[1];return pre[0] < suf[0];});vector<array<LL,2>> last;last.push_back(seg[0]);for(int i = 1; i < n; ++i) {if(seg[i][0] <= last.back()[1]) last.back()[1] = max(last.back()[1], seg[i][1]);else last.push_back(seg[i]);}LL ans = 0;for(auto &t: last) ans += t[1] - t[0] + 1;cout<<ans;
}

差分解決區間覆蓋:(這題不能過,但是感覺這個做法有用)

void solve() {int n; cin>>n;vector<int> dif(1000 + 1);int rl = 0;rep(i,1,n) {int l, r; cin>>l>>r;dif[l]++;dif[r+1]--; rl = max(rl, r); }int sum = 0;int now = 0;rep(i,1,rl) {now += dif[i];if(now > 0) sum++;}cout<<sum;
}

4195. 線段覆蓋 - AcWing題庫

問題描述: 坐標軸中共有多少個整數坐標的點滿足恰好被 k條線段覆蓋。

思路:離散化差分,用map(。根據差分可以找線段被多少哥線段覆蓋。

代碼:

void solve() {int n; cin>>n;map<LL,LL> mll;vector<LL> ans(n + 1);rep(i,1,n) {LL l,r; cin>>l>>r;mll[l]++;mll[r+1]--;}LL last = -1,sum = 0;for(auto t: mll) {LL f = t.vf, s = t.vs;if(last != -1) ans[sum] += f - last;sum += s;last = f;}rep(i,1,n) cout<<ans[i]<<" ";
}

二分 (nowcoder.com)

問題描述:根據對話,找可能的最多正確的對話。

思路:

? 如果是 val +,說明猜的數val比答案要大,此時,答案在區間(-inf, val)

? 如果是val -,說明猜的數val比答案要小,此時,答案在區間(val, inf)

? 如果是val .,說明猜的數val等于答案,此時,答案在區間[val, val + 1)

? 可以用差分求最大覆蓋區間。數據離散,可以用map代替差分離散化。

代碼:

void solve() {LL inf = LONG_LONG_MAX - 123456789;int n; cin>>n;map<LL,LL> mll;char op[2];rep(i,1,n) {int v; cin>>v>>op;if(op[0] == '.') { // 等于 [val, val + 1)mll[v]++, mll[v+1]--;}else if(op[0] == '+') { // 大 (-inf, v)mll[-inf]++;mll[v]--; } else { // 小 (v+1, inf)mll[v+1]++;mll[inf]--;}}int ans = 0, sum = 0;for(auto t: mll) {sum += t.vs;ans = max(sum, ans);}cout<<ans;
}

【2023陜西訓練營】day1 枚舉和枚舉優化 - Virtual Judge (vjudge.net)

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

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

相關文章

從視覺裝備到智能駕駛,天準科技能否打造第二增長極?

智能網聯汽車已經成為了上市公司跨界布局的熱門賽道。 天準科技是工業視覺智能裝備領域的龍頭企業&#xff0c;主要客戶包括蘋果、三星等企業。招股說明書顯示&#xff0c;2016年至2018年&#xff0c;天準科技來源于蘋果公司及其供應商的收入合計占比達到49.98%、67.99%及76.0…

Spark操作Hive表冪等性探索

前言 旁邊的實習生一邊敲著鍵盤一邊很不開心的說:做數據開發真麻煩,數據bug排查太繁瑣了,我今天數據跑的有問題,等我處理完問題重新跑了代碼,發現報表的數據很多重復,準備全部刪了重新跑。 我:你的數據操作具備冪等性嗎? 實習生:啥是冪等性?數倉中的表還要考慮冪等…

JVS開源基礎框架:平臺基本信息介紹

JVS是面向軟件開發團隊可以快速實現應用的基礎開發腳手架&#xff0c;主要定位于企業信息化通用底座&#xff0c;采用微服務分布式框架&#xff0c;提供豐富的基礎功能&#xff0c;集成眾多業務引擎&#xff0c;它靈活性強&#xff0c;界面化配置對開發者友好&#xff0c;底層容…

互聯網賬號被封禁解決辦法,以qq為例

百度搜索&#xff1a;互聯網信息服務投訴平臺 電腦端瀏覽器&#xff1a;打開 ts.isc.org.cn 推薦使用360極速瀏覽器 谷歌瀏覽器 提交完成后&#xff0c;將投訴碼保存&#xff0c;可以在“查詢評價”處用投訴碼查詢進度

windows安裝go,以及配置工作區,配置vscode開發環境

下載安裝go 我安裝在D:\go路徑下配置環境變量 添加GOROOT value為D:\go修改path 添加%GOROOT%\bin添加GOPATH value為%USERPROFILE%\go 其中GOPATH 是我們自己開發的工作區&#xff0c;其中包含三個folder bin,pkg,以及src&#xff0c;其中src為我們編寫代碼的位置 配置vscod…

Vue路由守衛

目錄 一、全局路由守衛二、獨享路由守衛三、組件內路由守衛 一、全局路由守衛 作用全局 router.beforeEach全局前置路由守衛—初始化的時候被調用、每次路由切換之前被調用router.afterEach全局后置路由守衛—初始化的時候被調用、每次路由切換之后被調用 配置 // 該文件專…

git使用規范

Git規范&#xff08;公司使用gitlab&#xff09; 版本規范 前端項目使用語義化版本進行發布: 版本格式&#xff1a;主版本號.次版本號.修訂號&#xff0c;版本號遞增規則如下&#xff1a; 主版本號&#xff1a;當你做了不兼容的 API 修改&#xff0c;次版本號&#xff1a;當…

uniapp 使用 uni push 2.0 推送消息

因為之前使用uni push 1.0&#xff0c;開通賬號和配置廠商就不寫了。只說一點&#xff0c;配置廠商很重要&#xff0c;不然收不到離線推送的消息。那么就直接開始咯&#xff01;&#xff01;&#xff01; 一、創建并關聯云服務空間 1.創建云服務空間&#xff0c;右鍵項目【創…

Java進階(3)——手動實現ArrayList 源碼的初步理解分析 數組插入數據和刪除數據的問題

目錄 引出手動實現ArrayList定義接口MyList<T>寫ArrayList的實現類增加元素刪除元素 寫測試類進行測試數組插入數據? 總結 引出 1.ArrayList的結構分析&#xff0c;可迭代接口&#xff0c;是List的實現&#xff1b; 2.數組增加元素和刪除元素的分析&#xff0c;何時擴容…

利用HTTP代理實現請求路由

嘿&#xff0c;大家好&#xff01;作為一名專業的爬蟲程序員&#xff0c;我知道構建一個高效的分布式爬蟲系統是一個相當復雜的任務。在這個過程中&#xff0c;實現請求的路由是非常關鍵的。今天&#xff0c;我將和大家分享一些關于如何利用HTTP代理實現請求路由的實用技巧&…

數據結構----哈夫曼樹

這里寫目錄標題 基本概念引子基本概念各種路徑長度各種帶權路徑長度結點的帶權路徑長度樹的帶權路徑長度哈夫曼樹 哈夫曼樹的構造理論基礎構造思想總結 哈夫曼樹的實現哈夫曼編碼前綴編碼哈夫曼編碼的思想案例代碼實現 編碼與解碼 基本概念 引子 哈夫曼樹就是尋找構造最優二叉…

Docker容器基礎

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 一、Docker概述1、docker是什么2、Docker的設計宗旨3、容器在內核中支持2種重要技術&#xff1a; 三、Docker的核心概念四、Docker相關命令1.安裝依賴包2.設置阿里云…

無線測溫產品在半導體制造項目的應用

摘 要&#xff1a;半導體被譽為“制造業的大腦”&#xff0c;在關系國家安全和國民經濟命脈的主要行業和關鍵領域占據支配地位&#xff0c;是國民經濟的重要支柱。 隨著數字技術的發展和數字經濟在國民經濟中所占比重越來越高&#xff0c;半導體產業的重要性還會進一步提升。安…

C++QT教程3——手冊4.11.1自帶教程(筆記)——創建一個QT快速應用

文章目錄 創建一個QT快速應用創建項目創建主視圖添加應用邏輯為視圖添加動畫素材文件 參考文章 創建一個QT快速應用 本教程使用內置的QML類型&#xff0c;介紹了Qt Quick的基本概念。有關可以選擇的用戶界面選項的更多信息&#xff0c;請參閱用戶界面。 本教程描述了如何使用…

部署mysql到win10電腦上

中間出現了很多問題&#xff0c; 記錄一下 我這邊是去官網下載的 &#xff0c;鏈接&#xff1a;https://dev.mysql.com/downloads/mysql/ 我這邊選了不是最新版本的MySQL&#xff0c;因為第一次安裝8.1.0版本的&#xff0c;死活運行不起來&#xff0c;直接卸載安重裝了&#x…

常用的分布式計算引擎

記錄一下&#xff0c;作為備忘。 常用的分布式計算引擎 多表關聯的問題&#xff0c;由于NoSQL數據庫主要用于海量存儲和單表查詢&#xff0c;一般都不支持join&#xff0c;需借助更上層的計算框架來實現多表關聯&#xff0c;比如: 計算框架支持數據源執行效率Hive本地文件、…

神經網絡基礎-神經網絡補充概念-35-為什么正則化可以減少過擬合

概念 正則化可以減少過擬合的原因在于它通過限制模型的復雜性來約束參數的取值范圍&#xff0c;從而提高了模型的泛化能力。過擬合是指模型在訓練集上表現很好&#xff0c;但在未見過的數據上表現不佳&#xff0c;這通常是因為模型過于復雜&#xff0c;過多地擬合了訓練數據中…

自己動手寫數據庫系統:實現一個小型SQL解釋器(中)

我們接上節內容繼續完成SQL解釋器的代碼解析工作。下面我們實現對update語句的解析&#xff0c;其語法如下&#xff1a; UpdateCmd -> INSERT | DELETE | MODIFY | CREATE Create -> CreateTable | CreateView | CreateIndex Insert -> INSERT INTO ID LEFT_PARAS Fie…

后端項目打包上傳服務器記錄

后端項目打包上傳服務器記錄 文章目錄 后端項目打包上傳服務器記錄1、項目打包2、jar包上傳服務器 本文記錄打包一個后端項目&#xff0c;上傳公司服務器的過程。 1、項目打包 通過IDEA的插件進行打包&#xff1a; 打成一個jar包&#xff0c;jar包的位置在控制臺可以看到。 2、…

ssm蜀都天香酒樓網站設計與實現

ssm蜀都天香酒樓的網站設計與實現028 開發工具&#xff1a;idea 數據庫mysql5.7 數據庫鏈接工具&#xff1a;navcat,小海豚等 技術&#xff1a;ssm 摘要 近年來&#xff0c;信息化管理行業的不斷興起&#xff0c;使得人們的日常生活越來越離不開計算機和互聯網技術。首…