# Key represents level # Value represents percent # E.g. (10, 1) means that people whose rank is less than 1% will get Level 10 LEVELS = collections.OrderedDict([(10, 1), (9, 2), (8, 10), (7, 20), (6, 30), (5, 40), (4, 70), (3, 90), (2, 95), (1, 100)]) # Footer extra HTMLs. TODO(iceboy): remove. FOOTER_EXTRA_HTMLS = ['© 2005 - 2019 <a href="https://vijos.org/">Vijos.org</a>', version.get(), '<a href="http://www.miitbeian.gov.cn/" target="_blank" rel="nofollow">' + '沪ICP备14040537号</a>'] PROBLEM_CATEGORIES = collections.OrderedDict([ ('动态规划', [ 'LCS', 'LIS', '背包', '单调性DP', '环形DP', '树形DP', '状态压缩DP' ]), ('搜索', [ '枚举',
'num_submit': 0, 'num_accept': 0 } USERS = [USER_SYSTEM, USER_GUEST] # Key represents level # Value represents percent # E.g. (10, 1) means that people whose rank is less than 1% will get Level 10 LEVELS = collections.OrderedDict([(10, 1), (9, 2), (8, 10), (7, 20), (6, 30), (5, 40), (4, 70), (3, 90), (2, 95), (1, 100)]) # Footer extra HTMLs. TODO(iceboy): remove. FOOTER_EXTRA_HTMLS = [ '© 2005 - 2017 <a href="https://vijos.org/">Vijos.org</a>', version.get(), '<a href="http://www.miitbeian.gov.cn/" target="_blank" rel="nofollow">' + '沪ICP备14040537号</a>' ] PROBLEM_CATEGORIES = collections.OrderedDict([ ('动态规划', ['LCS', 'LIS', '背包', '单调性DP', '环形DP', '树形DP', '状态压缩DP']), ('搜索', ['枚举', '搜索与剪枝', '启发式搜索', 'DLX', '双向搜索', '折半搜索', '记忆化搜索', '模拟退火']), ('计算几何', [ '半平面交', '凸包', '几何图形的交与并', '旋转卡壳', '点定位', '坐标变换', '离散化与扫描', '反演', 'Voronoi图', '平面图的对偶图', '三角剖分', '梯形剖分', '几何知识' ]), ('贪心', []), ('树结构', ['最近公共祖先', '生成树', 'DFS序列', '树上倍增', '树的分治', '树链剖分', 'Link-Cut-Tree']), ('图结构', [ '平面图', '二分图', '二分图匹配', '最短路', '差分约束', '拓扑排序', '网络流', '强连通分量', '割点割边',
LEVELS = collections.OrderedDict([(10, 1), (9, 2), (8, 10), (7, 20), (6, 30), (5, 40), (4, 70), (3, 90), (2, 95), (1, 100)]) # Footer extra HTMLs. TODO(iceboy): remove. # FOOTER_EXTRA_HTMLS = ['© 2005 - 2017 <a href="https://vijos.org/">Vijos.org</a>', version.get(), # '<a href="http://www.miitbeian.gov.cn/" target="_blank" rel="nofollow">' + # '沪ICP备14040537号</a>'] FOOTER_EXTRA_HTMLS = ['© 2018 <a href="https://github.com/umji-autograder/cb4">Joint Online Judge</a>', version.get()] PROBLEM_CATEGORIES = collections.OrderedDict([ ('动态规划', [ 'LCS', 'LIS', '背包', '单调性DP', '环形DP', '树形DP', '状态压缩DP' ]), ('搜索', [ '枚举', '搜索与剪枝', '启发式搜索',
'num_submit': 0, 'num_accept': 0 } USERS = [USER_SYSTEM, USER_GUEST] # Key represents level # Value represents percent # E.g. (10, 1) means that people whose rank is less than 1% will get Level 10 LEVELS = collections.OrderedDict([(10, 1), (9, 2), (8, 10), (7, 20), (6, 30), (5, 40), (4, 70), (3, 90), (2, 95), (1, 100)]) # Footer extra HTMLs. TODO(iceboy): remove. FOOTER_EXTRA_HTMLS = [ '© 2005 - 2017 <a href="https://vijos.org/">Vijos.org</a>', version.get(), 'HuiZhou No.1 Middle School' ] PROBLEM_CATEGORIES = collections.OrderedDict([ ('动态规划', ['LCS', 'LIS', '背包', '单调性DP', '环形DP', '树形DP', '状态压缩DP']), ('搜索', ['枚举', '搜索与剪枝', '启发式搜索', 'DLX', '双向搜索', '折半搜索', '记忆化搜索', '模拟退火']), ('计算几何', [ '半平面交', '凸包', '几何图形的交与并', '旋转卡壳', '点定位', '坐标变换', '离散化与扫描', '反演', 'Voronoi图', '平面图的对偶图', '三角剖分', '梯形剖分', '几何知识' ]), ('贪心', []), ('树结构', ['最近公共祖先', '生成树', 'DFS序列', '树上倍增', '树的分治', '树链剖分', 'Link-Cut-Tree']), ('图结构', [ '平面图', '二分图', '二分图匹配', '最短路', '差分约束', '拓扑排序', '网络流', '强连通分量', '割点割边', '欧拉回路', '2-SAT' ]),
# Key represents level # Value represents percent # E.g. (10, 1) means that people whose rank is less than 1% will get Level 10 LEVELS = collections.OrderedDict([(10, 1), (9, 2), (8, 10), (7, 20), (6, 30), (5, 40), (4, 70), (3, 90), (2, 95), (1, 100)]) # Footer extra HTMLs. TODO(iceboy): remove. FOOTER_EXTRA_HTMLS = ['© 2005 - 2017 <a href="https://vijos.org/">Vijos.org</a>', version.get(), '<a href="http://www.miitbeian.gov.cn/" target="_blank" rel="nofollow">' + '沪ICP备14040537号</a>'] PROBLEM_CATEGORIES = collections.OrderedDict([ ('动态规划', [ 'LCS', 'LIS', '背包', '单调性DP', '环形DP', '树形DP', '状态压缩DP' ]), ('搜索', [ '枚举',