自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 常用STL容器函数

find()(从开头开始查找)和rfind()(从末尾开始查找)查找函数。empty() 如果队列空则返回true反之返回false。front() 返回队列中的第一个元素。back() 返回队列中最后一个元素。push() 在队尾插入一个元素。size() 返回队列中元素个数。pop() 删除队列第一个元素。这个容器可以自动排序和去重。substr()截取函数。insert()插入函数。erase()删除函数。erase()删除函数。

2024-07-25 19:32:48 178

原创 河南萌新联赛2024第(二)场:南阳理工学院

这一次比赛中间的题都是大模拟,用stl容器比较多,而我stl用的不好导致模拟题没写出来,当时连两个容器一起怎么遍历都不知道,别说写了,赛后我要好好学一下容器,要不然只用数组对于一些大模拟题太吃亏了。

2024-07-25 18:34:23 946 5

原创 vector(STL)

typename是类型名。

2024-07-24 19:59:21 172

原创 求组合数(三种模板)

这个题肯定不是暴力写的,而是要找规律,然后我先打表看一下。这个方法比较暴力数据范围2000以内可用。i是偶数的和,我们看到n<=10。然后我又打表发现奇数和也是2。还有这样一个题求n以内C。看此题不难发现规律就是2。,然后用快速幂求解就行了。

2024-07-23 09:26:50 357

原创 Codeforces Round 960 (Div. 2)

这次比赛比上一次打的还要失败,当时第一题是一个博弈,先wa了一发,但是我看了一下发现了bug,改正好后样例明明就过了,但我交了说我第一个样例就没过,我就非常着急,看来半个小时发现数组开小了,但它居然给我报样例错误,非常无语,第一题就写了一个小时,心态直接炸了,然后第二题思路想错了,最后就写了一个题。

2024-07-21 17:07:40 492

原创 set与bitset用法

查找时返回数据类型是指针型,当找到时返回下表,反之返回.end。所有元素在插入时,会自动升序排序,并会自动去重。

2024-07-21 12:51:37 134

原创 最长上升子序列模板(LIS)

,如果范围比较大一点的题就会超时,所以可以用模板2来写二分写的话时间复杂度是O(n*logn)用动态规划来求嗯这里不再过多解释,哔哩哔哩董晓算法老师讲得非常好可以看看。用二分来求嗯这里不再过多解释,这个也是董晓算法老师讲的比较好。用动态规划来写的话时间复杂度是O(n。就是求一个数组的最大上升子序列。

2024-07-19 11:01:29 580

原创 最长公共子序列和最长公共子串模板(LCS)

我觉得这个代码有一些问题,比如给你两个字符串a(abcefg),b(cde),你输入时先输入a再输入b跟先输入b再输入a结果不一样,一个正确一个错误,读者自选看或不看。就是求两个字符串的最长公共子序列。

2024-07-18 19:27:03 303

原创 河南萌新联赛2024第(一)场:河南农业大学

这个题其实我们不用管边数,因为可以无数次删除边,我们先把所有的边都删除,然后连接成两个联通块,我们要使两个联通块的值尽可能相近,这样才能让两个联通块的乘积尽可能大。一开始比赛时我用贪心写的但一直不对,然后结束后看了别人代码暴力直接过了,就是先把数组异域和求出然后再循环数组2重循环1到n/i,就可以过了,可以从n往前倒推,当n是偶数是除2,当n是奇数时-1再除2,如果最后n等于2时特判直接操作+1结束。我们知道除以一个数等于乘以它的倒数,所以就是用有限的t步让他变小,就是尽可能的让a。求用尽可能少的操作让。

2024-07-17 20:14:12 868

原创 Codeforces Round 958 (Div. 2)

根据我的理解,就是要把原数字的二进制上的数字1换成零,例如23的二进制10111。后续的数字如果要符合条件就要在10111有1的地方换成0.例如10110,10101之类的。这个题意思就是可以让l到r中的数合并成一个其中的数,当区间中1的个数大于0的个数就和并成1,反之合并成0,看最后是否能合并成只有一个1。这个题就是要把n改成n个1,我么们不用管题目上怎么分解的,只需要把每次分解成k-1个1和n-k+1就行。我们可以把连续的几个零合并成一个,然后看合并后的0和1的个数,如果1多就能合并反之则不能。

2024-07-16 15:27:55 299

原创 Nim 游戏

个石子,每次都可以将一些k级台阶石子移到下一台阶,移动到地面(0阶)就不能再移动了。当堆数的异或和不等于零时,则必胜 a。当堆数的异或和等于零时,则必败 a。大家可以去哔哩哔哩·看董晓算法讲的。=0时则先手必胜,反之则必败。有n个台阶,第i个台阶有a。2.台阶型Nim游戏。

2024-07-16 14:12:58 294

原创 二叉树的构建,前序,中序,后序遍历

一棵二叉树是结点的一个有限集合,该集合或者为空,或者是由一个根节点加上两棵别称为左子树和右子树的二叉树组成。1.每个结点最多有两棵子树,即二叉树不存在度大于2的结点。2.二叉树的子树有左右之分,其子树的次序不能颠倒。先遍历左节点,再输出这个点的值,最后遍历右节点。先遍历左节点,然后遍历右节点,最后输出值。先输出这个节点的值,再遍历左右子节点。

2024-07-15 17:14:55 499

原创 小红的 gcd

一开始没有思路,就不知道应该怎么把大整数a与这个数b求最大公约数,最后看了别人写的才会写了,就是可以把每一位上的数%b,然后余数再乘10加上下一位数,再求余,最后得到的那个数再与b求最大公约数等于直接a与b求最大公约数。就是给你一个超大整数和一个int类型整数,求最大公约数。

2024-07-15 16:13:32 327

原创 滑动窗口区间最大最小值模板及最大堆最小堆

可以定义两个数组,来模拟双端队列,一个用来存储数列,另一个用于存储最值的下标,当新进来窗口数值时,与数组的最值比较,如果新进来的数值大就更新数组最值。

2024-07-14 13:05:11 223

原创 2024年东北师范CCPC

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

2024-06-01 21:14:48 683

原创 二分查找与模板

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

2024-05-31 17:20:39 443

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

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

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

原创 2022ICPC(南京站)

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

2024-05-28 19:29:49 300

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

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

2024-05-28 09:25:17 499

原创 同余定理算法

给定一个正整数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 210

原创 快速幂求逆元与逆元

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

2024-05-26 10:22:38 360

原创 乘法逆元算法

有些云里雾里的那个取正整数的地方,好多地方都是公式推理和验证定理的正确性,看不懂,初等数论再说!乘法逆元的意思就是给出两个数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 1045 1

原创 位运算用法

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

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

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

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

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

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

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

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

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

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

2024-05-14 13:59:29 371 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 1003

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

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

2024-05-05 20:30:11 428 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 666 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 602

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

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

2024-04-29 12:28:17 245

原创 快速排序算法

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

2024-04-28 21:09:04 230

原创 归并排序算法

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

2024-04-28 20:27:58 274

原创 快速幂算法

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

2024-04-27 19:45:22 358

原创 L1-104 九宫格

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

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

原创 L1-059 敲笨钟

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

2024-04-22 19:15:42 183

原创 sort自定义排序

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

2024-04-09 19:07:19 177

原创 线性筛欧拉筛

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

2024-04-09 17:57:22 86

原创 DFS深度优先搜索1

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

2024-04-06 19:59:46 413

原创 时间复杂度计算

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

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

空空如也

空空如也

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

TA关注的人

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