随笔分类 -  数学

摘要:题意 解析 解析:每个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]。 我们 阅读全文
posted @ 2023-03-15 15:12 Isaac233 阅读(15) 评论(0) 推荐(0) 编辑
摘要:题意 解析 由图得 a中不能同时存在 5 的倍数和非 5 的倍数。 若全为 5 的倍数,将她们的末尾全部操作为 0,判断相等即可。 若全非 5 的倍数,将她们的末尾全部操作为 2。由于2→4→8→6→2 绕一圈后原数会 +20,所以我们判断这些数是否 mod 20 同余即可。 代码 #include 阅读全文
posted @ 2023-03-09 10:12 Isaac233 阅读(20) 评论(0) 推荐(0) 编辑
摘要:题意 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肯定 阅读全文
posted @ 2023-03-09 10:04 Isaac233 阅读(12) 评论(0) 推荐(0) 编辑
摘要:题意 解析 可以从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; 阅读全文
posted @ 2023-03-09 10:02 Isaac233 阅读(13) 评论(0) 推荐(0) 编辑
摘要:题意 解析 末尾2位是4的倍数即可。每次特判最后一位。 代码 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N = 3e5 + 10; string s; bool check(string 阅读全文
posted @ 2023-03-09 10:01 Isaac233 阅读(11) 评论(0) 推荐(0) 编辑
摘要:题意 解析 找规律 讨论b,三种都有 行,有另两种 行,另两种有一种{只有1个,不行;有大于1个,无b不行;其余行},另两种一个都无 行。 代码 #include<bits/stdc++.h> using namespace std; typedef long long ll; int n; str 阅读全文
posted @ 2023-03-09 09:59 Isaac233 阅读(8) 评论(0) 推荐(0) 编辑
摘要:题意 输入 #1 ++-+- +-+-+ 输出 #1 1.000000000000 输入 #2 +-+- +-?? 输出 #2 0.500000000000 输入 #3 +++ ??- 输出 #3 0.000000000000 解析 我是找规律做的。算出最后总体的差值x,求出有cnt个问号。 假设正 阅读全文
posted @ 2022-12-30 00:05 Isaac233 阅读(16) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.com.cn/problem/CF1543D1 题意: 输入 5 2 0 0 1 输出 3 4 5 思路: 运用异或自反的性质 xz=y 可转化为 xy=z 之后再枚举从0往后猜,第一次猜0,之后每次猜i⊕(i-1),就可以 阅读全文
posted @ 2021-07-21 18:08 Isaac233 阅读(40) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示