Union-Find (グループ分け)

Q5-1. Union-Find

再帰

Q4-1. 1 + 2 + … + N (再帰) Q4-2. A + (A+1) + … + B (再帰) Q4-3. フィボナッチ数列 (再帰-1) Q4-4. フィボナッチ数列 (再帰-2) Q4-5. 部分和問題 (再帰-1) Q4-6. 部分和問題 (再帰-2)

二次元配列など

二次元配列など Q2. SNS クエリ Q3. 二次元地図 Q4. 二次元地図クエリ Q5. ライツアウト (1) Q6. ライツアウト (2)

シグマ計算とパイ計算

for文とシグマ計算 (1) for 文とシグマ計算 (2) for 文とシグマ計算 (3) for 文とシグマ計算 (4) for 文と Π 計算

可変長配列

Q1. N 個の値を受け取る Q2. 末尾挿入クエリ Q3. スタック Q4. 挿入、削除、検索 Q5. ままこだて Q6. 反転 Q7. 先頭への挿入 Q8. 両端への挿入

配列とクエリ

Q1. 8 番目の値は? Q2. k 番目の値は? Q3. 配列クエリ

二分探索

Q2-1. 方程式を解く Q2-2. 貯金 (1) Q2-3. 最小の添字 Q2-4. 小さい数の個数 Q2-5. 和が K 以上のペア Q2-6. 重さは何番目? Q2-7. 貯金 (2)

貪欲法

Q1-1. 1 円玉と 5 円玉 Q1-2. お菓子 (1) Q1-3. コイン問題 Q1-4. 荷物と箱 Q1-5. お菓子 (2)

管理データを工夫するクエリ処理

I - 行列操作 O(N) import sys import math import heapq import itertools from collections import deque from functools import reduce # main def main(): N = int(input()) Q = int(input()) row_num = list(range(0, N)) col_num = list(range(0, N)) …

グラフに対するクエリ処理

K - 巨大企業 O(N) import sys import math import heapq import itertools from collections import deque from functools import reduce sys.setrecursionlimit(1000000) # main def main(): N = int(input()) R = -1 edges = [] for i in range(N): edges…

データ構造を用いたクエリ処理

G - ストリング・クエリ O(N) import sys import math import heapq import itertools from collections import deque from functools import reduce from string import ascii_lowercase # main def main(): Q = int(input()) que = deque() for q in range…

多次元の動的計画法

H - Grid 1 O(N) import sys import math import heapq import itertools from collections import deque from functools import reduce # main def main(): H, W = list(map(int, input().split())) G = [] for _ in range(H): S = str(input()) G.append(S…

数え上げ問題

C - Typical Stairs O(N) import sys import math import heapq import itertools from collections import deque from functools import reduce # main def main(): MOD = 10**9+7 N, M = list(map(int, input().split())) ok = [False] * (N+1) dp = [0] *…

プリム法

F - 最小全域木問題 O(N) import sys import math import heapq import itertools from collections import deque from functools import reduce # main def main(): N, M = list(map(int, input().split())) G = [] for _ in range(N): G.append([]) for _ …

ワーシャル・フロイド法

E - 全点対最短経路問題 O(N3) import sys import math import heapq import itertools from collections import deque from functools import reduce # main def main(): INF = 10**18 N, M = list(map(int, input().split())) dist = [] for i in range(N)…

ダイクストラ

C - Cat Snuke and a Voyage O(N) heapqを使用し、ダイクストラに対応。 from asyncio import QueueFull import sys import math import heapq import itertools from collections import deque from functools import reduce # main def main(): N, M = lis…

幅優先探索

C - Cat Snuke and a Voyage O(N) from asyncio import QueueFull import sys import math import heapq import itertools from collections import deque from functools import reduce # main def main(): N, M = list(map(int, input().split())) G = [] …

二分探索の練習問題

A - 二分探索の練習問題 O(logN) import sys import math import heapq import itertools from collections import deque from functools import reduce # main def main(): N, K = list(map(int, input().split())) A = list(map(int, input().split())) l …

任意の基準でソートして貪欲

C - Different Strokes O(N) import sys import math import heapq import itertools from collections import deque from functools import reduce # main def main(): N = int(input()) BA = [] for i in range(N): a, b = list(map(int, input().split())…

B - 区間スケジューリング問題

B - 区間スケジューリング問題 O(N) import sys import math import heapq import itertools from collections import deque from functools import reduce # main def main(): N = int(input()) BA = [] for i in range(N): a, b = list(map(int, input().s…

貪欲法

F - タスクの消化 O(N) import math import heapq import itertools from functools import reduce # main def main(): N = int(input()) X = [] for i in range(0, N): X.append([]) for i in range(0, N): a, b = list(map(int, input().split())) X[a-1].…

帝京大学 1年目

##感想1年間ほど在籍しました。勉強する時間がとにかく足りないということが分かりました。勉強方法、時間の作り方が分かってきたので来年からは楽になると考えてます。 勉強に関しては自己満足の世界です。 学士がどうしても欲しいという方以外はおすすめ…

C - 等比数列

C - 等比数列 O(N) import sys import math import heapq import itertools from collections import deque from functools import reduce # main def main(): A, R, N = list(map(int, input().split())) if R == 1: print(A) return for i in range(0, N-1…

半分全列挙

C - 無駄なものが嫌いな人 import sys import math import heapq import itertools from collections import deque from collections import defaultdict from functools import reduce def has_bit(n, i): return (n & (1<<i) > 0) # main def main(): N, X = li</i)>…

C - 巡回セールスマン問題

C - 巡回セールスマン問題 import sys import math import heapq import itertools from collections import deque from functools import reduce def has_bit(n, i): return (n & (1<<i) > 0) # main def main(): N = int(input()) A = [] for i in range(0, N):</i)>…

転職活動にAtCoderがどのように役立ったか

AtCoderが転職活動に役立つか!という話の結論です。 AtCoderは転職活動に役立ちます。 ○評価の優先度 転職活動にて評価の優先度は、学歴=業務経験年数>資格>AtCoderです。 大学生の皆さんは大学での勉強を頑張りましょう! 高校生の方は受験勉強を頑張り…

通信制、夜間の大学の選び方

エンジニアが働きながら学位の取得を目指す際、どのように大学を選ぶか。 内容や難易度の感想がなくてどの大学を選ぶか悩みを抱えている方が多いと思います。 1ヶ月ほど課題をやって答えが出たので記載します。 ○通信、夜間の理工学部 高校以上で理系の履修…

通信制の大学に入学して1ヶ月が経ちました

通信制の大学に入学して1ヶ月が経ちました。 何か変わった事もなく毎日を過ごしています。 毎日の精進内容がAtCoderから大学の課題へ代わったのが大きい。 ○専門学校と大学の違い まず勉強する内容の難易度が違います。 大学のが100倍は難しいです。 ○購…

社会人と通信大学の両立について

エンジニアとして実務経験3年以上の社会人が通信制大学に入学しました。 通信制大学の資料、記事が少なくてどうしようか悩みました。 考えた結果、挑戦するなら若いうちにと思い入学しました。 大卒の学士を取るメリットとして、 ・海外の就業ビザをとるこ…

応用情報技術者過去問題 平成30年春期 午後問11 システム監査

www.ap-siken.com 【まとめ】 難しすぎんか