Skip to content

Instantly share code, notes, and snippets.

@agasiev
Created January 28, 2013 03:25
Show Gist options
  • Save agasiev/4652784 to your computer and use it in GitHub Desktop.
Save agasiev/4652784 to your computer and use it in GitHub Desktop.
Codeforces.ru list of tags
реализация = 377
дп = 210
математика = 196
жадные алгоритмы = 186
перебор = 171
структуры данных = 125
сортировки = 108
графы = 96
конструктив = 89
бинарный поиск = 86
поиск в глубину и подобное = 77
строки = 76
геометрия = 70
теория чисел = 50
комбинаторика = 45
деревья = 41
два указателя = 39
снм = 39
кратчайшие пути = 35
теория вероятностей = 32
битмаски = 29
игры = 24
хэши = 23
разбор выражений = 19
разделяй и властвуй = 17
матрицы = 16
строковые суфф. структуры = 9
потоки = 8
паросочетания = 8
тернарный поиск = 6
2-sat = 2
бпф = 1
meet-in-the-middle = 1
китайская теорема об остатках = 1
расписания = 1
#!/usr/bin/env python
# -*- coding: utf-8
# Codeforces.ru problem tag analysis.
import simplejson
import urllib2
import re
result = dict()
for i in range(13):
url = "http://codeforces.ru/problemset/page/%d" % (i + 1)
content = urllib2.urlopen(url).read()
matches = re.findall(r"<a href=.+?tag.+?title=\".+?\">(.+?)</a>", content, re.I | re.MULTILINE | re.UNICODE)
for m in matches:
if m not in result.keys():
result[m] = 1
else:
result[m] += 1
print("Page %d done." % (i + 1))
f = open("./codeforces_tags.txt", "w")
for k in sorted(result, key=result.get, reverse=True):
f.write("%s = %d\n" % (k, result[k]))
f.close()
print("Data saved.")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment