随笔分类 - ACM_数论
摘要:在你以为理解mobus的时候,苦苦想通过化简公式来降低复杂度时,这题又打了我一巴掌。 看来我并没有理解到acmicpc比赛的宗旨啊。 这么多次查询可以考虑离线操作,使用树状数组单点更新。
阅读全文
摘要:又是一道经典题. 1.学习了下O(n) 的做法。 2.O(n)预处理,每次查询n^0.5 因为bzoj2693题目找不到了,所以直接用了这题来测试。 这题首先是一个经典的公式变形。 交换连加时变量的位置。 而根据第二个重要的性质,乘性函数的乘除之后还是乘性函数。(加减并不是) 所以后面的连加部分也是
阅读全文
摘要:这题的关键在于推公式。 推出公式并化简后,中等和困难都可以做了。 之前推了一个公式: 然后做中等难度的时候用容斥来了一发。 妹的,为了n^2维护前缀花了接近一天。。。 int sum[N]; memset(sum,0,sizeof(sum)); for(int n=2;n<N;n++) { for(
阅读全文
摘要:经典题。首先得知道最基本的莫比乌斯求1-n和1-m之间有多少互质对 然后根据下面论文 http://wenku.baidu.com/view/fbe263d384254b35eefd34eb.html 将每次查询的时间优化为n^(0.5) 妙啊 妙啊 还有要注意的一点,a,b,c,d不能在最开始的时
阅读全文
摘要:基本的模板题,统计分子分母中p出现的次数,然后求逆元取模.//// main.cpp// fzu2020//// Created by 陈加寿 on 15/12/27.// Copyright (c) 2015年 chenhuan001. All rights reserved.//#inc...
阅读全文
摘要:刚开始看题,想了一会想到了一种容斥的做法。复杂度O( n(3/2) )但是因为题目上说有3000组测试数据,然后吓尿。完全不敢写。 然后想别的方法。唉,最近精神有点问题,昨天从打完bc开始想到1点多,没想到什么好的方法,然后躺床上睡不着,迷迷糊糊又好像挺清醒的,大概想到了用莫比乌斯反演的一种解法,初...
阅读全文
摘要:SumdivTime Limit:1000MSMemory Limit:30000KTotal Submissions:17039Accepted:4280DescriptionConsider two natural...
阅读全文
摘要:裸的pell方程。 然后加个快速幂.No more tricks, Mr NanguoTime Limit: 3000/1000 MS (Java/Others)Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 320Acce...
阅读全文
摘要:刚看到这个题目,有点被吓到,毕竟自己这么弱。分析了很久,然后发现m,k都可以唯一的用d进制表示。也就是用一个ai,和很多个bi唯一构成。这点就是解题的关键了。 之后可以发现每次调用函数f(x),相当于a(ai),b(bi)了一下。这样根据置换的一定知识,一定会出现循环,而把循环的大小看成取模,把从m...
阅读全文
摘要:Hello KikiTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2734Accepted Submission(s): 1010Problem ...
阅读全文
摘要:套模板,因为要是正整数,所以处理一下x=0的情况。X问题Time Limit: 1000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4444Accepted Submissio...
阅读全文
摘要:一个exgcd解决一个线性同余问题,多个exgcd解决线性同余方程组。Strange Way to Express IntegersTime Limit: 1000MSMemory Limit: 131072KTotal Submissions: 12001Accepted: 3797Descrip...
阅读全文
摘要:感觉有些无聊的比赛。A暴力枚举下就行B简单的dp,但是wa了一发后就去先把C做了,然后发现如果输入的100个数,是如1,2,3,4,...,100,然后k=50,个数为c(100,50).果断大数。用了个c++的大数模板,感觉用的很爽。#include #include #include using...
阅读全文
摘要:对于一个素数a,2^a-1叫做梅森数。 如果2^a-1为素数则叫做梅森素数。我们知道,如果a为合数,则2^a-1一定不是素数。2^a-1为素数,则a必为素数。如果a为素数,则2^a-1可为素数,也可为合数。unsigned long long multi_pow(unsigned long long...
阅读全文
摘要:普通的做法,大数除小数。复杂度o( log(n)*log(n) ),其实就是位数的平方。NUMBER BASE CONVERSIONTime Limit: 1000MSMemory Limit: 10000KTotal Submissions: 4913Accepted: 2246Descripti...
阅读全文
摘要:素数定理:随着x的增长,P(x) ≈x/ln(x) ,P(x)表示(1,x)内的素数的个数。这个定理,说明在1-x中,当x大到一定程度时,素数分布的概率为ln(x)竟然还有一道题目。素数个数的位数Problem : 117Time Limit : 1000msMemory Limit : 65536...
阅读全文
摘要:看完题目后,题目要求:设时间为t(x+mt)%L = (y+nt)%L( x-y + (m-n)*t )= k*L (k是整数,可为负)然后就是经典的xa+yb=c 求解x,y的经典题目了。/*xa+yb=c先求 xa+yb=gcd(a,b)如果c%gcd(a,b)不为0,则没有整数解求出x0,y0...
阅读全文
摘要:看了数论第一章,终于搞懂了扩展欧几里德,其实就是普通欧几里德的逆推过程。// ax+by = gcd(a,b) ->求解x,y 其中a,b不全为0,可以为负数// 复杂度:O(log2a)void extendgcd(ll a,ll b,long long &x,long long &y){ ...
阅读全文
摘要:看了ACM-ICPC系列之数论中的定义,取模运算是这样子的。给定一个正整数p,任意一个整数n,一定存在等式 :n = kp + r ;其中 k、r 是整数,且 0 ≤ r 0于是很不开心,写了个程序测试下:1 printf("(7)MOD5 =%d\n",7%5);2 printf...
阅读全文
摘要:经典的题目,主要还是考思维,之前在想的时候只想到了在一个循环中,每次都用最小的来交换,结果忽略了一种情况,还可以选所有数中最小的来交换一个循环。Cow SortingTime Limit:2000MSMemory Limit:65536KTotal Submissions:6511Accepted:...
阅读全文