自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2024年东北师范CCPC

思路:题目说有平方和开方两种操作,如果这个数是平方数,那么它开方之后就只能开方,如果平方的话就重复了,反之就有开方和平方两种操作。思路:因为k的范围就20所以就可以暴力枚举k有几个1,然后把A中1的个数加入,再转成二进制,看d与b是否相等。思路:这个题是个博弈题,我们可以发现想让brz赢就要让他取石子,1,2,3。都是偶数,因为这个题要求异域和,但是两人都足够聪明所以brz不可能赢。

2024-06-01 21:14:48 633

原创 组合数模板

1.递推法 杨辉三角。范围小于2000可用。

2024-06-01 18:51:26 98

原创 二分查找与模板

(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。

2024-05-31 17:20:39 433

原创 2024年西安交通大学程序设计校赛

思路:这个题题意虽说到了树但其实就考了一个贪心,可以把他给的支配关系用数组存起来,然后找到最多的数,就把这个数当成父节点就行了。思路:这个也是一个贪心题,就是让给的数从后往前遍历,如果是0就直接输出,不是就把这个数存到下标为这个数的后面。

2024-05-29 18:32:40 842 1

原创 2022ICPC(南京站)

思路:这个题是个贪心题,就是但你遇见0时最好把它变成-1,可以使最后攻击力最大,我们可以当数量大于1时,遇见0就把0变成-1,当数量等于1时遇见-1可以吧0变成-1的反悔成0变成1的就行了。思路:这是一个签到题比较简单,只要判断出字符串中出现最多的字符,然后再让字符总数减去就行了。

2024-05-28 19:29:49 296

原创 2023广东省大学生程序设计竞赛

关键在于 check 函数,它可以这么写:题目中说每次只能向右或向下走,所以每一步的横坐标肯定都大于等于上一步,可以使用一个变量y记录,因此当某个点小于 check 函数传入的答案并且当前点的横坐标要比前一个小时,就说明这个答案不对,否则当前点的横坐标大于等于前一个时,更新 y。思路:这个题其实也是贪心,就是按满意度差值排序,按后用前缀和维护一下,最后遍历一遍就出来了。思路:这个题就是考了一个贪心和双指针,就是每次到最便宜的商店去买,到最贵的商店卖,A题:签到提直接模拟就行了。直接暴力DFS就行了。

2024-05-28 09:25:17 492

原创 同余定理算法

给定一个正整数m,如果两个整数a和b满足(a-b)能够被m整除,即(a-b)/m得到一个整数,那么就称整数a与b对模m同余,记作。【定义】 设m是大于1的正整数,a、b是整数,如果m|(a-b),则称a与b关于模m同余,记作a≡b(mod m)。两个整数a、b,若它们除以整数m所得的余数相等,则称a与b对模m同余或a同余于b模m。对于同一个除数,如果有两个整数同余,则这两个数的差能被这个除数整除。对于同一个除数,如果有两个整数同余,则它们的乘方仍然同余。对于同一个除数,两个数的乘积与它们余数的乘积同余。

2024-05-26 12:13:30 198

原创 快速幂求逆元与逆元

2024CCPC郑州邀请赛-Problem H. 随机栈用到了逆元但当时没有想到没有写出来。写的是多个数求乘法逆元而快速幂求逆元用于单个数求乘法逆元。逆元是对分数取模用的。

2024-05-26 10:22:38 343

原创 乘法逆元算法

有些云里雾里的那个取正整数的地方,好多地方都是公式推理和验证定理的正确性,看不懂,初等数论再说!乘法逆元的意思就是给出两个数a,b如果a,b互质(就是两个数的最大公约数是1)那么就有。1(mod 5),x=2,7,12.....x的每个值都差5;可以用费马小定理来推导乘法逆元我就不细讲了想知道可以看这个博客。这个题必须用scanf和printf要不然超时。就是必有a*x%b==1;

2024-05-22 20:47:51 726 1

原创 位运算用法

因为这个题是说有16个高位和16个低位所以用int类型肯定不可以因为int范围是。看了^运算符的用法以后就知道两个相同的数^就等于零所以最后cnt就是这题结果。因为<<和>>符号不好理解所以我举个例子。0 0000 转换成十进制也就是。这两个类型的具体差别可以看这篇博客。可以让你更好理解这两个运算符。还有一个关于^这个运算符用法。位运算在代码中可以简化代码。unsigned这个范围是。

2024-05-21 20:58:45 628 1

原创 分解质因数--试除法

把一个合数分解成若干个质因数的乘积的形式,即求质因数的过程叫做分解质因数。:从小到大枚举所有数(尝试x的所有因数)代码时间复杂度最快是O(logn)

2024-05-20 17:11:33 362 1

原创 第六届CCPC河南大学生程序设计竞赛部分题解

思路:首先可以判断每个数位上的数是否有偶数,如果有就可以把偶数放在最后一位上,这样就可以满足题意了,但如果数位上有零的话就把零最后输出,如果全是奇数,就输出97531.思路:这个题其实就是一个二分模板,可以吧绝对值去掉然后得到两个不等式,再根据两个不等式二分K,就行了,但在比赛时可能是紧张了没有想到就没有写出来。思路:可以先定义一个哈希数组把每一轮买地雷探测器需要的扫雷币存起来,再对每一轮买地雷探测器需要的扫雷币的数组排序,然后模拟就行了。思路:这个题是签到题根据题意模拟就行了。

2024-05-17 14:25:25 214 1

原创 单链表遍历,建立,插入,删除

有人可能会有疑问,不是说链表只是在逻辑结构上是连续的,在物理存储结构上是不连续的,那为什么上图中一个个结点明明是挨在一起的,那么它在物理存储结构上肯定是连续的呀,其实不然,上图是为了方便大家理解,才用线条连接了结点,实际上在内存中,每个结点可能会隔得很远,仔细观察每个结点上面的红色文字,那就是这个结点的地址,而蓝色文字是下一个结点的地址,很明显能看到这两个结点并不是相邻的,因此也验证了顺序表在逻辑结构上确实是连续的,但在物理存储结构上确实是不连续的。链表是由一个个结点组成的.一个个结点串成了链表。

2024-05-14 13:59:29 364 1

原创 字符串哈希与数据类型 unsigned long long

这个数据类型的范围是【0,2^64-1】如果超出这个范围就相当于对2^64-1取模,这个数据类型可以用于需要被大正数取模的运算,比如字符串哈希。(2)前缀和h[i]=h[i-1]*p+s[i],h[0]=0;如果用unsigned long long类型就不用取模了。(3)区间和 h[l,r]=h[r]-h[l-1]*字符串哈希就是把字符串映射成一种进制数字。洛谷P3370模板题。

2024-05-06 16:20:22 762

原创 2023年中国大学生程序设计竞赛女生专场

这个题我看了一个大佬的思路,运用了前缀和和哈希思维代码如下。这个题非常像全排列,然后我用的DFS代码如下。要记得开longlong。

2024-05-05 20:30:11 407 2

原创 第17届BIT校园编程竞赛-现场赛(The 17-th BIT Campus Programming Contest - Onsite Round)

此时想要达到最小的底盘高度显然是使得左轮 胎贴在路边,通过 l=sqrt(w*w-b*b)即可得到倾斜在墙壁上的车在地面的投影长度。观察题目易知把某个非z的字符更改为z一定是最优的策略,对于该串的每个后缀来说,尝试更改它每个 后缀中第一个非Z的元素再与当前最大值比较即可,时间复杂度O(n^2)2. 否则,将左轮放置在路面的最左侧,右轮放置在墙壁距离端点l-a 处,通过相似比即 可算出此时底盘的高度为 (l-a)*b/w。1. 墙壁高度>= 车宽,无法借助墙壁,输出-1。

2024-05-04 19:37:40 645 1

原创 哈希表hash

1) 搜索:1.无哈希碰撞,直接用哈希函数通过Key定位到内存地址,复杂度O(1) 2.有哈希碰撞,因为存在内存地址需要通过链表查询,复杂度O(N)哈希表中的key通过哈希函数得到内存地址,然后将key和value放到对应的内存地址,从而实现通过key获取Value的方式。2) 插入:通过key找到内存地址插入即可,复杂度 O(1)--自动插入。哈希表中关键码就是数组的索引下标,然后通过下标直接访问数组中的元素。

2024-04-29 17:46:49 592

原创 最大公约数与最小公倍数

(2)c++语法中有__gcd(a,b)这样一个函数返回值就是最大公约数这个函数在#include中。如果要求两个数的最大公约数有两个办法。最小公倍数等于a*b/最大公约数。

2024-04-29 12:28:17 240

原创 快速排序算法

快速排序跟归并排序一样其实都是是一种分治算法,那么在了解快速排序之前,我们先来看看什么是分治算法。在算法设计中,我们引入分而治之的策略,称为分治算法,其本质就是将一个大规模的问题分解为若干个规模较小的相同子问题,分而治之。跟我上一篇归并排序差不多。

2024-04-28 21:09:04 222

原创 归并排序算法

这个图就可以很好地解释先把要排序的数组分成子数组,当子数组里只有一个值时就可以合并了因为一个属就是有序的。归并排序运用的是分治的思想。

2024-04-28 20:27:58 266

原创 快速幂算法

如果这样写就会错比如2^100它会爆longlong所以要用取模规则。但是如果是2^1000000000它就会超时此时就可以换一种写法。首先,我们先来看一道ACM程序设计题,这道题是。比如(2*2)^500000它还可以更加的简便。

2024-04-27 19:45:22 352

原创 L1-104 九宫格

分数 20全屏浏览切换布局作者 陈越单位 浙江大学九宫格是一款数字游戏,传说起源于河图洛书,现代数学中称之为三阶幻方。游戏规则是:将一个 9×9 的正方形区域划分为 9 个 3×3 的正方形宫位,要求 1 到 9 这九个数字中的每个数字在每一行、每一列、每个宫位中都只能出现一次。本题并不要求你写程序解决这个问题,只是对每个填好数字的九宫格,判断其是否满足游戏规则的要求。

2024-04-24 20:27:44 241 2

原创 L1-059 敲笨钟

题目微博上有个自称“大笨钟V”的家伙,每天敲钟催促码农们爱惜身体早点睡觉。为了增加敲钟的趣味性,还会糟改几句古诗词。其糟改的方法为:去网上搜寻压“ong”韵的古诗词,把句尾的三个字换成“敲笨钟”。例如唐代诗人李贺有名句曰:“寻章摘句老雕虫,晓月当帘挂玉弓”,其中“虫”(chong)和“弓”(gong)都压了“ong”韵。于是这句诗就被糟改为“寻章摘句老雕虫,晓月当帘敲笨钟”。现在给你一大堆古诗词句,要求你写个程序自动将压“ong”韵的句子糟改成“敲笨钟”。

2024-04-22 19:15:42 177

原创 sort自定义排序

sort(第一个变量填的是排序的首地址,第二个变量填的是排序的尾地址。sort(第一个变量填的是排序的首地址,第二个变量填的是排序的尾地址。sort函数是c++算法库中的函数竞赛中比较常用。意思是先对结构体里a升序如果a相等对b升序排。),第三个填一个bool函数)因为sort函数是前闭后开的。因为sort函数是前闭后开的。比如下边代码就是降序排序。2,sort自定义排序。1,最基本的排序方法。

2024-04-09 19:07:19 167

原创 线性筛欧拉筛

欧拉筛是一种素数筛是竞赛中常用的一种算法时间复杂度是O(n)是一种比较快的筛法,素数筛的模板如下。洛谷p3383是例题。

2024-04-09 17:57:22 82

原创 DFS深度优先搜索1

DFS即Depth First Search,深度优先搜索。简单地理解为一条路走到黑。那么什么叫一条路走到黑呢?假设我们想在如下的地图中走出一条最长的路,那么最粗暴的方式就是枚举出每一种情况。因此,按照DFS一条路走到黑的思想,我们将会出现如下路线:先走A,然后到B,到了B有三种情况,意味着这条路还没走完,那我就接着走,从B走到E,走到E之后没路了。那我就回溯到B,为什么呢?

2024-04-06 19:59:46 409

原创 时间复杂度计算

时间复杂度的定义:在计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。

2024-04-06 19:02:44 258 2

空空如也

空空如也

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

TA关注的人

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