摘要: 欧拉定理 1、定义:若a于n互质,则$a^{\varphi(n)}\equiv1 (mod\quad n)$,这里的$\varphi()$为欧拉函数。 2、欧拉函数的证明 我们假设在1~n中和n互质的数是$a_1,a_2 ,a_3,...,a_{\varphi(n)}$ 那么$aa_1,aa_2 , 阅读全文
posted @ 2022-11-16 09:34 wxw_sunming 阅读(123) 评论(0) 推荐(0)
摘要: 快速幂 1、快速幂的作用 快速幂可以帮助我们在$O(\log k)$的时间复杂度内计算出$a^k\quad mod \quad p$的结果。 2、算法原理 首先快速幂我们要处理出$\log k+1$个数,$a^{2^0}mod \quad p,a^{2^1}mod\quad p,a^{2^2}mod 阅读全文
posted @ 2022-11-16 09:31 wxw_sunming 阅读(96) 评论(0) 推荐(0)
摘要: java基础(三)----字符串 阅读全文
posted @ 2022-11-08 15:36 wxw_sunming 阅读(30) 评论(0) 推荐(0)
摘要: #A 思路:这个题的话我们把负数和整数分别求出来,比较绝对值的大小,用较大的那个减去较小的那个就可以了。 #include <cstring> #include <iostream> #include <algorithm> using namespace std; #define int long 阅读全文
posted @ 2022-11-08 15:25 wxw_sunming 阅读(30) 评论(0) 推荐(0)
摘要: 1.一维数组 1.1 一维数组的定义 public class Main { public static void main(String[] args) { int[] a = new int[10], b; float[] f = new float[210]; double[] c = new 阅读全文
posted @ 2022-10-12 17:01 wxw_sunming 阅读(22) 评论(0) 推荐(0)
摘要: 二分 ~~据说百分之九十的程序员写不对二分~~ 那我们今天就来说一下二分查找及二分答案 一、整数集合的二分 1.二分的基本用法 二分的基本用法就是在单调的序列或者函数中进行查找。当答案具有单调性的时候我们也可以将答进行二分,这样可以大大降低时间复杂度。通过二分,我们也可以延伸到三分等等… 2.整数二 阅读全文
posted @ 2022-10-12 11:09 wxw_sunming 阅读(52) 评论(0) 推荐(0)
摘要: @ D - Bits Reverse 题意:给定两个数X和Y,然后把他们变成二进制的形式,然后你可以对X的二进制进行操作,选取任意的三位进行翻转,如果能通过操作使得X=Y的话,那么输出最小的操作次数,如果不能 的话,那么输出-1. 思路:通过分析操作,我们可以知道翻转的话是奇数和奇数,偶数和偶数之间 阅读全文
posted @ 2022-10-12 11:08 wxw_sunming 阅读(35) 评论(0) 推荐(0)
摘要: java语法基础 一、首先我们编写一个java程序 经典Hello World! public class Main { public static void main(String[] args) { System.out.println("Hello World!"); } } 二、语法基础 1 阅读全文
posted @ 2022-09-15 12:41 wxw_sunming 阅读(21) 评论(0) 推荐(0)
摘要: 差分 #一、一维差分 ##1.一维差分的定义 给定一个数组A它的差分数组B的定义为:$$B[i] = A[i] - A[i - 1](2 <= i <= n)$$ ##2.一维差分的操作 一维差分可以让我们在一段区间内加上指定的数,其它位置不变,差分可以帮助我们把“区间操作”变成对差分数组的“单点操 阅读全文
posted @ 2022-09-14 01:04 wxw_sunming 阅读(63) 评论(0) 推荐(0)
摘要: 前缀和 #一、一维前缀和 ##1.前缀和是啥 前缀和其实就是用一个数组S存下数组a的前缀的和,这样话方便以后的查找,提高查找的速度。 ##2.一维前缀的时间复杂度 因为是遍历一遍数组a就可以得到我们的前缀和数组,所以前缀和的时间复杂度是O(n)。 如果是m次查找的话,我们就可以做到O(n+m)的时间 阅读全文
posted @ 2022-09-12 19:25 wxw_sunming 阅读(266) 评论(0) 推荐(0)