I have solved some basic problems involving persistent data structures like persistent segment tree, trie etc. I am still having doubts regarding the application of persistent data structures. I want to know how to come up with the fact that persistent data structure is required to solve a given problem. Please share your ideas and suggestions on this.