Algorithm

Count Submatrices With Equal Frequency of X and Y

Solution
for r in range(rows):
    for c in range(cols):
        # 1. Look at the current cell
        is_x = 1 if grid[r][c] == 'X' else 0
        is_y = 1 if grid[r][c] == 'Y' else 0
        
        # 2. Apply our overlapping math trick
        x_cnt = is_x + dp[r][c+1][0] + dp[r+1][c][0] - dp[r][c][0]
        y_cnt = is_y + dp[r][c+1][1] + dp[r+1][c][1] - dp[r][c][1]
        
        # 3. Save it for later
        dp[r+1][c+1] = (x_cnt, y_cnt)