{ "info": { "author": "Cheran Senthil", "author_email": "cheran.v.senthil@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "

PyRival

\n
\n A Python Library for Competitive Programming \n
\n\n

Developers

\n
\n \n Mukundan314  \n pajenegod  \n drd93  \n algmyr  \n meooow  \n \n
\n\n---\n\n### Features\n- Templates\n- Programming Tools\n- Algorithm Snippets\n\n##\n\n### Templates\n- The [Master Template](template/template.py) works with all versions of Python and enables Python 3 code internally.\n- Version Specific Templates: [PyPy 2](template/template_pypy2.py), [Python 3](template/template_py3.py)\n\n##\n\n### Tools\n- Builtins\n - bootstrap for recursion\n - FastIO\n - heapq\n - sorted\n - py3k compatibility tools\n - random\n - str.split for whitespace\n- Perfomance tools\n - Bit Hacks\n - 32-bit Modular Arithmetic\n - Memoize Decorators\n - C++ syle cout\n- Testing tools\n - Interactive Runner\n - Stress Tester\n\n##\n\n### Snippets\n- Algebra\n - (Multivariable) Chinese Remainder Theorem\n - Discrete Logarithm\n - Least Common Multiple\n - Integer Factorization\n - Fast Fourier Transform\n - Fast Subset Transform\n - Number Theoretic Transform\n - Deterministic Miller-Rabin Primality Test\n - Tonelli\u2013Shanks Algorithm\n - Generalized Modular Inverse\n - Euler's Phi Function\n - Primitive Root\n - Sieve of Eratosthenes\n- Data Structures\n - Bit Array\n - Binary Indexed (Fenwick) Tree\n - Fractions\n - Continued Fractions\n - Disjoint-Set (Union Find) Data Structure\n - Generic Nodes\n - Linked List\n - Range Query Data Structure\n - (Lazy) Segment Tree\n - Persistent Segment Tree\n - Sorted List\n - Treap\n - Trie Tree\n - 2-satisfiability Template\n- Geometry\n - Convex Hull\n - Line Functions\n - Polygon Functions\n - Vector Functions\n- Graphs\n - Bellman-Ford Algorithm\n - Breadth First Search\n - Connected Components Search\n - Brent's Algorithm for Cycle Detection\n - Depth First Search\n - Dijkstra's Algorithm\n - Eulerian Path\n - Path Constructor\n - Floyd-Warshall Algorithm\n - Bipartite Graph Check\n - Kruskal's Algorithm with Disjoin Set Union\n - Prim's Algorithm\n - Tarjan's Algorithm\n - Topological Sorting\n- Combinatorics\n - General Purpose Numbers\n - Lucas's Theorem\n - Partition Function\n- Linear Algebra\n - Matrix Arithmetic, Exponentiation, Determinant, and Inverse\n - Gaussian Elimination\n - Multivariable Chinese Remainder Theorem\n- Numerical\n - Linear Recurrence Template\n - Hill Climbing Algorithm\n - Approximate Integration\n - Polynomial Interpolation\n - Integer Roots\n - Binary Search\n- Strings\n - Knuth\u2013Morris\u2013Pratt Algorithm\n - Longest Common/Palindromic Subsequences\n - Longest Common Substring\n - Manacher's Algorithm\n - Lydon Factorization\n- Misc\n - Alpha\u2013Beta Pruning\n - Longest Increasing Subsequence\n - K-th Order Statistic\n\n##\n\n### License\n[Apache-2.0](LICENSE) (c) 2019\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/cheran-senthil/PyRival", "keywords": "competitive-programming,data-structures,algorithms", "license": "", "maintainer": "", "maintainer_email": "", "name": "PyRival", "package_url": "https://pypi.org/project/PyRival/", "platform": "", "project_url": "https://pypi.org/project/PyRival/", "project_urls": { "Homepage": "https://github.com/cheran-senthil/PyRival" }, "release_url": "https://pypi.org/project/PyRival/0.1.0/", "requires_dist": null, "requires_python": "", "summary": "Competitive Programming Library", "version": "0.1.0" }, "last_serial": 5595320, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "deb268f89da4a755b795ca794fbfcaa0", "sha256": "c37137d3ed98a92c090f3671d658f4bfbd59c4e4c107621528029d565cedc12c" }, "downloads": -1, "filename": "PyRival-0.1.0-py3.7.egg", "has_sig": false, "md5_digest": "deb268f89da4a755b795ca794fbfcaa0", "packagetype": "bdist_egg", "python_version": "3.7", "requires_python": null, "size": 10168, "upload_time": "2019-07-28T09:49:39", "url": "https://files.pythonhosted.org/packages/11/c5/a402744fb71a2bc2f70af447d1bd9fdfa0f573362fad72b12bc35d5e5904/PyRival-0.1.0-py3.7.egg" }, { "comment_text": "", "digests": { "md5": "732542afbff98fce8018cdcd46e07517", "sha256": "d0434fea7f7638fc6ab499c499df5a224c6baca4c8ac11576d51b2b17908b9cc" }, "downloads": -1, "filename": "PyRival-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "732542afbff98fce8018cdcd46e07517", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9299, "upload_time": "2019-07-28T09:49:37", "url": "https://files.pythonhosted.org/packages/fc/36/d2772c4217dd411a9f79cee76365173e61d369772ca4f99eb1ee92a303a6/PyRival-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2ea98af976f64b86706ac0c1062bdc3d", "sha256": "0814af0c65232e487ec781cdeff517560d14b6adab288616db5e2184b51285f2" }, "downloads": -1, "filename": "PyRival-0.1.0.tar.gz", "has_sig": false, "md5_digest": "2ea98af976f64b86706ac0c1062bdc3d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39770, "upload_time": "2019-07-28T09:49:41", "url": "https://files.pythonhosted.org/packages/a0/09/f721204eb3606b5aaa7b4b6d746f04b920b7171b8ac82149b33848d66859/PyRival-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "deb268f89da4a755b795ca794fbfcaa0", "sha256": "c37137d3ed98a92c090f3671d658f4bfbd59c4e4c107621528029d565cedc12c" }, "downloads": -1, "filename": "PyRival-0.1.0-py3.7.egg", "has_sig": false, "md5_digest": "deb268f89da4a755b795ca794fbfcaa0", "packagetype": "bdist_egg", "python_version": "3.7", "requires_python": null, "size": 10168, "upload_time": "2019-07-28T09:49:39", "url": "https://files.pythonhosted.org/packages/11/c5/a402744fb71a2bc2f70af447d1bd9fdfa0f573362fad72b12bc35d5e5904/PyRival-0.1.0-py3.7.egg" }, { "comment_text": "", "digests": { "md5": "732542afbff98fce8018cdcd46e07517", "sha256": "d0434fea7f7638fc6ab499c499df5a224c6baca4c8ac11576d51b2b17908b9cc" }, "downloads": -1, "filename": "PyRival-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "732542afbff98fce8018cdcd46e07517", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9299, "upload_time": "2019-07-28T09:49:37", "url": "https://files.pythonhosted.org/packages/fc/36/d2772c4217dd411a9f79cee76365173e61d369772ca4f99eb1ee92a303a6/PyRival-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2ea98af976f64b86706ac0c1062bdc3d", "sha256": "0814af0c65232e487ec781cdeff517560d14b6adab288616db5e2184b51285f2" }, "downloads": -1, "filename": "PyRival-0.1.0.tar.gz", "has_sig": false, "md5_digest": "2ea98af976f64b86706ac0c1062bdc3d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39770, "upload_time": "2019-07-28T09:49:41", "url": "https://files.pythonhosted.org/packages/a0/09/f721204eb3606b5aaa7b4b6d746f04b920b7171b8ac82149b33848d66859/PyRival-0.1.0.tar.gz" } ] }