随笔分类 -  数论

摘要:"数的变换" 暴力算就是了 "用来作弊的药水" 暴力计算,对几个MOD取模hash判断 阅读全文
posted @ 2019-10-22 18:29 yjk 阅读(161) 评论(0) 推荐(0)
摘要:快速阶乘与(扩展)卢卡斯定理 $p$为质数时 考虑 $n!~mod~p$ 的性质 当$n p$时,不妨将$n!$中的因子$p$提出来 $n!$ 可以写成 $a p^e$ , $a$与$p$互质 如何求解$a$和$e$? 显然,$e=n/p+n/p^2+n/p^3+……$ 因为$1$~$n$有$n/p 阅读全文
posted @ 2019-10-22 15:10 yjk 阅读(157) 评论(0) 推荐(0)
摘要:"题目链接" 欧拉定理: 当$a$,$m$互质时,$a^{\phi(m)}\equiv 1 (mod ~ m)$ 扩展欧拉定理: 当$B \phi(m)$时,$a^B\equiv a^{B~mod~\phi(m)+\phi(m)}$ cpp include include include inclu 阅读全文
posted @ 2019-10-21 20:12 yjk 阅读(163) 评论(0) 推荐(0)
摘要:"题目链接" 考虑将所有的$a_1x_1+a_2x_2+……+a_nx_n=B$对$a_1$取模,那么所有可达到的B就分为了$0$~$a_1 1$类 如果对$a_1$取模为$k$的一类$B$中最小的$B$为$dis[k]$,那么$dis[k]+a_1,dis[k]+a_1 2,……$都是可以取到的, 阅读全文
posted @ 2019-10-21 12:06 yjk 阅读(115) 评论(0) 推荐(0)
摘要:"题目链接" 长和宽的gcd(x,y)=1,就没有中间结点,一种线段有两种方向,暴力统计一下就好了 注意x=0或y=0时的线段只有一种方向 cpp include include include include define int long long using namespace std; in 阅读全文
posted @ 2019-10-21 11:59 yjk 阅读(130) 评论(0) 推荐(0)
摘要:solution $y^2 x^2=ax+b$ $y^2=x^2+ax+b$ 当$x^2+ax+b$为完全平方式时$Ans=inf$ $x \leq y$ 不妨令 $y=x+t$ $x^2+2xt+t^2=x^2+ax+b$ $2xt ax=b t^2$ $x\times(2t a)=b t^2$ 阅读全文
posted @ 2019-10-21 11:41 yjk 阅读(177) 评论(0) 推荐(0)
摘要:"题目链接" $solution$ 暴力求每个数有多少个倍数,从大到小,数$i$的倍数有$f_i$个,那么选$1$~$f_i$个同学的答案可以为$i$,取第一次更新的答案最大 cpp include include include using namespace std; const int MAX 阅读全文
posted @ 2019-10-21 11:25 yjk 阅读(102) 评论(0) 推荐(0)
摘要:"题目链接" 生活大爆炸版石头剪刀布 就是个模拟,不说了 联合权值 枚举每个点,统计它任意两个儿子的联合权值,统计的时候维护sum和max就行了 飞扬的小鸟 比较好的DP题,不难想到用dp[i][j]表示到达第i列,高度j的最小点击次数,直接枚举i,j转移到下一列的位置会TLE,需要优化 cpp i 阅读全文
posted @ 2019-10-08 14:49 yjk 阅读(170) 评论(0) 推荐(0)
摘要:"题目链接" 不难发现,每加一个括号,就相当于把括号内一段区间中的符号反转,于是就是看n 1个符号经过k次区间反转后的状态数,用插板法搞一搞就可以了 cpp include include include using namespace std; int n,k; struct Big_int{ i 阅读全文
posted @ 2019-10-07 08:36 yjk 阅读(207) 评论(0) 推荐(0)
摘要:这道题暴力分比较高 将m从1开始枚举,对m取模后判断有多少个重复得数,若 阅读全文
posted @ 2018-11-05 17:12 yjk 阅读(241) 评论(0) 推荐(0)
摘要:这是一套模拟题的$T1$ 看完题我首先想到的是找规律 我人工推了几项后发现了一点鬼畜的规律,然后就打了代码 直到爆零之后发现它不是一道找规律的题 看完题解我感觉无$F K$说 为什么$T1$如此毒瘤~~(其实是我太菜)~~ 题解: 显然根据斐波那契数列,第$50$个字符串的长度一定远超过了$2^{3 阅读全文
posted @ 2018-10-19 09:56 yjk 阅读(152) 评论(0) 推荐(0)
摘要:有趣的数 题目链接 首先求出1~k中有多少个在k前面的数的个数,若>m,则无解 比如12345,从第一位开始, 1 0~1 共2个 1-0+1 12 10~12共3个 12-10+1 123 100~123 共24个 123-100+1 1234 1000~1234 共235个 1234-1000+ 阅读全文
posted @ 2018-08-03 19:36 yjk 阅读(192) 评论(0) 推荐(0)
摘要:乘法逆元 题目链接 求逆元的三种方式: 1.扩欧 i*x≡1 (mod p) 可以化为:x*i+y*p=1 exgcd求x即可 2.快速幂 费马小定理:a^(p-1) ≡ 1 (mod p) a*a^(p-2)≡1(mod p) x=a^(p-2) 即为逆元 3.线性递推: inv[i]=(M-M/ 阅读全文
posted @ 2018-08-03 16:48 yjk 阅读(133) 评论(0) 推荐(0)
摘要:原题图: 看到这个题,首先想到的当然是暴力打表找规律了 表: 1 2 2 4 3 7 4 13 5 24 6 44 7 81 8 149 9 274 10 504 11 927 12 1705 13 3136 14 5768 15 10609 发现上下两个数近似于2倍关系,但f[i-1]*2略大于f 阅读全文
posted @ 2018-08-03 15:24 yjk 阅读(289) 评论(0) 推荐(0)
摘要:7.29NOIP模拟赛 T1 YSG (1s,64MB,ysg.in,ysg.out) 描述 ysg,yxy,azw 三人正在刷题。 他们每做一题的时间都是一个有理数。 如果在某一时刻,三人同时做完一道 题,那么,他们会开始谈笑风生。 现在,他们想知道,从时刻 0 开始,至少要等多久才能谈笑风生。 阅读全文
posted @ 2018-07-29 19:33 yjk 阅读(202) 评论(0) 推荐(0)
摘要:倒水 题目链接 显然,2^x个杯子里的水可以倒在一个杯子里 所以我们可以贪心地每次将N中最大的2^x减掉 减k次(若中途已经为0,直接输出0) 若大于0,用最小的比N大的2^x减剩下的N,即为答案 阅读全文
posted @ 2018-07-27 21:17 yjk 阅读(140) 评论(0) 推荐(0)
摘要:运 【问题背景】 zhx 和妹子们玩数数游戏。 【问题描述】 仅包含 4 或7 的数被称为幸运数。 一个序列的子序列被定义为从序列中删去若干个数, 剩下的数组成的新序列。 两个子序列被定义为不同的当且仅当其中的元素在原始序列中的下标的集合不 相等。 对于一个长度为N的序列, 共有2^N个不同的子序列 阅读全文
posted @ 2018-07-26 16:10 yjk 阅读(197) 评论(0) 推荐(0)
摘要:末日的传说 题目描述 n位数最多构成n*(n-1)/2个逆序对 首先二分答案求出需要改动的位数k最少是多少 将前面不需要改动的位输出 再算一下构成(k-1)*(k-2)/2个逆序对后还剩多少逆序对 若剩x,就将剩下的数中第x大的数先输出,这样就又构成的x个逆序对 剩下的数倒序输出 少用long lo 阅读全文
posted @ 2018-07-24 18:39 yjk 阅读(161) 评论(0) 推荐(0)
摘要:产生数 题目链接 本着“水题不可大做”的原则,我直接字符串hash+爆搜,成功爆栈。。 我们发现,依次搜索每一位能取到的数字个数,最后乘起来即可(乘法原理) 然后又爆了一个点。。 long long存不下!! 于是我面向数据编程,看到输出的数后面有很多0 就产生了这个神奇的骗分做法 阅读全文
posted @ 2018-07-24 14:22 yjk 阅读(459) 评论(0) 推荐(0)
摘要:火柴排队 题目链接 ∑(ai​−bi​)^2=∑ai^2-2*∑ai*bi+∑bi^2 显然∑ai^2+∑bi^2是不变的,我们要让 2*∑ai*bi最大,才能使原式最小 然后我们一眼就可以看出来, 当第i大的ai与第i大的bi一一对应时,∑ai*bi最大 反正我不会证 知道了对应关系后,于是就成了 阅读全文
posted @ 2018-07-24 14:03 yjk 阅读(133) 评论(0) 推荐(0)