随笔分类 - CF\AT 构造
摘要:原题链接 题意:给出 \(n\) 个数,然后求出每个数是否存在两个因子大于 \(1\) 并且 \(gcd(d_1+d_2, a_i) = 1\)。 题解:可以知道,如果 \(gcd(x,y)=1\) 那么必然有 \(\forall p \in (y \equiv 0 \mod p)\) 并且 \(x
阅读全文
摘要:原题链接 题意:给出 \(n\) 个数 $a_1, a_2, a_3···a_n$求问有多少个四元组 \((i,j,k,l)\),使得这个四元组满足下列条件:\(1 \leqslant i < j < k \leqslant l\)。 题解:就是枚举中间的两个 \(j,k\),真的就是没有想到。 代
阅读全文
摘要:原题链接 题意:给出一个序列长度为 \(n \leqslant 1e6\),$a_i \leqslant 1e9$然后要求取某些数字,其和为 \(m \leqslant 3000\) 的倍数,是否可以。 题解:先把所有数都作为 \(a_i = a_i \mod m\) 存起来。然后可知,如果数量大于
阅读全文
摘要:原题链接 题意:给出 \(n\times m\) 的矩阵,然后构造出一个矩阵,在原矩阵上能给某个数加 \(1\) 或者不加,要求矩阵里所有元素相邻的不相同。 题解:都说是很显然的套路,然而我并不知道,奇数和偶数不相等,所以,让每个斜对角线都是奇偶奇偶这样就可以,然后奇数+1就是偶数。 代码: #in
阅读全文
摘要:原题链接 题意:给一个数字,要求构造一个数字,只通过删除某些位的数,得到的是能整除 \(8\) 的数字。 题解: 代码: #include <bits/stdc++.h> using namespace std; typedef long long LL; const int N = 2e5 + 1
阅读全文
摘要:原题链接 题目:给了数字位数和数字位数之和,要构造出最大的数字和最小的数字。 题解:就是想着让 \(9\) 往后并且让 \(1\) 往前,然后中间用 \(0\),注意无效的时候是 \(s = 0\) 并且 \(m \neq 1\) 代码: #include <iostream> #include <
阅读全文