Over the past few years, the number of duplicate or nearly-duplicate problems in competitive programming has grown noticeably. You can find several discussions about this on Codeforces, for example:
- https://codeforces.me/blog/entry/113064
- https://codeforces.me/blog/entry/113251
- https://codeforces.me/blog/entry/118883
To address the issue, we collected a variety of data — problem–solution pairs, duplicate-problem pairs, and pairs of full vs. simplified problem statements. With these data we built a dedicated benchmark for problem retrieval and trained a special-purpose retrieval model that currently achieves the best performance among open-source models in this domain.
You can try the model-powered search service live at https://cpret.online/.
About two years ago, the project yuantiji.ac introduced a simplify-then-retrieve pipeline based on a closed-source LLM API. In contrast, our approach is pure retrieval: the model is lightweight, specifically tuned for the task, and averages only ≈ 0.2 s per query on GPU.
More importantly, the entire model is open-source. If you’d like to run the search service locally (CPU or GPU; ≥ 16 GB memory recommended), just follow the instructions in our repository:
https://github.com/coldchair/CPRet
(The repo also contains full training scripts, so you can fine-tune or improve the model yourself.) Local deployment is invaluable for contests that require strict data privacy, and we hope the community will use this tool to reduce the spread of duplicate problems.
We’re also building a public website to collect duplicate-problem reports. Once the site is online, please feel free to submit any duplicates you discover with our retriever.
Questions or issues? Open an issue on GitHub — we’d love to hear your feedback!









why is it http and why is it just an ip address and no domain name?
to hack your pc
1) wtf, your ip, really?
2) use rate limiter (by ip. or someone will ddos you)
To a (or several) certain Scientific Committee: Please look at this, and do not the Mosaic
This is a temporary demo service. We are currently in the process of applying for a domain name (since the server is located in mainland China, filing for an ICP license is required, which takes some time). If the service experiences traffic attacks at this stage, there’s not much we can do about it.
Auto comment: topic has been updated by cold_chair (previous revision, new revision, compare).
This is awesome, especially since it is open source as well. I always struggled to check for similar problems when problem-setting, and this will help greatly. I can also see it being used in practicing to find problems similar to one you just solved.
Great work!