1 条题解

  • 0
    @ 2025-10-19 19:39:31

    题意
    将月-日转换为一年中的天数(模 365365),建立模 365365 线性方程组并求解,解需满足 1xj3651 \le x_j \le 365

    解题步骤

    1. 日期转换

      • 预处理每月累积天数(平年)
      • 将每个 Ai,BiA_i, B_i 转换为天数编号(1月1日为第0天)
      • 计算 Ci=(BiAi)mod365C_i = (B_i - A_i) \bmod 365,调整到 [0,364][0,364]
    2. 建立方程组
      得到模 365365 意义下的线性方程组: [ \sum_{j=1}^M a_{i,j} x_j \equiv C_i \pmod{365} ]

    3. 模线性方程组求解

      • 使用高斯消元法(模意义)
      • 消元时求模逆元(365=5×73365=5\times73,注意不可逆情况)
      • 无解条件:出现 0非零0 \equiv \text{非零} 的矛盾方程
    4. 解的范围调整

      • 自由变元可任取 [1,365][1,365]
      • 非自由变元需调整到要求范围

    关键技巧

    • 模数 365365 非质数,消元时需特殊处理
    • 可用扩展欧几里得解单个同余方程
    • 多解时输出任意一组满足范围的解即可

    时间复杂度
    O(N2M)O(N^2M) 的高斯消元足以满足 N,M200N,M \le 200

    • 1

    信息

    ID
    3478
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    递交数
    1
    已通过
    1
    上传者