快速读入模板 12345678910111213141516171819202122232425262728293031323334353637#define New intinline New read()//快速读入{ New X = 0, w = 0; char ch = 0; while (!isdigit(ch)) { w |= ch == '-'; ch 2023-03-18
c语言文件读写 C语言文件读写 算法 1.fseek()函数 此函数用于移动文件指针到指定位置。例如,要将文件指针移动到文件的第5个字节处,您可以使用以下代码: 1fseek(fp, 5, SEEK_SET); // 将文件指针移动到第5个字节 其中,第二个参数是移动的字节数,第三个参数指定移动的起始位置。 2.ftell()函数 此函数用于获取文件指针的当前位置。例如: 12long pos;pos = ft 2023-02-16
康托展开 康托展开 名词解释: 康托展开是一个全排列到一个自然数的双射,常用于构建哈希表时的空间压缩。 -–康托展开的实质是计算当前排列在所有由小到大全排列中的顺序,因此是可逆的。 原理介绍 \(X = a_{n}(n-1)!+a_{n-1}(n-2)!+… +a_{1} \times 0!\) 其中,\(a_i\) 为整数,并且\(0\leq a_{i}<i,1\leq i\leq n\) 。 表 2023-02-03
P1088 [NOIP2004 普及组] 火星人 [NOIP2004 普及组] 火星人 题目描述 人类终于登上了火星的土地并且见到了神秘的火星人。人类和火星人都无法理解对方的语言,但是我们的科学家发明了一种用数字交流的方法。这种交流方法是这样的,首先,火星人把一个非常大的数字告诉人类科学家,科学家破解这个数字的含义后,再把一个很小的数字加到这个大数上面,把结果告诉火星人,作为人类的回答。 火星人用一种非常简单的方式来表示数字――掰手指。火星人只 2023-02-03
P2241 统计方形(数据加强版)(矩形中的正方,长方形统计) 统计方形(数据加强版) 题目背景 1997年普及组第一题 题目描述 有一个 \(n \times m\) 方格的棋盘,求其方格包含多少正方形、长方形(不包含正方形)。 输入格式 一行,两个正整数 \(n,m\)(\(n \leq 5000,m \leq 5000\))。 输出格式 一行,两个正整数,分别表示方格包含多少正方形、长方形(不包含正方形)。 样例 #1 样例输入 #1 12 3 样例输 2023-02-02
P1177 【模板】快速排序 这次没有题目水字数了,记录一个很棒的快速排序模板!! 123456789101112131415void Qsort(int beg, int end) { int mid = str[(beg + end) / 2]; int i = beg, j = end; do { while (str[i] < mid)i++; while (str[j] > mi 2023-02-01
P1045 [NOIP2003 普及组] 麦森数——快速幂 [NOIP2003 普及组] 麦森数 题目描述 形如 \(2^{P}-1\) 的素数称为麦森数,这时 \(P\) 一定也是个素数。但反过来不一定,即如果 \(P\) 是个素数,\(2^{P}-1\) 不一定也是素数。到 1998 年底,人们已找到了 37 个麦森数。最大的一个是 \(P=3021377\),它有 909526 位。麦森数有许多重要应用,它与完全数密切相关。 任务:输入 \(P(1 2023-02-01
P5461 赦免战俘 赦免战俘 题目背景 借助反作弊系统,一些在月赛有抄袭作弊行为的选手被抓出来了! 题目描述 现有 \(2^n\times 2^n (n\le10)\) 名作弊者站成一个正方形方阵等候 kkksc03 的发落。kkksc03 决定赦免一些作弊者。他将正方形矩阵均分为 4 个更小的正方形矩阵,每个更小的矩阵的边长是原矩阵的一半。其中左上角那一个矩阵的所有作弊者都将得到赦免,剩下 3 个小矩阵中,每一个 2023-01-30