CF每日5題(1500-1600)

545C 貪心 1500

題意:給 n 棵樹在一維數軸上的坐標 xix_ixi? ,以及它們的長度 hih_ihi?。現在要你砍倒這些樹,樹可以向左倒也可以向右倒,砍倒的樹不能重合、當然也不能覆蓋其他的樹原來的位置,現在求最大可以砍倒的樹的數目。
一眼以為是dp,但是感覺處理左右轉移很麻煩,瞟了眼題解…是很易懂的貪心…
分析:

  • 兩邊的樹向兩邊倒,不妨礙中間的樹
  • 中間的樹只考慮左右相鄰的距離,直觀考慮一邊倒的情況較好,互不干擾
    • 統一向左倒
    • 不能向左,向右有兩種情況
      • 右邊的樹可以向左倒,倒就完了,我全都要
      • 右邊的樹不能倒,或可以向右倒,本次的樹是否向右倒不影響這倆樹的貢獻,倒就完了
struct tr
{int x,h;
};
void solve(){int n;cin>>n;vector<tr>t(n+1);forr(i,1,n){cin>>t[i].x>>t[i].h;}if(n==1)return cout<<1<<endl,void();//t[1]和t[n]向兩邊倒 一定有貢獻int ans=0;forr(i,2,n-1){if(t[i].x-t[i].h>t[i-1].x){ans++;//向左倒// cout<<i<<'l'<<endl;}else if(t[i].x+t[i].h<t[i+1].x){//向右倒t[i].x+=t[i].h;ans++;// cout<<i<<'r'<<endl;}}cout<<ans+2<<endl;
}

550C 思維 枚舉 1500

在這里插入圖片描述

100位數,只能用string存
先考慮啥樣的數能被8整除
8 16 24 32 40 48… 1000…
發現千位的數一定能被8整除,只考慮低三位數能不能被整除,取s中的數枚舉組合,計算量1e6,能過。

void solve(){string s;cin>>s;int l=s.size();string ans;forr(i,0,l-1){int a=(s[i]-'0');forr(j,i+1,l-1){int b=(s[j]-'0');forr(k,j+1,l-1){int c=(s[k]-'0');int tp=a*100+b*10+c;if(tp%8==0)return cout<<"YES"<<endl<<tp<<endl,void();}int tpp=(a*10+b);if(tpp%8==0)return cout<<"YES"<<endl<<tpp<<endl,void();}if(a%8==0)return cout<<"YES"<<endl<<a<<endl,void();}cout<<"NO"<<endl;
}

580B 雙指針 1500

簡單尺取法水題
在這里插入圖片描述

struct fri
{int m,s;
};void solve(){int n,d;cin>>n>>d;vector<fri>f(n+1);forr(i,1,n){cin>>f[i].m>>f[i].s;}sort(f.begin()+1,f.end(),[](fri x,fri y){return x.m<y.m;});int sum=0;int l=1,r=1,ans=0;while (r<=n){if(f[r].m-f[l].m<d){sum+=f[r].s;ans=max(sum,ans);// cout<<ans<<endl;r++;}else sum-=f[l].s,l++;}cout<<ans<<endl;
}

1398C 前綴和 找規律 1600

在這里插入圖片描述
分析:

  • 連續元素的和 考慮前綴和
  • ∑i=lrai=sumr?suml?1=r?(l?1)sumr?r=suml?1?(l?1)\sum^r_{i=l}a_i=sum_r-sum_{l-1}=r-(l-1) \\ sum_r-r=sum_{l-1}-(l-1)i=lr?ai?=sumr??suml?1?=r?(l?1)sumr??r=suml?1??(l?1)
    所以求出所有tpi=sumi?itp_i=sum_i-itpi?=sumi??i,相等的兩個tpitp_itpi?可以組成一個好數組
void solve(){int n;cin>>n;string s;cin>>s;vector<int>a(n+1),sm(n+1,0),tp(n+1);forr(i,1,n){a[i]=s[i-1]-'0';}forr(i,1,n){sm[i]=a[i]+sm[i-1];tp[i]=sm[i]-i;}map<int,int>m;m[0]=1;int ans=0;forr(i,1,n)ans+=(m[tp[i]]++);//注意兩兩組合是怎樣計數的cout<<ans<<endl;
}

550A 思維 暴力 1500

在這里插入圖片描述

情況要想得全一點
ABA no
AXBXA no
ABBA yes
ABABA yes
BABAB yes
BABA no
分析:

  • 先找到AB,枚舉每一個AB在的地方,把AB替換成X,再找有沒有BA(但是這樣會超時
  • BABAB發現找兩個AB的位置就可以
void solve()
{string s;cin>>s;int len=s.size();int ab=s.find("AB");if(ab!=-1)//暴力枚舉ab{string tp=s;tp.replace(ab,2,"X");int ba=tp.find("BA");if(ba!=-1)return cout<<"YES"<<endl,void();}ab=s.rfind("AB");if(ab!=-1)//暴力枚舉ab{string tp=s;tp.replace(ab,2,"X");int ba=tp.find("BA");if(ba!=-1)return cout<<"YES"<<endl,void();}cout<<"NO"<<endl;
}

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

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

相關文章

HW藍隊:天眼告警監測分析之Web攻擊

Web攻擊 信息泄露 敏感數據包括但不限于:口令、密鑰、證書、會話標識、License、隱私數據(如短消息的內容)、授權憑據、個人數據(如姓名、住址、電話等)等&#xff0c;在程序文件、配置文件、日志文件、備份文件及數據庫中都有可能包含敏感數據 信息收集方法 漏洞分類 備份文…

大騰智能國產3D CAD軟件正式上架華為云云商店

深圳市大騰信息技術有限公司&#xff08;以下簡稱“大騰智能”&#xff09;與華為云達成深度合作&#xff0c;大騰智能CAD軟件及配套服務通過了華為云在功能適配、安全可用、穩定高效等方面的嚴選商品認證&#xff0c;已正式上架華為云云商店&#xff0c;成為華為云云商店的聯營…

論文復現-windows電腦在pycharm中運行.sh文件

1.更改終端路徑&#xff08;前提&#xff1a;已下載git bash&#xff09;2.授權打開pycharm終端&#xff0c;輸入 chmod x 文件名3.根據當前位置&#xff0c;運行.sh文件

開關電源安全保護電路:浪涌保護、過流保護、過壓保護

開關電源安全保護電路:浪涌保護、過流保護、過壓保護 引言 對于開關電源而言, 安全、可靠性歷來被視為重要的性能之一. 開關電源在電氣技術指標滿足電子設備正常使用要求的條件下, 還要滿足外界或自身電路或負載電路出現故障的情況下也能安全可靠地工作. 為此, 須有多種保護措…

C語言(十)

一、函數概述函數是面向過程編程思想的具體體現&#xff0c;主要作用&#xff1a;降低程序之間的耦合性提高代碼的復用性和可維護性一個完整的 C 程序由**一個或多個程序模塊&#xff08;源文件&#xff09;**組成。為便于開發與調試&#xff0c;通常會將代碼拆分為多個源文件&…

QT項目-仿QQ音樂的音樂播放器(第二節)

目錄 自定義控件&#xff1a; BtForm類中實現 BtForm上的動畫效果 自定義控件&#xff1a; 該控件實際由&#xff1a;圖?、?字、動畫三部分組成。圖?和?字分別?QLabel展?&#xff0c;動畫部分內部實際為4 個QLabel。 ① 將BtForm的geometry的寬度和?度修改為200*35。…

【世紀龍科技】數字課程資源-新能源汽車概論

一、課程介紹本課程為通過項目任務式教學&#xff0c;全面系統的講解了新能源汽車的基礎知識及相關技能&#xff0c;培養和提高學生的動手能力和理論知識的工程應用能力。以典型工作任務帶動知識與技能的學習&#xff0c;采用項目教學培養學生的崗位技能、學習能力和職業素養。…

iOS Core Data 本地數據庫 使用詳解:從模型關系到數據操作

一、引言&#xff1a;Core Data&#xff0c;在本地數據持久化中的地位在 iOS 開發中&#xff0c;本地數據存儲幾乎是每一個 App 都繞不開的問題。無論是緩存用戶信息、離線瀏覽內容&#xff0c;還是記錄用戶操作歷史&#xff0c;一個合適的數據持久化方案都能大大提升應用的體驗…

Java-79 深入淺出 RPC Dubbo 動態路由架構詳解:從規則設計到上線系統集成

點一下關注吧&#xff01;&#xff01;&#xff01;非常感謝&#xff01;&#xff01;持續更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持續更新中&#xff01;&#xff08;長期更新&#xff09; AI煉丹日志-30-新發布【1T 萬億】參數量大模型&#xff01;Kim…

Linux內核中動態內存分配函數解析

在C語言中&#xff0c;動態內存分配通常用于在運行時申請內存。在內核編程中&#xff0c;動態內存分配與用戶空間有所不同&#xff0c;因為內核需要更謹慎地處理內存&#xff0c;且不能使用用戶空間的庫&#xff08;如glibc&#xff09;。下面我們將詳細分析Linux內核中動態申請…

Next.js 中配置不同頁面布局方案

在 Next.js 應用中&#xff0c;你可以通過多種方式實現某些頁面全屏、某些頁面帶菜單/頁眉/頁腳的需求。以下是幾種實現方案&#xff1a; 方案一&#xff1a;使用多個布局組件 1. 創建不同的布局組件 // app/default-layout.tsx import Header from /components/header; import…

Spring Boot 使用外置 Servlet 容器:從配置到部署全指南

在 Spring Boot 開發中&#xff0c;我們通常使用嵌入式 Servlet 容器&#xff08;如 Tomcat&#xff09;&#xff0c;它能將應用打包成可執行 JAR&#xff0c;簡化部署流程。但在某些場景下&#xff08;如需要支持 JSP、復雜的容器定制或企業級部署規范&#xff09;&#xff0c…

借助AI學習開源代碼git0.7之九diff-files

借助AI學習開源代碼git0.7之九diff-files diff-files.c 是一個用于比較工作目錄中的文件和 Git 索引&#xff08;暫存區&#xff09;中文件的工具。 實質上&#xff0c;它是 git diff命令在不指定特定提交時功能的核心實現。 主要功能分析&#xff1a; 1. 核心功能 diff-files …

社區資源媒體管理系統設計與實現

社區資源媒體管理系統設計與實現 1. 系統概述 社區資源媒體管理系統是一個專為社區戶外廣告打造的高效、專業化平臺&#xff0c;旨在實現社區媒體的數字化管理、智能投放和便捷交易。該系統將整合社區各類廣告資源&#xff0c;為廣告主、物業公司和社區居民提供一站式服務。 1.…

12.1.6 weak_ptr

weak_ptr weak_ptr會指向一個share_ptr&#xff08;使用一個share_ptr來初始化weak_ptr&#xff09;&#xff0c;但并不會增加這個share_ptr的引用計數器&#xff0c;其析構也不會減少share_ptr的引用計數器。 構造函數及使用 #include <iostream> #include <memory&g…

深度分析Java內存模型

Java 內存模型&#xff08;Java Memory Model, JMM&#xff09;是 Java 并發編程的核心基石&#xff0c;它定義了多線程環境下線程如何與主內存&#xff08;Main Memory&#xff09;以及線程的本地內存&#xff08;工作內存&#xff0c;Working Memory&#xff09;交互的規則。…

代碼隨想錄算法訓練營第五十二天|圖論part3

101. 孤島的總面積 題目鏈接&#xff1a;101. 孤島的總面積 文章講解&#xff1a;代碼隨想錄 思路&#xff1a; 與島嶼面積差不多&#xff0c;區別是再dfs的時候&#xff0c;如果碰到越界的&#xff0c;需要用一個符號標記這不是孤島再continue #include <iostream> #i…

前端實現 excel 數據導出,封裝方法支持一次導出多個Sheet

一、前言 后臺管理項目有時會有需要前端導出excel表格的功能&#xff0c;有時還需要導出多個sheet&#xff0c;并給每個sheet重新命名&#xff0c;下面我們就來實現一下。 二、實現效果圖 三、實現步驟 1、 安裝 命令行安裝 xlsx 和 file-saver npm install xlsx -S npm i…

【Lambda 表達式】返回值為什么是auto

一個例子&#xff1a; int x 10; auto add_x [x](int y) -> int {return x y; }; int result add_x(5); // 結果是 15lambda 是匿名類型&#xff0c;必須用 auto 來接收。&#xff08;必須寫auto&#xff0c;不可省略&#xff09;內層 -> auto 是函數的返回類型自動推…

【小董談前端】【樣式】 CSS與樣式庫:從實現工具到設計思維的跨越

CSS與樣式庫&#xff1a;從實現工具到設計思維的跨越 一、CSS的本質&#xff1a;樣式實現的「施工隊」 CSS作為網頁樣式的描述語言&#xff0c;其核心能力在于&#xff1a; 精確控制元素的尺寸、位置、顏色實現響應式布局和動畫效果與HTML/JavaScript協同完成交互體驗 但CS…