自学内容网 自学内容网

CSP 2024 j/s 2 游记

DAY -21

浅浅打了一场模拟赛(难度在j组3,4题左右),老师居然把最难的一题放在T1!
T1:约瑟夫环,可以选择顺时针或逆时针,问每个人的存活方案
T2:在一个带有权值的矩阵中有一个三角形,求这个三角形内数字的权值之和
T3:将一个数的阶乘分解质因数
T4:P1967 [NOIP2013 提高组] 货车运输,原题
考试时的我:第一题怎么这么难!完了,不会爆0了吧!!!
看到T1 n ≤ 3000 n \le 3000 n3000 的范围,手推规律感觉不对,半个小时后果断跳过
看到T2,直接前缀和 O ( n q ) O(nq) O(nq) 计算,看到 n ≤ 1000 , q ≤ 1 0 6 n \le 1000 ,q \le 10^6 n1000q106 是人都傻了,完全没想到可以二维前缀和 + + + 数学公式秒切好吧(完了,真成fw了)
然后做T3,想了一个暴力,然后想了半天正解没想出来…
事实上,T3真的很水,这里举个栗子解释下:
8 ! = 1 × 2 × 3 × 4 × 5 × 6 × 7 × 8 8! = 1 \times 2 \times 3 \times 4 \times 5 \times 6 \times 7 \times 8 8!=1×2×3×4×5×6×7×8
可以发现含有 2 2 2 的因子个数是 ⌊ 8 2 1 ⌋ + ⌊ 8 2 2 ⌋ + ⌊ 8 2 3 ⌋ = 7 \lfloor \frac{8}{2^1} \rfloor + \lfloor \frac{8}{2^2} \rfloor + \lfloor \frac{8}{2^3} \rfloor = 7 218+228+238=7
同理可得含有 3 3 3 的因子个数…
由此可以发现规律,对于每一个质因子,可以通过 n n n除以它的本身、它的平方…来得到结果。
尽管 n ≤ 1 0 6 n \le 10^6 n106,但是到了 1000 1000 1000以上的连平方都乘不到,所以时间复杂度可接受。
T4 最小生成树 + + + LCA,尽管部分分都是 n ≤ 1000 n \le 1000 n1000,但我依然勇敢的打了个 f l o y d floyd floyd 去骗分。
最后几分钟再反回来打T1,写了个暴力,遗憾退场
期望得分: 0 + 50 + 50 + 0 = 100 0+50+50+0 = 100 0+50+50+0=100
实际得分: 0 + 54 + 50 + 30 = 134 0+54+50+30=134 0+54+50+30=134


原文地址:https://blog.csdn.net/dengqingrui123/article/details/142707890

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!