全国高等学校バスケットボール選手権大会(ウインターカップ)の公式データを元に、2018年から2025年までの8年間を徹底分析。日本の高校バスケットボール界が「身長依存」から「スキル重視」へと大きく舵を切った歴史的転換期を検証します。
データソース: 全データはこちらのGistから参照可能です(2015-2025年の完全な記録)
| def isdif(c, x): | |
| return 0 if c == x else 1 | |
| T = int(input()) | |
| for _ in range(T): | |
| N = int(input()) | |
| S = list(map(int, input())) | |
| dp = [[float("inf")] * 3 for _ in range(N + 1)] | |
| dp[0][0] = dp[0][1] = dp[0][2] = 0 |
| import sys | |
| sys.setrecursionlimit(10**9) | |
| def dfs(i): | |
| global ans, domino | |
| if i == H * W: | |
| score = 0 | |
| for y in range(H): |
| H, W, N = map(int, input().split()) | |
| row = [set() for _ in range(H + 1)] | |
| col = [set() for _ in range(W + 1)] | |
| for _ in range(N): | |
| x, y = map(int, input().split()) | |
| row[x].add(y) # x行目のy列目にゴミがある | |
| col[y].add(x) # y列目のx行目にゴミがある。 | |
| Q = int(input()) | |
| for _ in range(Q): |
| from collections import deque | |
| H, W = map(int, input().split()) | |
| S = [list(input()) for _ in range(H)] | |
| ans = [row[:] for row in S] | |
| dist = [[float("inf")] * W for _ in range(H)] | |
| dq = deque() | |
| for y in range(H): | |
| for x in range(W): |
全国高等学校バスケットボール選手権大会(ウインターカップ)の公式データを元に、2018年から2025年までの8年間を徹底分析。日本の高校バスケットボール界が「身長依存」から「スキル重視」へと大きく舵を切った歴史的転換期を検証します。
データソース: 全データはこちらのGistから参照可能です(2015-2025年の完全な記録)
正月の風物詩・箱根駅伝。毎年、大会前には「ハーフマラソン平均タイム」による順位予測が行われます。しかし、この予測は本当に当たるのでしょうか?
本記事では、第97回〜第101回(2021-2025年)の5年間の完全データを分析し、予測精度の実態と、なぜ予測が外れるのかを徹底検証します。
データソース: 全データはこちらのGistから参照可能です
| N, M = map(int, input().split()) | |
| C = list(map(int, input().split())) | |
| zoo = [[] for _ in range(N)] # i番目の動物園で見ることができる動物 | |
| for i in range(M): | |
| _, *a = list(map(int, input().split())) | |
| a = list(map(lambda x: int(x) - 1, a)) | |
| for j in a: | |
| zoo[j].append(i) | |
| M = 10**6 + 1 | |
| N, D = map(int, input().split()) | |
| A = list(map(int, input().split())) | |
| cnt = [0] * M | |
| for x in A: | |
| cnt[x] += 1 | |
| if D == 0: | |
| print(sum(max(x - 1, 0) for x in cnt)) | |
| exit() |
| from collections import defaultdict | |
| N, M = map(int, input().split()) | |
| d = defaultdict(int) | |
| for _ in range(M): | |
| A, B = map(int, input().split()) | |
| d[(A + B) % N] += 1 | |
| ans = M * (M - 1) // 2 | |
| for _, v in d.items(): | |
| ans -= v * (v - 1) // 2 |
| def calc_dp(s): | |
| # dp[i][0] : s[0..i-1] の文字列で、末尾を '.' にした場合の o の最大数 | |
| # dp[i][1] : s[0..i-1] の文字列で、末尾を 'o' にした場合の o の最大数 | |
| dp = [[-float("inf")] * 2 for _ in range(N + 1)] | |
| dp[0][0] = 0 | |
| for i in range(N): | |
| if s[i] != "o": | |
| dp[i + 1][0] = max(dp[i][0], dp[i][1]) | |
| if s[i] != ".": | |
| dp[i + 1][1] = dp[i][0] + 1 |