小技巧
ZYzyZzzz
东阳中学在读学生。
展开
-
快读模板
inline int read(){ int x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();) return x*f;原创 2020-05-03 11:02:28 · 173 阅读 · 0 评论 -
离散化
void discrete(){ sort(a+1,a+n+1); for(int i=1;i<=n;i++) if(i==1||a[i]!=a[i-1]) b[++m]=a[i];}vodi query(int x){ return lower_bound(b+1,b+m+1,x)-b;}原创 2020-05-03 10:58:42 · 194 阅读 · 0 评论 -
模数不等
这是今天老师教的一个小常识,并求我们一定要记住,有关于数学,以后做数论的题的时候估计很有用。模数不等我们现在有两个数aaa和bbb,这两个数满足gcd(a,b)=1gcd(a,b)=1gcd(a,b)=1。我们可以得出以下结论:设:c0=0∗amod bc_0=0*a\mod bc0=0∗amodbc1=1∗amod bc_1=1*a\mod bc1=1∗amodbc2=2...原创 2019-11-12 15:23:04 · 193 阅读 · 0 评论 -
如何将字符转换成数字
在我们计算高精度加减乘除时,因为无法用long long读入一个很大很大的数,所以我们先用读入字符串的方式读入,然后再将字符串的每一位转换成数字。下面是最常见的转换代码:char sa[100];int a[100];int len;gets(sa);len=strlen(sa);for(int i=0;i<len;i++) a[len-i-1]=sa[i]-48;//字...原创 2019-11-12 10:37:15 · 12224 阅读 · 2 评论