自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 AcWing273 分级

给定长度为 N 的序列 A,构造一个长度为 N 的序列 B,满足:1. B 非严格单调,即 B1≤B2≤…≤BN或 B1≥B2≥…≥BN。2. 最小化 S=∑Ni=1|Ai−Bi|只需要求出这个最小值 S。

2024-08-13 11:21:25 372

原创 欧拉定理和拓展欧拉定理

给你三个正整数,a,m,b,你需要求:a^b mod m(对于 100% 的数据,1≤a≤10^9,1≤b≤10^20000000,1≤m≤10^8)因为b的数值太大,所以用拓展欧拉定理,拓展欧拉定理的第二种情况正好给b降幂。特别的:当m是质数时,

2024-08-08 15:45:44 181

原创 中国剩余定理(普通和拓展)

举个例子,如果建了 3 个猪圈,剩下 1 头猪没有地方安家。如果建造了 5 个猪圈,但是仍然有 1 头猪没有地方去,然后如果建造了 7 个猪圈,还有 2 头没有地方去。然后根据步骤运算就可以了,其中用到了extend_gcd(ps:这个真的好常用啊!

2024-08-06 11:11:33 123

原创 威尔逊定理

刚开始,我将need[ ]大小设为3000000,然后下面给need赋值也循环3000000次,明显超时而且超内存,后面发现将上面有prime[ i ](输出need[ n*3+7 ])改为prime[ (i+7)/3 ](输出need[ n ])这样就可以缩小need的大小了。2. p是大于4的合数时,后面为整数,前面为略大于后面的小数,向下取整为0。1. 当p为质数时,前面是整数,后面向下取的整数,结果为1。所以只要统计p是质数的个数就行。

2024-08-05 20:00:43 270

原创 高精度快速幂

原题:洛谷P1045 [NOIP2003 普及组] 麦森数。

2024-08-05 16:37:46 173

原创 线性筛素数

下面也是线性筛,两者效率差不多。

2024-08-05 15:24:50 110

原创 Modulo Ruins the Legend(exgcd问题)

格莱美有一个整数序列 a1,a2,…她认为序列中的元素太多,因此决定在序列中加入一个算术级数。从形式上看,她可以选择两个非负整数 s,d,并在每个 k∈[1,n] 的基础上将 s+kd 加到 ak 中。由于我们想破坏图例,请告诉她操作后元素 modulo m 的最小和。注意,应在取模后将和最小化。其实通过分析就可以列出一个式子。

2024-08-02 19:58:23 148

原创 快速幂(逐次平方法)

【代码】快速幂(逐次平方法)

2024-08-02 19:50:36 101

原创 欧拉函数的sigma函数

并且如果gcd(m,n)=1,则。

2024-08-02 09:55:00 198

原创 nowcoder—来点gcd

给定一个有 n个元素的多重集 S,有 m个询问,对于每个询问,给出一个整数 x,问是否能选择 S 的一个非空子集,满足这个子集的 gcd 等于x,当集合只有一个数时,设这个集合的 gcd 就等于这个数,gcd(x,y)的值为x,y的最大公约数。这里其实就是从1开始遍历,判断是否 i 能成为由另两个数组成的gcd,而 i 要能被gcd出来,那一定是要被i的倍数gcd出来,因此,这个判断条件就是判断第一个存放S的数组里面是否有 i 的倍数的这个元素。中途如果找到了,其实可以直接退出的,不用继续循环了。

2024-08-01 15:54:55 222

原创 AcWing197 阶乘分解

代码如下。

2024-07-31 14:51:40 130

原创 AcWing203 同余方程

为了找到 x,我们首先需要确保 a 和 b 互素(即 gcd⁡(a,b)=1),因为只有在这种情况下,模反元素才存在。对于 ax≡1(modb)来说,存在唯一 x 满足这个方程。因此,可以直接x=((x%b+b)%b)对于另外一种情况:如果同余方程的一般形式是 ax≡c(modb),其中 c 不是 1,那么需要找到一个 x 满足这个方程。求关于x的同余方程ax≡1(modb)的最小正整数解。输入只有一行,包含两个正整数a,b,用一个空格隔开。输出只有一行,包含一个正整数x,表示最小正整数解。

2024-07-31 10:24:05 309

原创 欧几里得—欧几里得拓展—线性同余方程

即如果a、b是整数,那么一定存在整数x、y使得ax+by=gcd(a,b)。欧几里得算法:辗转相除法,用于求两个数的最大公约数。裴属定理:ax+by=gcd(a , b)线性同余方程是最基本的同余方程,形如。)的未知数是 x 的同余式。

2024-07-30 16:02:02 216

原创 赫夫曼树和赫夫曼编码

是一种变长编码,即不等长编码,赫夫曼编码是赫夫曼树的应用之一。赫夫曼编码的特点是没有任何字符的编码是其他字符编码的前缀,所以赫夫曼编码也称为前缀编码。是一种带权路径长度最短的二叉树,也称为最优二叉树。4.根据赫夫曼编码对字符进行编码。3.根据赫夫曼树生成赫夫曼编码。1.统计字符出现的次数。

2024-07-24 10:05:18 217

原创 贪心算法(Load Balancing)

每个测试用例都包含一个整数 N (1<=N<=100000) 和 M (1<=M<=100)。接下来的 N 行包含整数,表示作业 T1、T2Tn 的时间。在这道题,还遇到了一个小插曲,刚开始我用c++写,oj判定超时,想了不少办法简化代码,没有用,后来把输入输出语句改成c语言,就通过了,至少节约800MS的时间,很夸张!对于每个测试用例,首先输出 N,随后的 N 个数字表示我分配给哪个服务器的工作。但是,正如 Wiskey 所知道的,这种寻找最小差距分配的调度问题是 NP 困难的。

2024-07-24 09:58:34 209

原创 Nim尼姆博弈

现在我们不想研究到底先手为胜还是为负,我只想问大家:“先手的人如果想赢,第一步有几种选择呢?sum==0时,先手输,sum!桌子上的扑克全部取光,则游戏结束;下面是一个二人小游戏:桌子上有。这一类型的游戏称为尼姆博弈。

2024-07-22 19:37:32 181

原创 Josephus problem约瑟夫环问题

问题形式:N个人围成一圈,从第一个开始报数,第K个将被杀掉,最后剩下一个,其余人都将被杀掉。当然,当n=0时,jose自然等于0,易得n=1时,jose自然也等于1。每一个n,都能与n-1产生联系,从而根据此写出代码。

2024-07-22 16:45:15 105

原创 为什么要用memset

但是,测试用例全部可以通过,检查了很多次也没有问题,但就是不可以AC。因此,建议以后都使用memset去初始化数字。后来,去找了一下原因,发现用memset。

2024-07-22 16:19:10 149

原创 高精度算法(乘法)

【代码】高精度算法(乘法)

2024-07-18 08:45:27 111 1

原创 初次认识subplots

这里 plt.subplots( )里面前两个变量表示的是1行3列,figsize(9,3)表示尺寸为9(横)3(竖),sharex或sharey表示是否共享x轴或y轴。值得注意的是,之前的plt.title()是给整张图命名,而这里我们要set_title()来命名。接下来描点或划线的步骤就和之前的plt一样了。我这里以多元线性回归为示例。

2024-03-24 10:48:59 186 1

原创 NumPy的简单使用

【代码】NumPy的简单使用。

2024-03-19 13:32:49 112

原创 线性回归模型

shape函数是Numpy中的函数,它的功能是读取矩阵的长度。plt.scatter用来打印点,提供点,marker(点的样子),color,label。plt.plot用来打印直线,提供起始点,color,label(名称)plt.legend(loc=" ")用来确定点或线的注释区的位置。当然,在此函数里我添加了多次打印,用来表现函数图象的变化。根据此函数,获得当前w,b的cost value。在这里(2,3)表示的是2行3列。最后,我们用代码打印出最终的函数。

2024-03-19 11:17:52 180

原创 Python:list assignment index out of range

此代码运行结果报错IndexError: list assignment index out of range。报错原因:在使用python进行列表操作时,不能直接对空数组指定位置。解决方案:用append()函数。

2024-03-17 11:55:02 440 2

原创 nextLine()未执行

实际上是因为我打的2.1后有一个回车,而这个回车被nextLine()吞掉了,所以在nextLine前在加一个nextLine来吞掉这个回车即可。

2024-01-21 19:49:56 490

原创 高精度运算(加法)

高精度运算,数字位数已经爆了(超过了long long型能表示的最大位数),所以用小学四则运算列竖式的方法进行运算。

2023-12-26 14:24:18 341 1

原创 构造函数、析构函数、拷贝函数(拷贝赋值和拷贝构造函数)

下面给一个String类: 构造函数无返回值类型,且在创建对象时被自动调用。当我要使用构造函数的时候,应该如下:当对象离开作用域或被显式地删除时,析构函数被自动调用防止内存泄漏拷贝构造函数下面的拷贝构造函数为深拷贝,使用浅拷贝会发生内存泄漏拷贝赋值函数这里相较于拷贝构造函数的区别是,已经创建好了两个object,我们要先把一个清空,在进行拷贝构造函数的步骤这里检测自我赋值是很有必要的,因为如果this=&str的话,那二者所指向的地址是一样的,一旦进行delete

2023-12-19 11:34:25 492 1

原创 创建动态数组

利用vector(不用自己输入数组大小,数组大小自动扩大)

2023-12-18 23:59:06 544

原创 操作符重载&&return by reference

如果c1+=c2+=c3:在这里,为什么操作符重载的返回值不能是void呢?因为,+=最后还要把结果赋值给前者,所以c2+=c3结果的值又要作为参数传递,所以要与操作符重载函数的形参类型相同。如*ths是一个值,而complex&是reference,这是没关系的。在c++里,利用操作符重载,操作符就相当于一种函数。传递者无需知道接受者是以reference形式接受。如:c1(this)+=c2。

2023-12-18 23:22:00 376

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除