d_tail's blog

備忘や記録

【精進記録】AtCoder Beginner Contest 092 C - Traveling Plan

問題

beta.atcoder.jp

解法

しばらく考えて解けなかったので解説を見てAC.

本来の計画の総コストを計算し,取りやめた地点iについて,地点i-1からiへ向かうコストとiから地点i+1へ向かうコストを引いた後に,地点i-1からi+1へのコストを足せば良い.

入力例1のi=2の場合を図示して見た.

f:id:d_tail:20181101202444j:plain

f:id:d_tail:20181101202451j:plain

コード

N = int(input())
A = [int(i) for i in input().split()]

A.insert(0,0)
A.append(0)

S = 0

for i in range(1,N+2):
    S += abs(A[i]-A[i-1])

for i in range(1,N+1):
    print(S + abs(A[i-1]-A[i+1]) - abs(A[i-1]-A[i]) - abs(A[i]-A[i+1]))

コメント

難しく考えすぎていたのがよくなかった.
単純にできる方法から順に考えていくように気をつけたい.

とりあえず数式で考えたり図示するとわかりやすくなりそう.

【Git】個人的によく使う基本的なGitコマンド/参考サイトまとめ

  • はじめに
  • Gitコマンド
    • git add
    • git commit
    • git push
    • git branch / git checkout
  • 参考サイト

はじめに

以前からGit自体はソースコードの管理のために使用していましたが,ほとんどの場合GUIでGitを扱うことができるようになるSourcetreeを用いていました.

しかし,最近はGUIを使えない環境でGitを使用する機会が増えたため,Gitコマンドを扱う必要がある場面が多くなってきました.

Gitコマンドはまだうろ覚えなので使う際には調べる必要があるのですが,その際に毎回ググるのも大変なので,個人的によく使用する基本的なGitコマンドや参考にするサイトをまとめておきたいと思います.

続きを読む