【補題】Codeforces Round 1000 (Div. 2) C. Remove Exactly Two

題意:給一個樹,可以從里面刪去兩個點,使連通塊數量最大

思路:題解:CF2063C Remove Exactly Two - 洛谷專欄

這道題很容易想到,直接刪去度最多的兩個點就行了,但是這并不對,因為相鄰點被刪去之后,會導致自己的度數-1,所以刪去的第一個點和第二點都要好好考慮,本人就是沒考慮第一個點對第二個點的影響,第一個點選擇錯了,可能第二點永遠選不出最佳,反例就是三個度相同的點在一起,你不能選中間那個

因此轉換思路,第一個點不貪心選,而是暴力枚舉,第二個點貪心選擇即可,不能兩個點都貪心選,是不正確的,連通塊可以直接計算得到,也好想

代碼:

#include <bits/stdc++.h>
using namespace std;
#define int long long
#define IOS                       \std::ios::sync_with_stdio(0); \std::cin.tie(0);              \std::cout.tie(0)const int N = 3e5 + 5;
const int INF = 1e18;
const int MOD = 998244353;
// const int MOD=1e9+7;
// const int MOD=100003;
const int maxn=5e5+10;std::vector<int> ve[N];
int a[N];void solve(){int n;std::cin >> n;for(int i=1;i<=n;i++){a[i]=0;ve[i].clear();}for(int i=0;i<n-1;i++){int x,y;std::cin >> x >> y;ve[x].push_back(y);ve[y].push_back(x);a[x]++,a[y]++;}multiset<int> se;for(int i=1;i<=n;i++){se.insert(a[i]);}int ans=0;for(int i=1;i<=n;i++){int sum=1;se.erase(se.find(a[i]));for(auto v : ve[i]){se.erase(se.find(a[v]));se.insert(a[v]-1);}sum+=a[i]-1;sum+=*se.rbegin()-1;for(auto v : ve[i]){se.erase(se.find(a[v]-1));se.insert(a[v]);}se.insert(a[i]);ans=std::max(sum,ans);}std::cout << ans << '\n';}signed main()
{IOS;int t = 1;std::cin >> t;while (t--){solve();}
}

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

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

相關文章

基于php的校園招聘平臺

學生&#xff1a;注冊&#xff0c;登錄&#xff0c;個人中心&#xff0c;學生應聘管理&#xff0c;面試邀請管理企業&#xff1a;登錄&#xff0c;個人中心&#xff0c;招聘信息管理&#xff0c;學生應聘管理&#xff0c;面試邀請管理管理員&#xff1a;登錄&#xff0c;個人中…

在 Ubuntu 22.04 上運行 cAdvisor 時遇到 mountpoint for cpu not found 錯誤

通常是由于 cgroup v2 導致的兼容性問題。Ubuntu 22.04 默認使用 cgroup v2&#xff0c;而舊版本的 cAdvisor 可能不完全支持它。以下是解決方案&#xff1a;方法 1&#xff1a;啟用 cgroup v1&#xff08;推薦&#xff09;臨時切換回 cgroup v1&#xff08;cAdvisor 兼容性更好…

如何讓RAGFLow每次知識檢索都是返回知識庫中的所有文檔?

在使用raglfow過程中,有時候輸入的文本檢索為空,要么就是只返回幾條.如果想要看到所有知識庫里文本返回,就得需要去到源碼里修改這個參數minimum_should_match(路徑:rag/utils/es_conn.py),將其設置為0%,即可返回所有文本!!

「iOS」——KVO

源碼學習iOS底層學習&#xff1a;KVO 底層原理KVO注冊 KVO 監聽 實現 KVO 監聽 移除 KVO 監聽 處理變更通知 手動KVO(禁用KVO)關閉自動通知手動實現 setter 方法KVO 和線程如果 KVO 是多線程的**單線程的保證**如果沒有 prior 選項**prior 選項的作用**KVO 實現原理派生類重寫的…

Unreal5從入門到精通之使用 Python 編寫虛幻編輯器腳本

文章目錄 前言 如何運行Python 1.控制臺 2.藍圖調用python python 入門 變量 數據類型 運算符 條件判斷 循環 函數 模塊引用 類型轉換 類 類方法 繼承 構造函數 unreal API 創建材質 創建材質實例 獲取Content下選中資源 獲取關卡中選中Actors 放置Cube 編輯器進度條 展示對話框…

Django3 - Web前端開發基礎 HTML、CSS和JavaScript

網站開發可以分為前端開發和后端開發&#xff0c;前端開發是指網頁設計&#xff0c;我們在瀏覽器看到網站的圖片、文字、音樂視頻等內容排版都是由前端開發人員實現的&#xff1b;后端開發是為前端開發提供實際的數據內容和業務邏輯&#xff0c;比如提供文字內容、圖片和音樂視…

Nginx和Apache的區別

一。Nginx和Apache的優缺點和對比Nginx 優點Apache 優點性能與并發采用事件驅動模型&#xff0c;支持 10 萬 高并發連接&#xff0c;資源&#xff08;CPU / 內存&#xff09;占用極低生態成熟&#xff0c;內置模塊可直接處理動態內容&#xff0c;無需依賴第三方程序配置與部署…

前端實現可編輯腦圖的方案

前端實現可編輯腦圖的方案 實現可編輯腦圖(Mind Map)在前端有多種方案&#xff0c;以下是一些主流的技術方案&#xff1a; 1. 基于現有開源庫的方案 JavaScript 庫 MindElixir: 輕量級開源腦圖庫&#xff0c;支持節點增刪改、拖拽、導入導出等 GitHub: https://github.com/sssh…

7-大語言模型—指令理解:指令微調訓練+模型微調

目錄 1、指令微調的訓練過程 2、指令微調數據 2.1、“指令輸入” 2.2、“答案輸出” 3、指令微調數據的構建方法 3.1、手動構建&#xff1a;純人工 “出題 寫答案” 3.1.1、構建流程 3.1.1.1、定義任務類型 3.1.1.2、設計指令模板 3.1.1.3、人工標注響應 3.1.2、工…

服務器版本信息泄露-iis返回包暴露服務器版本信息

漏洞信息描述&#xff1a;服務器版本信息泄露 測試過程&#xff1a;訪問http://192.168.23.63&#xff0c;看返回包可以得知服務器版本信息 顯示暴露返回server版本信息 修復建議&#xff1a;限制返回包帶有服務器版本信息 如何隱藏IIS Web服務響應頭中的IIS Server版本信息…

rust嵌入式開發零基礎入門教程(二)

本教程的第二部分&#xff0c;我們將深入理解 Rust 語言的核心概念——所有權&#xff08;Ownership&#xff09;、借用&#xff08;Borrowing&#xff09;和生命周期&#xff08;Lifetimes&#xff09;。這些是 Rust 內存安全的基礎&#xff0c;也是初學者理解 Rust 最關鍵的部…

【黑產大數據】2025年上半年互聯網黑灰產趨勢年度總結

2025年上半年&#xff0c;互聯網黑灰產攻擊持續演化&#xff0c;呈現出更隱蔽、更智能、更產業化的趨勢。黑灰產從業人員數量繼續增長&#xff0c;攻擊資源、技術與作案場景全面升級。整體來看&#xff0c;2025年上半年黑灰產行業發生的幾大事件&#xff0c;也時刻印證了黑灰產…

低代碼/無代碼平臺如何重塑開發生態

低代碼/無代碼平臺通過降低技術門檻、提升開發效率、推動業務和IT深度融合重塑開發生態。 具體而言&#xff0c;低代碼/無代碼平臺極大降低了應用開發的技術門檻&#xff0c;使得非專業人員也能輕松構建業務應用。此外&#xff0c;它們通過可視化的開發模式&#xff0c;大幅提升…

ICA學習(2)

1.公式推導1.1兩個問題ICA算法會帶來2個不確定性&#xff1a;幅值不確定性和順序不確定性。1.2 推導觀測數據 x 是盲源 s 的線性混合&#xff1a;x As (1)此時&#xff0c;W矩陣是未知的&#xff0c;ICA算法的目的便是找到一個最優的矩陣W&#xff0c;實現對矩陣…

【愚公系列】《MIoT.VC》002-構建基本仿真工作站(布局一個基本工作站)

??【行業認證權威頭銜】 ? 華為云天團核心成員:特約編輯/云享專家/開發者專家/產品云測專家 ? 開發者社區全滿貫:CSDN博客&商業化雙料專家/阿里云簽約作者/騰訊云內容共創官/掘金&亞馬遜&51CTO頂級博主 ? 技術生態共建先鋒:橫跨鴻蒙、云計算、AI等前沿領域…

網絡協議相關

OSI七層模型包含物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層和應用層;TCP/IP四層模型將其簡化為網絡接口層、網絡層、傳輸層和應用層;映射關系:例如OSI的物理層和數據鏈路層對應TCP/IP的網絡接口層&#xff0c;主要處理MAC地址尋址和物理介質傳輸。協議模型對比兩者的…

【CNN】LeNet網絡架構

1.MLP多層感知機MLP&#xff08;Multilayer Perceptron&#xff09;&#xff0c;也是人工神經網絡&#xff08;ANN&#xff0c;Artificial Neural Network&#xff09;&#xff0c;是一種全連接多層感知機&#xff08;Multilayer Perceptron, MLP&#xff09;是一種前饋神經網絡…

VSCODE 禁用git 功能

第一步&#xff0c;打開設置第二步&#xff0c;搜 git:Enabled

Spring Boot05-熱部署

一、Spring Boot 啟動熱部署Spring Boot 啟動“熱部署&#xff08;Hot Deployment&#xff09;”&#xff0c;可以讓你在不重啟項目的情況下快速看到代碼變更的效果&#xff08;特別是前后端調試階段&#xff09;。1-1、什么是熱部署&#xff1f;熱部署是指&#xff1a;修改 Ja…

網站域名備案和服務器有關系嗎

域名備案的那些事兒域名備案&#xff0c;簡單來說&#xff0c;就是把你的網站信息登記到相關管理部門那里。這就好比你開個小店&#xff0c;得去工商局登記一下&#xff0c;讓人家知道你在干啥。根據我國相關規定&#xff0c;凡是使用大陸境內服務器提供服務的網站&#xff0c;…