在 中,如果遇到一条 的竖线执行 ,否则执行 ,如果遇到整点先 在 (可以将 视作具有结合律的信息),问最后得到的信息是啥。
记作 ,其中 。
如果 :此时 每增大 必然碰到 个 ,同时分子累加 ,所以转移到 。
如果 :记 为第 个 前面有多少个 ,那么 ,反过来考虑一个 前面有多少个 ,那么就有:
所以可以转一下看成 这条直线,然后交换 。现在有三个问题:
- 新的定义域是啥;
- 最后一个 后面的 没统计上它们有多少个;
- 是负数。
挨个解决(这里的 都是原问题的,也就是交换前的):
- 在原问题中一共有 个 所以新问题的定义域可以视作 。
- 那么一共统计到了 个 ,所以最后需要额外补上 个 。
- 考虑将第一个 前面的 单独算,在前面补上 个 和一个 。本来分子的积累是 ,补完 以后分子的积累变成了 ,因为这个实际意义是分子每积累到一个 的倍数就多一个 ,所以要将状态改为 ,需要的 少了个一个于是定义域改为 。
ele qpow(ele x,ll y){
ele s=I;
while(y){
if(y&1)s=s*x;
x=x*x;
y>>=1;
}
return s;
}
ele solve(ll n,ll a,ll b,ll c,ele U,ele R){
if(n<=0)return I;
if(a>=c)return solve(n,a%c,b,c,U,qpow(U,a/c)*R);
ll m=((i128)a*n+b)/c;
if(!m)return qpow(R,n);
return qpow(R,(c-b-1)/a)*U*solve(m-1,c,(c-b-1)%a,a,R,U)*qpow(R,n-(c*m-b-1)/a);
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
2022-11-13 DFA题
2021-11-13 「题解」Codeforces 1605 D Treelabeling