- 博客(81)
- 收藏
- 关注
原创 普及组集训--USACO
对于一群 nn 个要互送礼物的朋友,GY 要确定每个人送出的钱比收到的多多少。在这一个问题中,每个人都准备了一些钱来送礼物,而这些钱将会被平均分给那些将收到他的礼物的人。然而,在任何一群朋友中,有些人将送出较多的礼物(可能是因为有较多的朋友),有些人有准备了较多的钱。给出一群朋友,没有人的名字会长于 1414 字符,给出每个人将花在送礼上的钱,和将收到他的礼物的人的列表,请确定每个人收到的比送出的钱多的数目。
2025-01-22 22:55:24
255
原创 普及组集训数据结构--并查集
2):若有两个人相连属于亲戚关系,则把前一个人的族长交给另一个人的族长负责;在此定义“族长”就是一个树的根节点,(树就是一个图);1):刚开始时,每个人都各自成一个图,(集合)
2025-01-03 22:22:21
315
原创 普及组集训--图论最短路径设分层图
是从上面的节点到下面相对应的节点为0;因为有k此转程,且不能够重复经过某一结点。建图用链式前向星,最短路径不要用spfa,要用dijkstra,而且要堆优化。可以设置分层图:(伪代码)
2024-12-07 22:59:33
400
原创 普及组集训图论--判断负环
若 $w \geq 0$,则表示存在一条从 $u$ 至 $v$ 边权为 $w$ 的边,还存在一条从 $v$ 至 $u$ 边权为 $w$ 的边。给定一个 $n$ 个点的有向图,请求出图中是否存在**从顶点 $1$ 出发能到达**的负环。- 若 $w < 0$,则只表示存在一条从 $u$ 至 $v$ 边权为 $w$ 的边。第一行有两个整数,分别表示图的点数 $n$ 和接下来给出边信息的条数 $m$。接下来 $m$ 行,每行三个整数 $u, v, w$。请注意,$m$ **不是**图的边数。
2024-12-07 21:26:05
382
原创 普及组集训--图论最短路径
定义:表示顶点u到顶点v的一条边的权值(边权)最短路径算法有常见的四种:floyd,dijkstra,Bellman-Ford,SPFA不过Bellman-Ford并不常用,所以本文不提;重点在于dijkstra,spfa;
2024-12-01 15:18:49
529
原创 【搜索与回溯算法】N皇后问题 (Standard IO)
左对角线规律:设当前的格子坐标为(i,j)则当前对角线所有元素的差值为0,即i-j==0但i-j这个下标可能为负数,尽人皆知数组下标不可能出现负数的情况,所以我们不妨把下标统一加(n-1),这样即可保证下表不会是负数,又可以在瞬间把整条对角线标记复杂度很低。标记数组思路:定义bool类型的3个数组,分别存储列,左对角线,右对角线;列很好存储,但左对角线,右对角线怎么一瞬间用O(1)的复杂度把两个对角线上的所有元素标记为1呢?右对角线规律:同理,设当前格子坐标为(i,j)则当前对角线的i+j始终相等;
2024-11-23 14:16:07
367
原创 仅差一步..
只要我不粗心不把-x写成x那也不会落得如此地步啊.....一等就是一年我本以为我已经放下过去但一开口即是一年之前。但我相信大鹏总有展翅翱翔的那一天,我们只需认真学习为此拼搏好好享受过程就行了最后将结果交给天意吧!为什么如此捉弄我呢?小学时就因为一个奖没拿努力了很久2年啊...但最终呢?因为我的数学竞赛仅差5分就上2班了。看来我还是太菜了...
2024-11-16 16:19:16
140
原创 信息学普及组集训2--贪心算法
说到贪心算法,就是两个极端:很简单这™还叫算法?;根本想不出这™还叫算法?贪心算法是没有模板可循的,没有套路。贪心算法在乎的是局部最优解,可以理解为走一步看一步。与dp还是很有区别的。做题时要大胆猜测贪心策略,举出一个看起来不错的且似乎举不出反例来推翻此策略是即可上代码实现一二。如果时间非常充足可以用数学对自己的贪心策略进行证明,常见的证明方法:反证法,数学归纳法。
2024-11-03 11:05:59
769
2
原创 csp普及组算法集训--Dfs
对于 $100\%$ 的数据,$1 \le N,M \le 5$,$1 \le T \le 10$,$1 \le SX,FX \le n$,$1 \le SY,FY \le m$。第二行为四个正整数 $SX,SY,FX,FY$,$SX,SY$ 代表起点坐标,$FX,FY$ 代表终点坐标。给定起点坐标和终点坐标,每个方格最多经过一次,问有多少种从起点坐标到终点坐标的方案。给定一个 $N *M$ 方格的迷宫,迷宫里有 $T$ 处障碍,障碍处不可通过。接下来 $T$ 行,每行两个正整数,表示障碍点的坐标。
2024-10-20 11:43:53
382
原创 动态规划基础1
dp就是动态规划(废话)我们先来看一道最为基础的dp题:这题可以搜索吗?不可以,因为如果搜索的话。。。。。算了你去问问时间复杂度吧所以我们来用动态规划来解决此类问题,但是dp的做题步骤是什么?先不说做题步骤我们等会儿细讲。用dp[i][j]来表示从三角形最顶端(triangle[0][0])走到triangle(i,j)的最小权值和;而dp[n][n]可以拆成若干个子问题,即若干个dp[i][j]而dp[i][j]=min(dp[i-1][j-1],dp[i-1][j])+triangle[i][j];dp
2024-10-05 11:48:29
988
原创 P3327 [SDOI2015] 约数个数和
首先我们很套路的设几个函数,(若不知道为什么那么设的话。这题的难点就是这个约数个数函数。看到这个[gcd(x,y)=1],我们就可以根据μ的性质把它带进去.对了以后的数学题不放代码,除非是知识点讲解,或者算法模板。更换枚举项,由枚举gcd(x,y)的约数,改为直接枚举d.需要莫比乌斯函数知识,主要是推式子。因为总有几个烧饼喜欢复制代码刷AC率。提出来:(因为它与i,j无关)我们设ans为求和最终值;
2024-08-09 14:04:18
373
原创 P1403 [AHOI2005] 约数研究
1∼n 的因子个数,可以看成含有 2 这个因子的数的个数 + 含有 3 这个因子的数的个数 +....+ 含有n这个因子的数的个数。在 1∼n中含有“2”这个因子的数有n/2。以此类推,公式就出来了。今天为大家再次带来一道数论题,我原本挺喜欢约数的种种奇妙性质的,做了这道题后我变的厌烦了好吧!至于求和旁边的对n/d向下取整的那玩意,用分块求解好一点。(相信你不想TLE的)枚举1--n中因子有i的数的个数!重点在与一个数学公式: f(i)=n/i。题目中的f(i)实际是。
2024-07-30 14:24:43
312
原创 P1029 [NOIP2001 普及组] 最大公约数和最小公倍数问题
一组 x,y 有对应解时有条件:x,y 的值不同。当 x=y 时,易得 x=y=gcd(x,y)=lcm(x,y) 所以要对此进行特判,若 P,Q 相等,这种情况就存在, ans 里要减去 1。我们其实并不需要枚举两次,因为对于不同的 x,y ,交换它们的值一定可以得到另一组与之对应的解。我们可以枚举 x,判断是否存在满足条件 1 的整数 y(即,x能否被 P,Q 的积整除)。满足第一个条件后,再分别判断当前的 x,y 是否能够同时满足另外两个条件即可。(设作为答案的两个数为 x和 y)
2024-07-28 16:20:46
261
原创 递推算法(推公式)
哎呀麻烦的要死,其实就是这个:f(i)=f(i-1)+f(i-2)(f(i),i>=3)个人认为递推就是找规律,从而使得程序变得简单明了,同时也降低的时间复杂度。则可得出斐波那契额数列,不过初始项有两项分别为:1,2。即:**& 5&*……二阶有2种走法,即:两步登顶,一次跨2阶;最重要的是:减少了TLE出现的机率!即:(字幕君已崩溃)一阶有1种走法,即一步登顶;
2024-07-23 10:34:35
310
原创 二维数组-----螺旋性矩阵输出
则定义两个变量分别表示元素所在位置:x,y;由于螺旋数组中的每一个元素都是一次递增的每次都加1,那么即可定义数组a[x][y],让这个数组等于m,而m每次都要加1。我们的代码中右一个t变量,它的作用是:判断方向;还有一个细节,为了不让螺旋数组已知旋下去,m虽然也一次累加但大小不能超过m*m。简明为:右、下、左、上。观察样例输出,不难发现,螺旋数组中元素的递增轨迹为:右右右、下下下、左左左、上上上。右右右、下下下、左左左、上上上,这些操作。交给读者细品,(发现我很喜欢说啊)。题目有点难,ok其实是很难。
2024-07-01 22:19:44
361
原创 洛谷Quasi Binary思维题之构造基础---C++
欢迎大家来到思维题系列!本类题目老少皆宜,适合茶饭后来做!让自己觉得自己是!🆗进入正题!
2024-06-30 18:34:38
257
原创 我的创作纪念日
在学校就是学习一些C++的数学,比如:欧拉函数,欧拉线性筛。自从我学习了C++并且开始在上面写题解的时候,我的数学不知不觉也变好了。基本每周都会写博客,因为是小学生,每周只有放假了才能刷题。解决问题的思路也变得。有点奇怪,但我喜欢怪思维。在星期五我会在学校上信息课C++,陈老师讲的是真的好。说来好笑,csdn是在我看广告的时候发现的。希望在暑假学到动态规划,初一拿个奖。
2024-06-22 09:37:17
276
原创 十五边形有多少条对角线?(解答某位网友的困惑)
则15变形的对角线数有:2*(15-3)+[(15-3)-1]+....+1=2*12+(11+1)*11/2=90。六边形为:(6-3)+(6-3)+2+1=3+3+2+1=9。五边形为:(5-3)+(5-3)+1=2+2+1=5。想要做出这种题目,必须得先列举一些多边形的例子。三角形的对角线为(3-3)+(3-3)=0。四边形为:(4-3)+(4-3)=2。题目答案等于90条。
2024-06-15 22:06:33
387
4
原创 字符数组基础知识及题目
字符该如何存储呢?这一点我们在以前就接触过了。用char来存储。如何输入一个单词呢?就不用地址符了。如何输入句子呢?gets是读入句子的,同样适用于读入单词。不过要注意的是,题目让你读入单词就得读入单词,句子就是句子,因为有些oj上会出错的。
2024-06-15 15:33:33
273
原创 P1072 [NOIP2009 提高组] Hankson 的趣味题
这次推公式,推了很久,过程详细。看懂了的在评论区说:我是神!最大公约数与最小公倍数。用LaTex写公式,真的麻烦!
2024-06-09 11:46:19
232
原创 力扣刷题1
这题简单只需明白各个温度之间的进率就可以了,最后返回函数值。由于作者太废,所以只能先更:【新】动计划---编程入门。第一次刷Leetcode!这个系列会已知更新下去的!题目简单 ,不愧是第一题!这题考察的是函数的返回值。
2024-05-04 20:34:44
274
原创 小蓝本--因式分解(习题1)讲解
解析:这题都是(x-a)而中间的确实(a-x),可以看出它是其他项的相反数!要处理相反数,就要让它比相反数还反!初次分解得:(2m+3p)[(5a-2b)-(2a-7b)],而中括号里面还可以分解。先提出系数:2,6,4它们的最大公约数是2,分析出公因式是2(x+y)中括号里的二次分解:5a-2b-2a+7b=(3a+5b)最后一项是相反数,得2p[-(1x-)]公因式:(x+y)(b+c)公因式:2p(x-1)²。公因式:(2m+3p)公因式:2(p-1)
2024-05-04 13:17:58
697
5
原创 二维数组-----刷题2
题目不是傻子题目,但很简单!定义一个变量k,在嵌套中不断累加输出即可。每一个数,它增加的都是5,正好与输入的n相同,因此可以确定每次递增n。再次观察发现,运动轨迹是:右下左上。我们可以将数组的初始位置也就是图中的1的坐标设为。此题有两种方法,每一种都易如反掌。
2024-05-01 11:03:19
193
原创 二维数组---刷题2
1.矩阵加法题解:题目简单,定义3个二维数组,一个是第一个矩阵。另一个是第二个矩阵。而最后一个则是实现矩阵加法的数组。2.计算矩阵边缘之和。
2024-04-20 10:24:15
160
原创 因式分解技巧1-----一次提净
什么是因式分解?什么是因式分解?在小学,我们都学过质因数分解。就比如:,然而我们可以发现!4此时还没有被分解完,于是:则:这是小学的质因数分解。那么我们一起看看初中的因式分解。例1,倒过来:可以发现还可以继续分解为:然后将二者结合起来,这里就不给大家看了。如《三体》中,章北海父亲说的:要多想....把一个整式的乘积,称为因式分解,每一个乘式称为积的因式提公因式我们直接看题:分解因式:先提取出这三项式子中的系数,然后找到系数的最大公约数。题目中的系数有:12、6、15。
2024-04-20 08:55:55
532
原创 一维数组----白细胞计数
白细胞计数白细胞计数这题我们必须会一个函数!fabs()函数这个函数,是用来求绝对值的。但是fabs()函数只能用来求浮点数数的绝对值!求整数x的绝对值求浮点数x的绝对值解题思路1.我们可以先将n读入,然后读入n个数组用sum变量循环累加。再创建两个变量:最大值与最小值。循环结束后将它们的均值求出来,用ave存储。注意:然后将剩余n−2个有效样本的平均值作为分析指标。平均值在后面是要做分析指标的!所以一定不可以错。2.用for循环,循环找出数组中元素与平均值的绝对值的最大值!
2024-04-14 11:40:43
314
原创 二维数组---刷题
1.对角线一维数组不想更了,弄点二维数组!1.对角线已知一个6*6的矩阵,把矩阵两条对角线上的元素加上10,然后输出这个新矩阵。
2024-04-13 12:10:18
489
原创 开关灯---一维数组
此题用模拟的复杂度是O(n²) ,其实有更优解就是用完全平方数。但是我不想在C++中遇到数学。把数组的类型设为bool类型即可!
2024-04-12 23:12:18
285
原创 学习心得1
而且,不要做完一道题就立刻去刷下一道题除非你是自己做出来的。要理解这道题目的意思和解法,尝试这理解别人题解写的代码所用的思考方式。这道题是可以算出来的,但是有些人会算错,就算对了也只是符合这一组样例数据罢了。我们可以将移走的树设为1,没有被移走的树设为0。最后把是0的数组元素累加起来,最后输出就可以了。但是每个要移走树区块的起始点和终点该如何解决,我们可以定义两个变量,x和y。x是要移走树的区块的起始点,y是要移走树的区块的终点。这道题与校门外的树的思考方式差不多,可以不用完全平方数!不足的在评论区指教。
2024-04-05 23:04:39
312
原创 一维数组oj练习(4)
小A的学号在数组中可以看成a[k],在判断谁大于a[k]。大于的数用sum来统计,最后输出。总结:一定要灵活运用数组的特性,下标。又是一维数组的练习....
2024-04-03 17:33:55
165
原创 C++函数(1)
可以将函数看作一个,工厂。工厂要生产一样东西,就必须是先准备原材料。接下来我们将告别数组等等温馨的暖床,走向C++的进阶之路。其实我们这个用函数解决的代码可以简化:直接返回x+y的值就行了。1.首先我们先定义一个函数和这个函数的作用。这是一个程序,它的作用是将两个数的和计算出来。刚刚只是让你们更加清晰的知道这个函数加工的过程。对了,return(x+y)的括号不要也罢!2.打个花括号里面是详细的操作。工厂加工--------》正巧C++里面也有函数。函数这个概念在数学上是。就是计算x+y的和。
2024-03-25 09:37:38
267
原创 C++一维数组练习oj(3)
为什么C++的一维数组练习要出要做那么多的题目?因为我们是竞赛学生!想要将每个知识点灵活运用的话就必须刷大量的题目来锻炼思维。这题的难点就在于他是让我们输出数组的下标,而不是这个数组的对应元素!将for循环中的i输出来就可以了,因为i代表的就是数组的下标。我使用的是jsswoj.com这个刷题网站,当然要钱...此题非常简单,就是输出指定的数组中的元素。题目的是输出他中的是第几个号码!这道题有些人不看题目,这是上一次的题目讲解。
2024-03-23 14:18:49
434
空空如也
C++一维数组(博物馆)
2024-04-21
C++一维数组白细胞计数
2024-03-24
小学数学简便计算及其复杂帮解答
2023-10-15
在pycharm 中无法安装 pygame
2023-08-18
关于#python#的问题,请各位专家解答!
2023-08-12
电脑上如何安装csdn?如果要钱如何免费?
2023-08-04
安装了 dev C++却打不开
2023-06-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人