随笔分类 - 数学
摘要:题意 解析 解析:每个a[i]是由b[i]和b[i+1]取最大公因数得出,所以对于每个b[j]来说应该既是a[j]的倍数,又是a[j-1]的倍数。现实在取的时候,可以取b[j] = lcm(a[j-1],a[j])。然后再对每个b[j]检查gcd(b[j],b[j+1])是否真的等于a[j]。 我们
阅读全文
摘要:题意 解析 由图得 a中不能同时存在 5 的倍数和非 5 的倍数。 若全为 5 的倍数,将她们的末尾全部操作为 0,判断相等即可。 若全非 5 的倍数,将她们的末尾全部操作为 2。由于2→4→8→6→2 绕一圈后原数会 +20,所以我们判断这些数是否 mod 20 同余即可。 代码 #include
阅读全文
摘要:题意 q次询问1e5,每次给你一个正整数n<=1e9,求最多能分成几个合数 解析 4是合数,一个想法就是尽量地分4。如果n%4==0的话说明恰好分完,万事大吉,如果n%4=2的话,6是第二小的合数,可以把剩下的4和2凑成6,这就是最多的分法,有n/4个。看n%4==1和n%4==3,说明原来的n肯定
阅读全文
摘要:题意 解析 可以从1到x,剩下的全给最后一个 代码 #include<bits/stdc++.h> using namespace std; const int N = 1e3 + 10; int a[N],n,cnt; int main(){ cin >> n; for(int i=1;i<=n;
阅读全文
摘要:题意 解析 末尾2位是4的倍数即可。每次特判最后一位。 代码 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N = 3e5 + 10; string s; bool check(string
阅读全文
摘要:题意 解析 找规律 讨论b,三种都有 行,有另两种 行,另两种有一种{只有1个,不行;有大于1个,无b不行;其余行},另两种一个都无 行。 代码 #include<bits/stdc++.h> using namespace std; typedef long long ll; int n; str
阅读全文
摘要:题意 输入 #1 ++-+- +-+-+ 输出 #1 1.000000000000 输入 #2 +-+- +-?? 输出 #2 0.500000000000 输入 #3 +++ ??- 输出 #3 0.000000000000 解析 我是找规律做的。算出最后总体的差值x,求出有cnt个问号。 假设正
阅读全文
摘要:https://www.luogu.com.cn/problem/CF1543D1 题意: 输入 5 2 0 0 1 输出 3 4 5 思路: 运用异或自反的性质 可转化为 之后再枚举从0往后猜,第一次猜0,之后每次猜i⊕(i-1),就可以
阅读全文