Many times, when we look at the solution for an unsolved problem or love a specific problem, we might want to try out a problem similar to it. Currently we can only search problems only based on tags. But from now on we can just input a problem and get a list of problems similar to it. We can query here similar_problems
Problem Name is just the contestId + index. eg (1389A),
We can also specify the rating range which is the problem difficulty rating range within which we want out similar problems to be. If nothing is specified, by default it will consider problems rating between -500 to +500.
Currently, I am computing cosine similarity between two problem's tags. Yes, this is the most basic method which we can think of and obviously there are many false positives, but this is just the first version.
Any suggestions for reducing false positives is absolutely welcomed.
Please do checkout and let me know how you feel.
Auto comment: topic has been updated by newbie_forever_at_cp (previous revision, new revision, compare).
Very cool , I will add it to my list
How do you find the similarity score?
cosine similarity. Consider the problem's tags as one hot vectors and find the cos(theta) between them.
It seems really amazing and helpful.
Is the similarity just on the basis of tags?
Hi Twenty, Thanks for the suggestion. But could you tell me how to get all the users who solved a particular problem ?
Maybe you can use word embedding on problem statements to get similarity.
Thanks, Actually using embedding on problem statements may not be a good idea as almost all problem statements have a very long story associated with them which adds too much noise. We can try using embedding on editorial, but it will be a very big task.
It seems it doesn't work last months. Does anybody know similar resources to find similar problems?
Instead of relying only on tags, using editorial similarity can help identify similar problems that require the same algorithms/techniques to solve.