How to approach using dynamic programming

Could anyone help me with the approach to this ?
Consider a cycle graph on vertices {1,……n} and edges {1,2},{2,3},………{n-1,n},{n,1}Each vertex has a positive cost ci, 1≤i≤ n. Give an O(n) comparison algorithm that outputs the cost of a minimum cost vertex cover of the cycle graph. You may give a simple description of the algorithm, and/or pseudocode. You should include a short argument of correctness and running time.