有域名有服务器怎么建站,你知道的2021,可视化app开发工具,wordpress变的很卡原题#xff1a; 1525.Cantor表2023zjhs020 于2025-02-06 吐槽一下#xff1a;
本题其实十分简单#xff0c;结果被评定为普及/提高-#xff0c;还只有一篇题解。#xff08;我这个蒻赶紧来写一篇了#xff09; (原以为这是最短代码了#xff0c;结果被学长无情打脸 1525.Cantor表2023zjhs020 于2025-02-06 吐槽一下
本题其实十分简单结果被评定为普及/提高-还只有一篇题解。我这个蒻赶紧来写一篇了 (原以为这是最短代码了结果被学长无情打脸呜呜呜)
好了不废话了。看解释
本题解释
while循环就是为了通过循环枚举判断它在编号之后的第几行第几个位置。
这个优化有没有都可以AC本题但是评论指出我的时间复杂度不够优秀因此提一提这个优化不愿意看的可以直接略过看下一个分割线以后的内容。 但其实可以直接出结论优化时间复杂度从O(n)优化到O(1)这样就要考虑到等差数列求和。
所以很显然Z字型排序之后第k行的数编号n满足
这样就可以把那个循环优化掉。代码就不贴了 因为懒还怕出错 最后用k判断奇偶是判断这一行 Z字型编号是正序类似第二行还是倒序类似第三行然后用最开始的结论输出原表中的行号除以列号就行了。
本题的核心已解释不懂得再好好想想
#include bits/stdc.h//头文件
using namespace std;
//long long n,k1;//定义
int main() {cinn;//输入while(nk)//循环{nn-k;//不断减k;//自增}if(k%20) coutn/(k1-n);//是否是偶数else coutk1-n/n;//不是return 0;//结束
}
看懂了吗
看懂了吗