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

Codeforces Round #262 (Div. 2) A、B、C 題解匯總

     編輯:C++ 入門

A. Vasya and Socks

問題

Vasya 有 n 雙襪子,每天穿一雙並扔掉。每 m 天媽媽買一雙(傍晚買,次日才能穿)。問能連續穿幾天?

解法

模擬或數學公式:答案 = n + (n-1)/(m-1)。因為每 m 天增加 1 雙,相當於每 m-1 天消耗 1 雙額外襪子。樣例:2 2 → 3,9 3 → 13。

B. Little Dima and Equation

問題

求方程 x = b * s(x)^a + c 的所有整數解 0 < x < 10^9,其中 s(x) 為十進制數位和。a ≤ 5, b ≤ 10000, |c| ≤ 10000。

解法

s(x) 最大為 9*9=81(因 x < 10^9)。枚舉 s = 1..81,計算 x = b * s^a + c,檢查 x 是否滿足範圍且 s(x) == s。時間 O(81 * log x)。

C. Present

問題

n 朵花排成行,高度 a_i。m 天內每天可選連續 w 朵澆水(+1)。最大化最小花高。

解法

二分答案 H,判斷能否在 m 天內使所有花 ≥ H。用差分數組 + 滑動窗口貪心:從左到右,若當前花高 < H,則對其及後續 w-1 朵澆水直到達標。記錄總澆水次數是否 ≤ m。複雜度 O(n log maxH)。

總結

本場比賽考察基礎數學、枚舉技巧、二分+貪心/差分,適合練習基本功。

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