AtCoder Beginner Contest 389 解法解説

A - 9x9 問題概要 1桁の数字同士の乗算結果を求める。 解法 入力文字列から数値を抽出して掛け算する実装を行えばよい。 実装コード #include <bits/stdc++.h> using namespace std; #define int long long typedef pair<int, int> pii; const int mxn = 1e6 + 5; void solve() { string input; cin >> input; int a = input[0] - '0'; ...

5月28日 14:34 投稿

差分配列と累積和のアルゴリズム

差分配列と累積和 テンプレート(疑似コード) // 元データの読み込み: n, m, a n, m = 入力() for i = 0 to n-1: a[i] = 入力() // 元の配列 // 差分配列の構築 for i = 0 to n-1: diff[i] = a[i] - a[i-1] // 区間操作 while m > 0: m = m - 1 l, r, value = 入力() diff[l] = diff[l] + value diff[r+1] = diff[r+1] - value // 累積和で ...

5月18日 12:33 投稿

2次元差分配列を用いたカーペット問題の解法

問題の説明 n x n のグリッド上に m 枚のカーペットが置かれています。これらのカーペットの情報が与えられたとき、各マスが何枚のカーペットで覆われているかを求めてください。 入力形式 第一行に、2つの正の整数 n, m が与えられます。 続く m 行に、それぞれ 2 つの座標 (x1, y1) と (x2, y2) が与えられます。これは、左上のマスが (x1, y1)、右下のマスが ( ...

5月14日 09:46 投稿