算法竞赛
文章平均质量分 61
算法的一些刷题和知识总结
shix .
此人不懒,但是什么都没有写
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
河南省第十五届ICPC大学生程序设计竞赛
可以看一下规律,每5个数据,会多一个2,然后剩下的就是等差数列的前n项和。但是如果不加上这个去重,那么就会超时,说明重复数据还是很多的……暴力列出所有条件,直接二分即可,时间复杂度控制在1e8以内。这里sort或者不sort都能过,而且时间上是差不多的。那么这不就相当于取巧了,看看有没有别的优化方法。原创 2025-05-02 10:35:36 · 664 阅读 · 0 评论 -
结构体的定义与使用【转载】
int age;此定义,定义了一个Person结构体(记住是Person结构体,而不是叫结构体Person),意味着 struct Person才是结构体类型,struct叫做关键字,Person叫做标识符。这个Person结构体声明了一个对象,叫做 john。;ps:这里Person没有变色是因为我们的结构体定义没有写进去,就写了一个声明对象。不是因为这种声明方式不可以哈(我的编译器是支持这种写法的)。转载 2024-10-27 16:05:26 · 174 阅读 · 0 评论 -
数据结构-图
最短路问题一般有两种:一种是求从某个原点到其中各点的最短路,一种是求每一对顶点之间的最短路径。具有n个顶点的有向图最多有n(n-1)条边,(每个顶点可与其余n-1个顶点相连)有向完全图共有(n)(n-1)条边,无向完全图共有(n)(n-1)/2条边。n个顶点的连通图用邻接矩阵表示时,该矩阵至少有2(n-1)个非零元素。4):若经历了以上步骤,顶点并没有输出完毕,那么说明图中存在环。3):重复以上步骤,直到不存在无前驱的顶点。2):从图中删除该顶点和所有以它为尾的弧。采用邻接矩阵表示的深度优先搜索。原创 2024-05-25 21:02:28 · 1727 阅读 · 0 评论 -
数据结构课设-迷宫寻路系统
这是一个迷宫寻路系统,它的功能是创建迷宫判断迷宫是否有出口输出走出迷宫最少的步数输出走出迷宫的轨迹在该课题中,我们主要使用了BFS(广度优先搜索)和队列的概念,队列我们使用的是链队列,下面我先简单介绍一下该队列的结构typedef struct QNode//创建队列节点元素//坐标typedef struct//创建双端队列类型//队头指针queue rear;//队尾指针}Linkqueue;原创 2024-06-28 09:31:22 · 1203 阅读 · 0 评论 -
十五届蓝桥杯赛题-c/c++ 大学b组
这道题本来是想,先对2的次方用高精度求解,再将浮点型转化为整型,用高精乘低精度求,但是,没有考虑到这个浮点型数组范围太大,只能用字符串进行表示。这一题应该暴力能过40%左右,但是我的暴力竟然过了0%,老脸丢尽,后来开始思考dfs,但是过程中遇到了几个问题,很简单,相互牵手即可,但是要注意,第一个人只能与其他49个人牵手,所以开头是加上49。这题一看就是dfs,跟走迷宫很像,不过加了几个限制条件。直接从1到n循环判断即可,只要有一次不符合条件就不算。这是一个非常暴力的解法,枚举所有结果进行排序即可。原创 2024-11-17 17:15:17 · 3700 阅读 · 0 评论 -
编程新星挑战赛-题解
定义初始矩阵边界top、bottom、left和right。原创 2024-11-09 21:22:49 · 1219 阅读 · 1 评论 -
第十六届蓝桥杯模拟赛(第一期)-c++/c
【代码】第十六届蓝桥杯模拟赛(第一期)-c++/c。原创 2024-11-16 18:01:30 · 10147 阅读 · 8 评论 -
pta-剪切粘贴
注意erase的用法:erase(数组下标,删除数组大小)find(数组),返回查找数组的起始元素下标。insert(插入起始下标,插入数组元素)原创 2024-04-16 18:36:12 · 369 阅读 · 0 评论 -
洛谷p1042乒乓球 day1 11.20
1.刚开始用的scanf字符串,但是想了想不知到以后怎么去处理后来的“E”。2.忽略了getchar会存入换行符的问题;3.比分清零和空格问题;本题出了以下几个问题。原创 2023-11-20 22:16:46 · 238 阅读 · 1 评论 -
aiwing-k倍区间
【代码】aiwing-k倍区间。原创 2024-04-27 19:40:04 · 158 阅读 · 0 评论 -
编程新星赛题解
注意,输出的时候周长和面积后面的冒号是中文冒号三个数排序+海伦公式longlong。原创 2024-11-09 21:10:13 · 449 阅读 · 0 评论 -
acwing全总结-拓扑排序
每次把入度为0的点入队,再在for循环邻接表的时候不断更新入度,最后按顺序输出即可。原创 2024-04-07 10:52:23 · 246 阅读 · 0 评论 -
dfs深度优先搜索-acwing全解析
acwing全解析-深度优先搜索原创 2024-04-06 11:41:06 · 405 阅读 · 1 评论 -
acwing算法全总结-数学知识
如果b的二进制最小位为1,那么进入进行计算,比如8是100,那么第一位不计算,a在下一句进行累加取余,b去掉最小位,第二位不计算,a继续累乘取余,在第三位进行乘。每次把质数存在primes数组中,然后开始循环遍历数组,每一次把primes[j]*i筛掉,也就是被它的最小质因子筛掉,每次只筛一个,不重复,所以在o(n)的时间内得出结果。我们可以考虑这个情况:当p=1,b=0时,无论a取何值,循环都不会进入,那么如果这里不对q求余,那么res=1,可是正确答案为res=0;这里给出一个问题:求。原创 2025-02-13 20:01:07 · 699 阅读 · 0 评论 -
acwing-寒假每日一题-week3
误区:刚开始尝试用大日期减去小日期,可是发现这样减不仅要考虑边界问题,开的变量还多,2.对于回文日期的优化,应该只考虑年份,然后造出日期是否合法,从1e8优化到1e4。2.如果超时,就需要将int类型日期转化为字符串存储之后排序输出。写完这一题,以后要注意结构体的使用了,其实用结构体还是比较方便的。解决:将每个日期总天数求出来之后相减,避免了这些问题。非常经典的区间合并,基础思路,排序后合并即可。1.判断是否能使用暴力,这样就避免了排序。本题判断完成之后需要日期从打到小排序,原创 2024-05-18 18:39:09 · 983 阅读 · 0 评论 -
acwing-寒假每日一题
这一题主要在于分析思路,要求最优改变几次区间温度,能使每个牛栏获得最佳温度,那么我们可以对差值数组求差分,当差分数组为零时,那么即为最合适温度,要使差分数组为零,要么整个区间加或减,要么对单个区间进行操作。答:根据题意,我们可以分析得,改变次数为奇数次的时候,棋盘都为黑子,改变次数为偶数次的时候,棋盘都为白子,得到这个结论,我们就很容易ac了。我的疑问是,差分只能对范围内的区间在o1的时间复杂度内同时加上或减去一个数,那么如何把该范围内的1变为0,0变为1呢?二分模板一共有两个,分别适用于不同情况。原创 2024-05-16 17:51:38 · 948 阅读 · 0 评论 -
acwing全总结-dijkstra算法
堆优化版的dijkstra最短路引入了邻接表和小根堆,它在处理方面有一些区别:主要体现在对节点的选取和松弛操作的方式上。在内部循环中,它先找到了所有点到起点最近的那个点,之后去更新所有路径到这个最近点的距离,1.直接按顶点顺序处理,没有用到邻接表。2.处理了重边和自环。原创 2024-04-07 10:54:05 · 693 阅读 · 0 评论 -
acwing算法全总结——搜索与图论
dfsbfs树与图的深度优先遍历,树与图的广度优先遍历,拓扑排序,最短路问题,dijkstra最短路,bellman-ford最短路,spfa最短路,floyd最短路,最小生成树,prim最小生成树kruskal最小生成树,二分图。原创 2024-04-08 20:59:30 · 3430 阅读 · 0 评论 -
acwing-寒假每日一题
算法思路:假设目标值在闭区间[l, r]中, 每次将区间长度缩小一半,当l = r时,我们就找到了目标值。对于浮点数,向上取整ceil,向下取整floor,四舍五入round。二分模板一共有两个,分别适用于不同情况。原创 2024-05-03 11:31:55 · 306 阅读 · 0 评论 -
第十四届蓝桥杯大学b组c++
插一嘴:1、产生闰年原因:地球绕太阳运行周期为365天5小时48分46秒(合365.24219天)即一回归年(tropical year).公历的平年只有365日,比回归年短约0.2422 日,所余下的时间约为四年累计一天,故四年于2月加1天,使当年的历年长度为366日,这一年就为闰年.原创 2025-03-04 18:36:50 · 364 阅读 · 0 评论 -
acwing-寒假每日一题
暴力做法本题需要枚举三行,复杂度是n3,肯定会超时,那么我们先理解他的题意:三个符合匹配条件的数a<b<c,那么我们可以先将这三行序列排序最后相乘就能求出结果。其中i和j是该矩阵的列,内部循环利用双指针,根据矩阵和递增的原理。这里除了前缀和,还重新优化了一下思路。原创 2024-05-03 11:32:46 · 393 阅读 · 0 评论
分享