- 博客(6)
- 收藏
- 关注
原创 poj2115—扩展欧几里得
模板题 #include<iostream> #include<cmath> #include<cstring> #include<cstdio> #include<algorithm> using namespace std; typedef long long ll; ll x,y; void exgcd(ll a,ll b){ if(b == 0){ x = 1; y = 0; return; }
2020-11-18 20:18:18
206
原创 补题
2020牛客暑期训练营 第二场B题 题意:输入n个整数点,求这些点中最多有多少个点与原点共圆,答案要加上原点 思路:因为三点确定一个圆,所以枚举出所有的圆心,找出出现次数最多的圆心再加上1即为答案 #include<iostream> #include<algorithm> #include<map> using namespace std; typedef long long ll; typedef pair<double, double> p; map&
2020-07-15 23:30:26
681
原创 扩展gcd
扩展欧几里得算法是欧几里得算法(又叫辗转相除法)的扩展。除了计算a、b两个整数的最大公约数,此算法还能找到整数x、y(其中一个很可能是负数)。通常谈到最大公因子时, 我们都会提到一个非常基本的事实: 给予二整数 a 与 b, 必存在有整数 x 与 y 使得ax + by = gcd(a,b)。有两个数a,b,对它们进行辗转相除法,可得它们的最大公约数——这是众所周知的。然后,收集辗转相除法中产生...
2020-01-27 17:20:47
454
原创 总结-位运算
第一周任务总结 纸质任务-位运算 程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算就是直接对整数在内存中的二进制位进行操作。 相关资料: 位运算用补码进行运算,正数的补码就是原码,负数的补码为原码取反加1,计算出的结果如果是正数,就直接等于补码,如果是负数则需减1取反,取反时符号位不变。 ~ 取反:全部取反,原码取反时,符号位不取反。 & 按位与:都是1才为1。 | 按...
2019-11-30 11:15:28
931
2
原创 总结-运算符
第一周任务总结 纸质任务-运算符 已知 int x = 5,y = 5,z = 5; 执行语句 x%=y+z后,x的值是____。 以下程序的输出结果是____。 #include<stdio.h> int main() { int a = 3 ,b = 3 ,c = 1; c = 5 ? a++ : b--; printf("%d\n",c); return 0; } ...
2019-11-27 19:55:26
782
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人