首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> C++ 入門

Codeforces #263 Div2 解題報告:五道題完整分析與代碼

     編輯:C++ 入門

Codeforces #263 Div2 解題報告:五道題完整分析與代碼

A. Appleman and Easy Task

判斷每個格子周圍 'o' 的個數是否為偶數。直接模擬四方向檢查,O(n²)。

B. Appleman and Card Game

統計字母頻次,貪心每次取剩餘最多的字母,計算平方和。需 long long 防溢出,排序或優先隊列取最大值。

C. Appleman and Toastman

每次將最小數字單獨拆分,累加總和。優先隊列(小根堆)模擬,每次彈出最小值累加剩餘和。

D. Appleman and Tree(樹形 DP)

樹上黑白染色,拆分為每棵子樹恰好一黑節點的方案數。dp[v][0/1] 表示以 v 為根無/有黑節點的方案數。DFS 合併子樹狀態,模 1e9+7。

E. Appleman and a Sheet of Paper(樹狀數組/線段樹)

紙條疊疊查詢區間厚度。用 BIT 維護每層厚度。關鍵技巧:左邊長時反向疊右邊,用 flag 標記讀取方向,座標映射公式 2*mid+1-i。

共同模板

所有代碼使用統一模板:#define Lowbit(x) ((x)&(-(x)))、ll long long、priority_queue、vector 等,風格一致便於快速編寫。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved