diff --git "a/data/1.\347\256\227\346\263\225\345\210\235\351\230\266/1.\350\223\235\346\241\245\346\235\257-\345\237\272\347\241\200/30.k\345\200\215\345\214\272\351\227\264/solution.md.md" "b/data/1.\347\256\227\346\263\225\345\210\235\351\230\266/1.\350\223\235\346\241\245\346\235\257-\345\237\272\347\241\200/30.k\345\200\215\345\214\272\351\227\264/solution.md.md" index 5f18c7a01cef614427bf0ae18cba26954af209f9..64a61daea4640385721be62202cab498ce9090a8 100644 --- "a/data/1.\347\256\227\346\263\225\345\210\235\351\230\266/1.\350\223\235\346\241\245\346\235\257-\345\237\272\347\241\200/30.k\345\200\215\345\214\272\351\227\264/solution.md.md" +++ "b/data/1.\347\256\227\346\263\225\345\210\235\351\230\266/1.\350\223\235\346\241\245\346\235\257-\345\237\272\347\241\200/30.k\345\200\215\345\214\272\351\227\264/solution.md.md" @@ -3,7 +3,7 @@ **问题描述** -给定一个长度为N的数列,A1, A2, … AN,如果其中一段连续的子序列A1, A2, … AN,Ai, Ai+1, … Aj(i <= j)之和是K的倍数,我们就称这个区间[i, j]是K倍区间。 +给定一个长度为N的数列,A1, A2, … AN,如果其中一段连续的子序列Ai, Ai+1, … Aj(i <= j)之和是K的倍数,我们就称这个区间[i, j]是K倍区间。 你能求出数列中总共有多少个K倍区间吗? @@ -11,7 +11,7 @@ 第一行包含两个整数N和K。(1 <= N, K <= 100000) -以下N行每行包含一个整数A1, A2, … AN,Ai, Ai+1, … Aj(i <= j)Ai。(1 <= A1, A2, … AN,Ai, Ai+1, … Aj(i <= j)AiAi <= 100000) +以下N行每行包含一个整数Ai。(1 <= Ai <= 100000) **输出格式** diff --git "a/data/1.\347\256\227\346\263\225\345\210\235\351\230\266/1.\350\223\235\346\241\245\346\235\257-\345\237\272\347\241\200/37.\345\271\263\351\235\242\345\210\207\345\210\206/solution.md.md" "b/data/1.\347\256\227\346\263\225\345\210\235\351\230\266/1.\350\223\235\346\241\245\346\235\257-\345\237\272\347\241\200/37.\345\271\263\351\235\242\345\210\207\345\210\206/solution.md.md" index c5296c4a46286b67b92e4f28526b139f5c22522f..f3d118f9ae851cf0d14e2852253c6dea7f75328e 100644 --- "a/data/1.\347\256\227\346\263\225\345\210\235\351\230\266/1.\350\223\235\346\241\245\346\235\257-\345\237\272\347\241\200/37.\345\271\263\351\235\242\345\210\207\345\210\206/solution.md.md" +++ "b/data/1.\347\256\227\346\263\225\345\210\235\351\230\266/1.\350\223\235\346\241\245\346\235\257-\345\237\272\347\241\200/37.\345\271\263\351\235\242\345\210\207\345\210\206/solution.md.md" @@ -12,7 +12,7 @@ 第一行包含一个整数N。 -以下N行,每行包含两个整数 y = Ai*x + BiAi, Bi。 +以下N行,每行包含两个整数 Ai, Bi。 **输出格式** diff --git "a/data/1.\347\256\227\346\263\225\345\210\235\351\230\266/5.\350\223\235\346\241\245\346\235\257-\346\250\241\346\213\237/13.\347\201\265\350\203\275\344\274\240\350\276\223/solution.md.md" "b/data/1.\347\256\227\346\263\225\345\210\235\351\230\266/5.\350\223\235\346\241\245\346\235\257-\346\250\241\346\213\237/13.\347\201\265\350\203\275\344\274\240\350\276\223/solution.md.md" index a34c491e8e625f54cfad324687747a8a9f79f4ad..42dd5f812bd4c817011a46da5c13011f7b2e18bf 100644 --- "a/data/1.\347\256\227\346\263\225\345\210\235\351\230\266/5.\350\223\235\346\241\245\346\235\257-\346\250\241\346\213\237/13.\347\201\265\350\203\275\344\274\240\350\276\223/solution.md.md" +++ "b/data/1.\347\256\227\346\263\225\345\210\235\351\230\266/5.\350\223\235\346\241\245\346\235\257-\346\250\241\346\213\237/13.\347\201\265\350\203\275\344\274\240\350\276\223/solution.md.md" @@ -7,9 +7,9 @@ **问题描述** -你控制着 n 名高阶圣堂武士,方便起见标为 1,2,··· ,n。每名高阶圣堂武士需要一定的灵能来战斗,每个人有一个灵能值ai表示其拥有的灵能的多少(aiai非负表示这名高阶圣堂武士比在最佳状态下多余了aiaiai点灵能,aiaiaiai为负则表示这名高阶圣堂武士还需要aiaiaiai-ai点灵能才能到达最佳战斗状态) 。现在系统赋予了你的高阶圣堂武士一个能力,传递灵能,每次你可以选择一个aiaiaiai-ai i ∈ [2,n − 1],若aiaiaiai-ai i ∈ [2,n − 1]ai ≥ 0 则其两旁的高阶圣堂武士,也就是aiaiaiai-ai i ∈ [2,n − 1]ai ≥ 0 i − 1、i + 1 这两名高阶圣堂武士会从i 这名高阶圣堂武士这里各抽取aiaiaiai-ai i ∈ [2,n − 1]ai ≥ 0 i − 1、i + 1 ai 点灵能;若aiaiaiai-ai i ∈ [2,n − 1]ai ≥ 0 i − 1、i + 1 ai ai < 0 则其两旁的高阶圣堂武士,也就是aiaiaiai-ai i ∈ [2,n − 1]ai ≥ 0 i − 1、i + 1 ai ai < 0 i−1,i+1 这两名高阶圣堂武士会给 i 这名高阶圣堂武士aiaiaiai-ai i ∈ [2,n − 1]ai ≥ 0 i − 1、i + 1 ai ai < 0 i−1,i+1 −ai 点灵能。形式化来讲就是aiaiaiai-ai i ∈ [2,n − 1]ai ≥ 0 i − 1、i + 1 ai ai < 0 i−1,i+1 −ai ai-1 + = ai ,ai+1 + = ai ,ai − = 2ai 。 +你控制着 n 名高阶圣堂武士,方便起见标为 1,2,··· ,n。每名高阶圣堂武士需要一定的灵能来战斗,每个人有一个灵能值ai表示其拥有的灵能的多少(ai非负表示这名高阶圣堂武士比在最佳状态下多余了ai点灵能,ai为负则表示这名高阶圣堂武士还需要-ai点灵能才能到达最佳战斗状态) 。现在系统赋予了你的高阶圣堂武士一个能力,传递灵能,每次你可以选择一个 i ∈ [2,n − 1],若ai ≥ 0 则其两旁的高阶圣堂武士,也就是 i − 1、i + 1 这两名高阶圣堂武士会从i 这名高阶圣堂武士这里各抽取 ai 点灵能;若 ai < 0 则其两旁的高阶圣堂武士,也就是 i−1,i+1 这两名高阶圣堂武士会给 i 这名高阶圣堂武士 −ai 点灵能。形式化来讲就是 ai-1 + = ai ,ai+1 + = ai ,ai − = 2ai 。 -灵能是非常高效的作战工具,同时也非常危险且不稳定,一位高阶圣堂武士拥有的灵能过多或者过少都不好,定义一组高阶圣堂武士的不稳定度为aiaiaiai-ai i ∈ [2,n − 1]ai ≥ 0 i − 1、i + 1 ai ai < 0 i−1,i+1 −ai ai-1 + = ai ,ai+1 + = ai ,ai − = 2ai maxni=1 |ai|,请你通过不限次数的传递灵能操作使得你控制的这一组高阶圣堂武士的不稳定度最小。 +灵能是非常高效的作战工具,同时也非常危险且不稳定,一位高阶圣堂武士拥有的灵能过多或者过少都不好,定义一组高阶圣堂武士的不稳定度为maxni=1 |ai|,请你通过不限次数的传递灵能操作使得你控制的这一组高阶圣堂武士的不稳定度最小。 **输入格式** @@ -19,7 +19,7 @@ 每组询问的第一行包含一个正整数 n,表示高阶圣堂武士的数量。 -接下来一行包含 n 个数 aiaiaiai-ai i ∈ [2,n − 1]ai ≥ 0 i − 1、i + 1 ai ai < 0 i−1,i+1 −ai ai-1 + = ai ,ai+1 + = ai ,ai − = 2ai maxni=1 |ai|a1 ,a2 ,··· ,an 。 +接下来一行包含 n 个数 a1 ,a2 ,··· ,an 。 **输出格式** diff --git "a/data/1.\347\256\227\346\263\225\345\210\235\351\230\266/5.\350\223\235\346\241\245\346\235\257-\346\250\241\346\213\237/16.\344\270\211\344\275\223\346\224\273\345\207\273/solution.md.md" "b/data/1.\347\256\227\346\263\225\345\210\235\351\230\266/5.\350\223\235\346\241\245\346\235\257-\346\250\241\346\213\237/16.\344\270\211\344\275\223\346\224\273\345\207\273/solution.md.md" index f227736bc179b92cbdcff8fb4ad57a8db6cc52be..1f57632e6754e599aa633c5f5a8b4745df8f0473 100644 --- "a/data/1.\347\256\227\346\263\225\345\210\235\351\230\266/5.\350\223\235\346\241\245\346\235\257-\346\250\241\346\213\237/16.\344\270\211\344\275\223\346\224\273\345\207\273/solution.md.md" +++ "b/data/1.\347\256\227\346\263\225\345\210\235\351\230\266/5.\350\223\235\346\241\245\346\235\257-\346\250\241\346\213\237/16.\344\270\211\344\275\223\346\224\273\345\207\273/solution.md.md" @@ -7,7 +7,7 @@ 三体人将会对地球发起 m 轮“立方体攻击”,每次攻击会对一个小立方体中的所有战舰都造成相同的伤害。具体地,第 t 轮攻击用 7 个参数 lat, rat, lbt, rbt, lct, rct, ht 描述; -所有满足lat, rat, lbt, rbt, lct, rct, ht i ∈ [lat, rat],j ∈ [lbt, rbt],k ∈ [lct, rct] 的战舰 (i, j, k) 会受到 lat, rat, lbt, rbt, lct, rct, ht i ∈ [lat, rat],j ∈ [lbt, rbt],k ∈ [lct, rct] ht 的伤害。如果一个战舰累计受到的总伤害超过其防御力,那么这个战舰会爆炸。 +所有满足 i ∈ [lat, rat],j ∈ [lbt, rbt],k ∈ [lct, rct] 的战舰 (i, j, k) 会受到 ht 的伤害。如果一个战舰累计受到的总伤害超过其防御力,那么这个战舰会爆炸。 地球指挥官希望你能告诉他,第一艘爆炸的战舰是在哪一轮攻击后爆炸的。 @@ -20,7 +20,7 @@ 第二行包含 A × B × C 个整数,其中第 ((i − 1)×B + (j − 1)) × C + (k − 1)+1 个数为 d(i, j, k); -第 3 到第 m + 2 行中,第 (t − 2) 行包含 7 个正整数 lat, rat, lbt, rbt, lct, rct, ht i ∈ [lat, rat],j ∈ [lbt, rbt],k ∈ [lct, rct] htlat, rat, lbt, rbt, lct, rct, ht。 +第 3 到第 m + 2 行中,第 (t − 2) 行包含 7 个正整数 lat, rat, lbt, rbt, lct, rct, ht。 **输出格式** diff --git "a/data/1.\347\256\227\346\263\225\345\210\235\351\230\266/7.\350\223\235\346\241\245\346\235\257-\345\212\250\346\200\201\350\247\204\345\210\222/3.\350\243\205\351\245\260\347\217\240/solution.md.md" "b/data/1.\347\256\227\346\263\225\345\210\235\351\230\266/7.\350\223\235\346\241\245\346\235\257-\345\212\250\346\200\201\350\247\204\345\210\222/3.\350\243\205\351\245\260\347\217\240/solution.md.md" index 46cbf6fabfd5094d0ca2bc4bd830939e08c7f584..ea2489c8e39ad2a959e8368bd746577a431ae7fe 100644 --- "a/data/1.\347\256\227\346\263\225\345\210\235\351\230\266/7.\350\223\235\346\241\245\346\235\257-\345\212\250\346\200\201\350\247\204\345\210\222/3.\350\243\205\351\245\260\347\217\240/solution.md.md" +++ "b/data/1.\347\256\227\346\263\225\345\210\235\351\230\266/7.\350\223\235\346\241\245\346\235\257-\345\212\250\346\200\201\350\247\204\345\210\222/3.\350\243\205\351\245\260\347\217\240/solution.md.md" @@ -6,9 +6,9 @@ 已知猎人身上一共有 6 件装备,每件装备可能有若干个装饰孔,每个装饰孔有各自的等级,可以镶嵌一颗小于等于自身等级的装饰珠 (也可以选择不镶嵌)。 -装饰珠有 M 种,编号 1 至 M,分别对应 M 种技能,第 i 种装饰珠的等级为 Li,只能镶嵌在等级大于等于 LiLi 的装饰孔中。 +装饰珠有 M 种,编号 1 至 M,分别对应 M 种技能,第 i 种装饰珠的等级为 Li,只能镶嵌在等级大于等于 Li 的装饰孔中。 -对第 i 种技能来说,当装备相应技能的装饰珠数量达到 LiLiKi个时,会产生LiLiKiWi(LiLiKiWiKi)的价值,镶嵌同类技能的数量越多,产生的价值越大,即LiLiKiWiKiWi(LiLiKiWiKiWiKi-1)iLiKiWiKiWiKi-1Wi(LiLiKiWiKiWiKi-1WiKi)。但每个技能都有上限LiLiKiWiKiWiKi-1WiKiPi(1≤LiLiKiWiKiWiKi-1WiKiPiPi≤7),当装备的珠子数量超过LiLiKiWiKiWiKi-1WiKiPiPiPi时,只会产生LiLiKiWiKiWiKi-1WiKiPiPiPiWi(LiLiKiWiKiWiKi-1WiKiPiPiPiWiPi)的价值。 +对第 i 种技能来说,当装备相应技能的装饰珠数量达到 Ki个时,会产生Wi(Ki)的价值,镶嵌同类技能的数量越多,产生的价值越大,即Wi(Ki-1)i(Ki)。但每个技能都有上限Pi(1≤Pi≤7),当装备的珠子数量超过Pi时,只会产生Wi(Pi)的价值。 对于给定的装备和装饰珠数据,求解如何镶嵌装饰珠,使得 6 件装备能得到的总价值达到最大。 @@ -18,9 +18,9 @@ 第 7 行包含一个正整数 M,表示装饰珠 (技能) 种类数量。 -第 8 至 M + 7 行,每行描述一种装饰珠 (技能) 的情况。每行的前两个整数LiLiKiWiKiWiKi-1WiKiPiPiPiWiPiLj(1≤ LiLiKiWiKiWiKi-1WiKiPiPiPiWiPiLjLj ≤4)和LiLiKiWiKiWiKi-1WiKiPiPiPiWiPiLjLjPj(1≤ LiLiKiWiKiWiKi-1WiKiPiPiPiWiPiLjLjPjPj ≤7)分别表示第 j 种装饰珠的等级和上限。接下来LiLiKiWiKiWiKi-1WiKiPiPiPiWiPiLjLjPjPjPj个整数,其中第 k 个数表示装备该中装饰珠数量为 k 时的价值LiLiKiWiKiWiKi-1WiKiPiPiPiWiPiLjLjPjPjPjWj(k)。 +第 8 至 M + 7 行,每行描述一种装饰珠 (技能) 的情况。每行的前两个整数Lj(1≤ Lj ≤4)和Pj(1≤ Pj ≤7)分别表示第 j 种装饰珠的等级和上限。接下来Pj个整数,其中第 k 个数表示装备该中装饰珠数量为 k 时的价值Wj(k)。 -其中LiLiKiWiKiWiKi-1WiKiPiPiPiWiPiLjLjPjPjPjWj1 ≤ Ni ≤ 50,1 ≤ M ≤ 104,1 ≤ Wj(k) ≤ 104。 +其中1 ≤ Ni ≤ 50,1 ≤ M ≤ 104,1 ≤ Wj(k) ≤ 104。 **输出描述** @@ -60,7 +60,7 @@ 6: (2) ``` -4 颗技能 1 装饰珠,4 颗技能 2 装饰珠 LiLiKiWiKiWiKi-1WiKiPiPiPiWiPiLjLjPjPjPjWj1 ≤ Ni ≤ 50,1 ≤ M ≤ 104,1 ≤ Wj(k) ≤ 104。W1(4) + W2(4) = 5 + 15 = 20。W1(4)+W2(4)=5+15=20。 +4 颗技能 1 装饰珠,4 颗技能 2 装饰珠 W1(4) + W2(4) = 5 + 15 = 20。W1(4)+W2(4)=5+15=20。 以下错误的一项是? diff --git "a/data/1.\347\256\227\346\263\225\345\210\235\351\230\266/7.\350\223\235\346\241\245\346\235\257-\345\212\250\346\200\201\350\247\204\345\210\222/5.\347\273\204\345\220\210\346\225\260\351\227\256\351\242\230/solution.md.md" "b/data/1.\347\256\227\346\263\225\345\210\235\351\230\266/7.\350\223\235\346\241\245\346\235\257-\345\212\250\346\200\201\350\247\204\345\210\222/5.\347\273\204\345\220\210\346\225\260\351\227\256\351\242\230/solution.md.md" index 498edf8339c77f9708c2559668377d4ec8abab7b..c621842ad51a44141ad766c806d6cff0bfdcd180 100644 --- "a/data/1.\347\256\227\346\263\225\345\210\235\351\230\266/7.\350\223\235\346\241\245\346\235\257-\345\212\250\346\200\201\350\247\204\345\210\222/5.\347\273\204\345\220\210\346\225\260\351\227\256\351\242\230/solution.md.md" +++ "b/data/1.\347\256\227\346\263\225\345\210\235\351\230\266/7.\350\223\235\346\241\245\346\235\257-\345\212\250\346\200\201\350\247\204\345\210\222/5.\347\273\204\345\220\210\346\225\260\351\227\256\351\242\230/solution.md.md" @@ -3,7 +3,7 @@ **问题描述** -给 n, m, k, 求有多少对(i, j)满足 1 ≤ i ≤ n, 0 ≤ j ≤ min(i, m) 且Cij≡0(mod k),k 是质数。其中CijCij是组合数,表示从 i 个不同的数中选出 j 个组成一个集合的方案数。 +给 n, m, k, 求有多少对(i, j)满足 1 ≤ i ≤ n, 0 ≤ j ≤ min(i, m) 且Cij≡0(mod k),k 是质数。其中Cij是组合数,表示从 i 个不同的数中选出 j 个组成一个集合的方案数。 **输入格式** @@ -30,7 +30,7 @@ **样例说明** -在所有可能的情况中,只有 CijCijC21 是 2 的倍数。 +在所有可能的情况中,只有 C21 是 2 的倍数。 **样例输入** diff --git "a/data/1.\347\256\227\346\263\225\345\210\235\351\230\266/7.\350\223\235\346\241\245\346\235\257-\345\212\250\346\200\201\350\247\204\345\210\222/6.\347\263\226\346\236\234/solution.md.md" "b/data/1.\347\256\227\346\263\225\345\210\235\351\230\266/7.\350\223\235\346\241\245\346\235\257-\345\212\250\346\200\201\350\247\204\345\210\222/6.\347\263\226\346\236\234/solution.md.md" index 36b48f9cbc88ea84f220cfb8f019d7864c4e4e92..63e42216674202bece3e786c10d0097087f995a7 100644 --- "a/data/1.\347\256\227\346\263\225\345\210\235\351\230\266/7.\350\223\235\346\241\245\346\235\257-\345\212\250\346\200\201\350\247\204\345\210\222/6.\347\263\226\346\236\234/solution.md.md" +++ "b/data/1.\347\256\227\346\263\225\345\210\235\351\230\266/7.\350\223\235\346\241\245\346\235\257-\345\212\250\346\200\201\350\247\204\345\210\222/6.\347\263\226\346\236\234/solution.md.md" @@ -14,7 +14,7 @@ 接下来N 行每行K 这整数T1,T2,…,TK,代表一包糖果的口味。 -1<=N<=100,1<=M<=20,1<=K<=20,1<=T1,T2,…,TKTi<=M。 +1<=N<=100,1<=M<=20,1<=K<=20,1<=Ti<=M。 **输出** diff --git "a/data/1.\347\256\227\346\263\225\345\210\235\351\230\266/7.\350\223\235\346\241\245\346\235\257-\345\212\250\346\200\201\350\247\204\345\210\222/8.\345\236\222\351\252\260\345\255\220/solution.md.md" "b/data/1.\347\256\227\346\263\225\345\210\235\351\230\266/7.\350\223\235\346\241\245\346\235\257-\345\212\250\346\200\201\350\247\204\345\210\222/8.\345\236\222\351\252\260\345\255\220/solution.md.md" index 14bf8bd075c4898be95f703dc6b469c2adc46881..cc17bb057387364590c60dc97ca16ebf35ee8eb3 100644 --- "a/data/1.\347\256\227\346\263\225\345\210\235\351\230\266/7.\350\223\235\346\241\245\346\235\257-\345\212\250\346\200\201\350\247\204\345\210\222/8.\345\236\222\351\252\260\345\255\220/solution.md.md" +++ "b/data/1.\347\256\227\346\263\225\345\210\235\351\230\266/7.\350\223\235\346\241\245\346\235\257-\345\212\250\346\200\201\350\247\204\345\210\222/8.\345\236\222\351\252\260\345\255\220/solution.md.md" @@ -28,7 +28,7 @@ n表示骰子数目 **输出格式** -一行一个数,表示答案模 109 + 7109 + 7 的结果。 +一行一个数,表示答案模 109 + 7 的结果。 **样例输入** diff --git a/src/math.py b/src/math.py index 5c9b42845bd329103e69a2ddd95be1c7d11d63f2..36d3bdbdcb3a936e869c275527efd5108c228665 100644 --- a/src/math.py +++ b/src/math.py @@ -30,7 +30,12 @@ class MathWalker: for export in config['export']: export_path = os.path.join(base, export) export_obj = load_json(export_path) - source_path = os.path.join(base, export_obj['source']) + + source_origin = export_obj['source'] + if source_origin.find('.md.md') >= 0: + source_origin = source_origin[:len(source_origin)-3] + source_path = os.path.join(base, source_origin) + md = load_md(source_path) new_md = [] math_ctx = { @@ -89,8 +94,10 @@ class MathWalker: j += 1 math_ctx['enter'] = False + math_ctx['chars'] = [] else: math_ctx['enter'] = True + math_ctx['chars'] = [] has_enter_math = True else: if math_ctx['enter']: @@ -99,7 +106,7 @@ class MathWalker: new_md.append(c) i += 1 - source_new_relative = export_obj['source']+".md" + source_new_relative = source_origin+".md" source_path_new = os.path.join(base, source_new_relative) if has_enter_math: dump_md(source_path_new, ''.join(new_md))