- 2024-10-312024.10.31总结
本文于github同步更新。最后一天喽A:卡双模哈希
- 2024-10-26CSP 考前注意事项
考试策略J组争取在\(10:00\)之前把所有题目稳定拿下。如果有题目没有思路、比较难写还没调出来或者想不出来,那么可以先放着,跳题。把其他所有题打完之后写个对拍,挂后台一直拍着。然后剩下的2h内先去上个厕所,洗把冷水脸,放松一下,吃个巧克力,全力去冲没写出来的题目。如果\(10
- 2024-10-24关于模数
关于模数对于模数\(p\)\(p=998244353\)则是一个可以使用NTT的问题\(p>10^7,p\in\mathbbP\)则是一个可以使用除法的问题\(p>10^7,p\not\in\mathbbP\)则是一个不能使用除法的问题\(p=2^{64},p=2^{32}\)则是自然溢出,且可能出现取模后一定等于\(0\)的性质。
- 2024-10-162024.10.16 鲜花
PRAGMATISM-RESURRECTION凭什么没词就不是好歌!!!取模优化就不讲怎么减少取模了。比较广为流传的有两种,Barrettreduction,MontgomeryAlgorithm。对于固定常数模数,计算机已经优化的很好了,一般不会有太大效果(确实有,用Barrettreduction有时可以卡常)。对于输入的固定模数(即
- 2024-10-10「模拟赛」A 层多校联训 4(卖品:CTH)
双倒一啦!感觉这次最大的错误就是没看T2。(本质原因还是时间浪费的太多了)赛时记录在闲话啦accoder多校比赛链接02表示法唐诗题!考高精的人都\(**\),输出深度优先搜索解决。高精乘2、高精减。子串的子串官方题解写的不好,放一下Ratio的好吃题解:意思就是:\(ans_{l,r-1}\)
- 2024-10-09多校 A 层冲刺 NOIP2024 模拟赛 04
多校A层冲刺NOIP2024模拟赛04T02表示法签到题记得有一道普及题是没加高精的原吧...将原数高精除变为二进制,然后记搜就好了。T子串的子串签到题注意到\(n\)很小支持\(O(n^2)\)的操作,可以直接预处理出所有\(l,r\)的个数,预处理方式可参考数颜色一题,对于相同的子串只记
- 2024-10-09ACC 4
CRT竟然只要求模数互质,赛时受exLucas影响以为CRT要求模数都是质数(这下致敬K8了A懒得喷B扫描字符串,维护\(c_i\)表示到当前扫到的位置为止,有多少种字符串的最后一次出现左端点在\(i\),则询问\([l,r]\)的答案即为扫到\(r\)时\([l,r]\)的区间和。复杂度\(O(n^2+
- 2024-09-182.2hash
算法理解将一个字符串,转化成数字,这样可以省去一个一个字母比较的复杂度。数位哈希将一个字符串中的一个元素看成一位数,把整个字符串,看成是一个p进制数,由于可能这个字符串对应的数太大了,所以我们需要取模运算,但是有可能就会有两个不一样的字符串数值相等,就是哈希冲突取模有两种
- 2024-07-22线性同余方程组
线性同余方程组基本问题是求解形如下面的线性同余方程组\[\begin{aligned}\begin{cases}x\equiva_1\pmod{p_1}\\x\equiva_2\pmod{p_2}\\...\\x\equiva_n\pmod{p_n}\end{cases}\end{aligned}\]在\(\operatorname{OI}\)中有广泛的应用
- 2024-07-14Day1小结(7.13)
第一题主要是全天打比赛,讲题,练手感关于一些细的总结经验,具体看每题的讲解。 早上T1(0)https://www.cnblogs.com/didiao233/p/18300538打了个暴力,但是忘记模数了,爆0(正常能拿45),所以以后一定要记得模数赛场考虑到了分类,由于麻烦没往下写听完讲解之后发现可以找规律,但是赛场也
- 2024-07-12[NOIP2014] 解方程
思路首先我们可以观察到\(n\)和\(m\)与\(a_i\)相比小的很多,所以我们可以考虑直接暴力求解但是\(a_i\)太大了,所以如果需要直接计算的话需要全程使用高精度算法。因为高精度算法代码量有大速度又慢我们可依考虑将\(a_i\)转化为一个极大的指数取模的结果,因为只有是模数的
- 2024-05-04题解:ssy的队列
题目链接题目描述SSY是班集体育委员,总喜欢把班级同学排成各种奇怪的队形,现在班级里有\(N\)个身高互不相同的同学,请你求出这\(N\)个人的所有排列中任意两个相邻同学的身高差均不为给定整数\(M\)的倍数的排列总数。输入格式共三行:第一行为\(N\)第二行为\(N\)个不同的
- 2024-04-28hash hash hash : ))
hash:hash简述,大概就是把一个字符串映射到一个整数上(这个整数就是一个自定义进制(mode)的数),通过比较该整数匹配字符串,这样可以实现字符串之间的O(1)匹配.为什么要按位处理,因为这样方便分离字串.怎么映射?就是将每位(i)分离乘上\(mode^{(i-1)}\),得到的映射整型就是这个字
- 2024-04-20双模数问题 题解
Statement\(S(n,m)=\{k\midk\in\mathbbN^+\landn\bmodk+m\bmodk\gek\}\),求\(\varphi(n)\varphi(m)\sum_{k\inS(n,m)}k\pmod{998244353}\)(\(n,m\le10^{15}\))Solution欧拉函数怎么求就不说了,可以\(\mathcalO(\sqrtn)\)解决\(n\bmodk+m\bmodk
- 2024-04-10STM32-模数转化器
ADC(Analog-to-DigitalConverter)指模数转换器。是指将连续变化的模拟信号转换为离散的数字信号的器件。ADC相关参数说明:分辨率:分辨率以二进制(或十进制)数的位数来表示,一般有8位、10位、12位、16位等,它说明模数转换器对输入信号的分辨能力,位数越多,表
- 2024-04-10【模板】任意模数多项式乘法:三模 NTT
前置知识https://www.cnblogs.com/caijianhong/p/template-crt.htmlhttps://www.cnblogs.com/caijianhong/p/template-fft.html题目描述任意模数多项式乘法solution首先我们打开https://blog.miskcoo.com/2014/07/fft-prime-table这篇文章找到\(998244353\)附近的几个质
- 2024-04-08公钥私钥和模数指数相互转换
pem格式公钥私钥读取解析公钥私钥pem格式加解密示例根据私钥pem生成模数和指数NED生成模数和指数NED的公钥私钥NED导出pem格式#include<SylixOS.h>#include<stdio.h>#include<crypto.h>#include<mbedtls/ssl.h>#include<mbedtls/platform.h>
- 2024-03-18CF999D Equalize the Remainders 题解
题意给定一个长度为\(n\)的序列和一个模数\(m\),记\(c_i\)表示\(\bmodm\)后的结果为\(i\)的数的个数。现在可以使每个数增加\(1\),请问最少要操作多少次才能使所有\(c_i=\frac{n}{m}\)。并输出最后的序列。First.如何最小化操作次数由于每次操作会使\(c_{a_i\bm
- 2024-02-27【模板】任意模数多项式乘法
题目描述给定\(2\)个多项式\(F(x),G(x)\),请求出\(F(x)\timesG(x)\)。系数对\(p\)取模,且不保证\(p\)可以分解成\(p=a\cdot2^k+1\)之形式。题解可以用快速数论变换NTT算法,关键在于取的那个素数。由于系数最大为\(10^5\times10^{9+9}=10^{23}\)所以可以
- 2024-02-22NTT学习笔记
NTT好吧,本质上就是FFT,把单位根换成了原根(不是很理解但是就是记住就行)优点能取模,FFT的复数你给我来取个模没有精度差,FFT浮点数的精度怎么也会出一点问题由于均为整数操作(虽然取模多),NTT常数小,通常比一大堆浮点运算的FFT要快缺点多项式的系数都必须是整数模数有限制,NTT题的模
- 2024-02-17【多项式】任意模数 NTT/FTT
现在有两个整数多项式\(A\),\(B\),\(0\lea_i,b_i\le10^9\),\(n\le10^5\),求它们的卷积,同时系数对\(p\le10^9\)取模。我们会发现,最终的系数可能会达到\(10^5\times10^9\times10^9=10^{23}\)级别,FFT会爆longdouble的精度;NTT,由于模数无特殊性质,完全不能使用。接
- 2024-02-06CF1264F Beautiful Fibonacci Problem
一道比较Beautiful的结论题,初始感觉难以下手,做了后认为在CF3500中不算很难的(逃看到题目中“后18位的子串”,很明显的,我们要求一下Fibonacci数列${mod}10^k$的循环节。实践打表证明这个循环节为$1.5*10^k$但是我们需要一个随Fibonacci下标线性增加,$mod10^k$的值也线性增加的
- 2024-01-14「杂谈」字符串 Hash
我们常用的字符串Hash形如:\[f(s)=\sum_{i=1}^{n}s_i\timesb^{n-i}\bmodp\]但是经常有人写出不正确的Hash。举例说明,以下Hash是不正确的:自然溢出Hash。固定底数和模数,模数是\(2^{64}\)级别的Hash。固定底数和模数,模数数\(2^{32}\)级别的双Hash。具
- 2023-12-17android 获取模数
背景:政策要求App要备案。1.根据阿里云文档[获取App特征](https://help.aliyun.com/zh/icp-filing/fill-in-app-feature-information),我们需要使用JadxGUI工具,于是我们搜索JadxGUI如何安装使用,接下来就开始安装。2.下载JadxGUI源码,[原文](https://www.jianshu.com/p/3cc4e861b3db)
- 2023-12-02P1017 [NOIP2000 提高组] 进制转换
P1017[NOIP2000提高组]进制转换负进制也一样用短除法转换,但是余数得保证是正数,不然没法用这个方法。在求余的过程中加入处理:如果负数,余数减去一个模数,上一次的商先加上一个模数再去除模数得到本次商。比如对于\(10\)到\(-2\)进制的转换。第一次短除\(-2\),余\(0\)