P4920 未来程序
upd:管理员不负责任!我这格式都挂了怎么还能过的(
由于 一直想让我写这题于是我就写了。
备注:#9 和 #10 有参照题解。
每个子任务难度评价对照如下:
- EZ:大众分,应该非常简单。
- NM:差不多是大众分,比较简单。
- HD:较难,可能比较难做。
- SP:愚人节题目,不考察选手OI实力。
Program 1(EZ)#
龟速乘,直接用 __int128
就搞定了。
Program 2(NM)#
一个奇怪的循环,列出前几项可以发现一个规律。
在 次循环后,,
其中 代表斐波那契数列,直接矩阵快速幂一波带走。
Program 3(EZ)#
小学奥数题。
但是这里要注意分母的常数请直接放到分子的其中一个因数里,不然溢出后除的结果是不对的。
为什么不用 __int128
呢?因为 __int128
也爆炸了!
Program 9(SP)#
:,不会的请重温笔试/初赛。
:,没什么好说的。
:,摘掉眼镜或者看 vs code 的预览那边。
:暴力枚举所有符号即可。
到 :注意到 Program 中有一份英语词典,我们可以一个一个代入尝试。
:注意到字符串长度不超过 ,所以依旧选择暴力选择字典的两个单词去尝试,这里需要先筛掉长度超过 的字符,然后就跑的飞快了。
:注意到 Program 中已经有这个句子了,我们可以在一个函数中直接得到答案。你也可以直接百度。
Program 7(HD)#
观察样例发现是完成 的数独,由于我是贺题怪所以我随便贺了一份代码,跑出来了,很快啊!
正解是舞蹈链,你可以在 SPOJ 的那个数独题里找到这个题的题解。
Program 10(SP)#
一开始的思路是直接转化函数,化递归为递推。
然后我把单个字母的函数推了一遍,其余保留原样,结果编译异常慢。
然后本来只跑一个数据点的,结果答案就全出来了,很快啊!
后来发现 直接帮你推完了,不讲武德!
Program 4(NM)#
- Task :两个都是 且不相同的格子,对答案贡献为 ,求答案。
- Solution:设为 的格子数量为 ,答案就是 。
- Task :一个为 的格子对答案贡献为所有 和它的曼哈顿距离最小值,求答案。
- Solution:显然这个格子一定在左上,右上,左下,右下四个方向里,可以直接 dp。
Program 5(NM)#
统计全为 的子矩形数量。
这个也是经典题目,统计以每一行为最后一行的和法矩形数量,使用单调栈计算答案即可。
Program 6(NM)#
学过 pollard-rho 的同学都知道这个东西最后会进入一个环,并且期望进入这个环的时间并不长。
众所周知判环可以用 floyd 或者 brent,brent 快一点,floyd 慢一点,取决于你想用哪个。本机成功使用 floyd 判圈算法在 分钟左右的时间内得出答案.
Program 8(HD)#
我们大胆猜测答案是几个组合形式的数,那么答案一定是一个关于 的多项式,于是大力插值。
注意 要对模数取模,不然插值的时候会爆 long long
。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律