- 博客(74)
- 收藏
- 关注
原创 信息学普及组集训2--贪心算法
说到贪心算法,就是两个极端:很简单这™还叫算法?;根本想不出这™还叫算法?贪心算法是没有模板可循的,没有套路。贪心算法在乎的是局部最优解,可以理解为走一步看一步。与dp还是很有区别的。做题时要大胆猜测贪心策略,举出一个看起来不错的且似乎举不出反例来推翻此策略是即可上代码实现一二。如果时间非常充足可以用数学对自己的贪心策略进行证明,常见的证明方法:反证法,数学归纳法。
2024-11-03 11:05:59 706 1
原创 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 324
原创 动态规划基础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 875
原创 P3327 [SDOI2015] 约数个数和
首先我们很套路的设几个函数,(若不知道为什么那么设的话。这题的难点就是这个约数个数函数。看到这个[gcd(x,y)=1],我们就可以根据μ的性质把它带进去.对了以后的数学题不放代码,除非是知识点讲解,或者算法模板。更换枚举项,由枚举gcd(x,y)的约数,改为直接枚举d.需要莫比乌斯函数知识,主要是推式子。因为总有几个烧饼喜欢复制代码刷AC率。提出来:(因为它与i,j无关)我们设ans为求和最终值;
2024-08-09 14:04:18 356
原创 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 289
原创 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 220
原创 递推算法(推公式)
哎呀麻烦的要死,其实就是这个: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 233
原创 二维数组-----螺旋性矩阵输出
则定义两个变量分别表示元素所在位置:x,y;由于螺旋数组中的每一个元素都是一次递增的每次都加1,那么即可定义数组a[x][y],让这个数组等于m,而m每次都要加1。我们的代码中右一个t变量,它的作用是:判断方向;还有一个细节,为了不让螺旋数组已知旋下去,m虽然也一次累加但大小不能超过m*m。简明为:右、下、左、上。观察样例输出,不难发现,螺旋数组中元素的递增轨迹为:右右右、下下下、左左左、上上上。右右右、下下下、左左左、上上上,这些操作。交给读者细品,(发现我很喜欢说啊)。题目有点难,ok其实是很难。
2024-07-01 22:19:44 328
原创 洛谷Quasi Binary思维题之构造基础---C++
欢迎大家来到思维题系列!本类题目老少皆宜,适合茶饭后来做!让自己觉得自己是!🆗进入正题!
2024-06-30 18:34:38 242
原创 我的创作纪念日
在学校就是学习一些C++的数学,比如:欧拉函数,欧拉线性筛。自从我学习了C++并且开始在上面写题解的时候,我的数学不知不觉也变好了。基本每周都会写博客,因为是小学生,每周只有放假了才能刷题。解决问题的思路也变得。有点奇怪,但我喜欢怪思维。在星期五我会在学校上信息课C++,陈老师讲的是真的好。说来好笑,csdn是在我看广告的时候发现的。希望在暑假学到动态规划,初一拿个奖。
2024-06-22 09:37:17 262
原创 十五边形有多少条对角线?(解答某位网友的困惑)
则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 322 3
原创 字符数组基础知识及题目
字符该如何存储呢?这一点我们在以前就接触过了。用char来存储。如何输入一个单词呢?就不用地址符了。如何输入句子呢?gets是读入句子的,同样适用于读入单词。不过要注意的是,题目让你读入单词就得读入单词,句子就是句子,因为有些oj上会出错的。
2024-06-15 15:33:33 256
原创 P1072 [NOIP2009 提高组] Hankson 的趣味题
这次推公式,推了很久,过程详细。看懂了的在评论区说:我是神!最大公约数与最小公倍数。用LaTex写公式,真的麻烦!
2024-06-09 11:46:19 215
原创 力扣刷题1
这题简单只需明白各个温度之间的进率就可以了,最后返回函数值。由于作者太废,所以只能先更:【新】动计划---编程入门。第一次刷Leetcode!这个系列会已知更新下去的!题目简单 ,不愧是第一题!这题考察的是函数的返回值。
2024-05-04 20:34:44 261
原创 小蓝本--因式分解(习题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 451
原创 二维数组-----刷题2
题目不是傻子题目,但很简单!定义一个变量k,在嵌套中不断累加输出即可。每一个数,它增加的都是5,正好与输入的n相同,因此可以确定每次递增n。再次观察发现,运动轨迹是:右下左上。我们可以将数组的初始位置也就是图中的1的坐标设为。此题有两种方法,每一种都易如反掌。
2024-05-01 11:03:19 178
原创 二维数组---刷题2
1.矩阵加法题解:题目简单,定义3个二维数组,一个是第一个矩阵。另一个是第二个矩阵。而最后一个则是实现矩阵加法的数组。2.计算矩阵边缘之和。
2024-04-20 10:24:15 152
原创 因式分解技巧1-----一次提净
什么是因式分解?什么是因式分解?在小学,我们都学过质因数分解。就比如:,然而我们可以发现!4此时还没有被分解完,于是:则:这是小学的质因数分解。那么我们一起看看初中的因式分解。例1,倒过来:可以发现还可以继续分解为:然后将二者结合起来,这里就不给大家看了。如《三体》中,章北海父亲说的:要多想....把一个整式的乘积,称为因式分解,每一个乘式称为积的因式提公因式我们直接看题:分解因式:先提取出这三项式子中的系数,然后找到系数的最大公约数。题目中的系数有:12、6、15。
2024-04-20 08:55:55 420
原创 一维数组----白细胞计数
白细胞计数白细胞计数这题我们必须会一个函数!fabs()函数这个函数,是用来求绝对值的。但是fabs()函数只能用来求浮点数数的绝对值!求整数x的绝对值求浮点数x的绝对值解题思路1.我们可以先将n读入,然后读入n个数组用sum变量循环累加。再创建两个变量:最大值与最小值。循环结束后将它们的均值求出来,用ave存储。注意:然后将剩余n−2个有效样本的平均值作为分析指标。平均值在后面是要做分析指标的!所以一定不可以错。2.用for循环,循环找出数组中元素与平均值的绝对值的最大值!
2024-04-14 11:40:43 242
原创 二维数组---刷题
1.对角线一维数组不想更了,弄点二维数组!1.对角线已知一个6*6的矩阵,把矩阵两条对角线上的元素加上10,然后输出这个新矩阵。
2024-04-13 12:10:18 465
原创 开关灯---一维数组
此题用模拟的复杂度是O(n²) ,其实有更优解就是用完全平方数。但是我不想在C++中遇到数学。把数组的类型设为bool类型即可!
2024-04-12 23:12:18 256
原创 学习心得1
而且,不要做完一道题就立刻去刷下一道题除非你是自己做出来的。要理解这道题目的意思和解法,尝试这理解别人题解写的代码所用的思考方式。这道题是可以算出来的,但是有些人会算错,就算对了也只是符合这一组样例数据罢了。我们可以将移走的树设为1,没有被移走的树设为0。最后把是0的数组元素累加起来,最后输出就可以了。但是每个要移走树区块的起始点和终点该如何解决,我们可以定义两个变量,x和y。x是要移走树的区块的起始点,y是要移走树的区块的终点。这道题与校门外的树的思考方式差不多,可以不用完全平方数!不足的在评论区指教。
2024-04-05 23:04:39 304
原创 一维数组oj练习(4)
小A的学号在数组中可以看成a[k],在判断谁大于a[k]。大于的数用sum来统计,最后输出。总结:一定要灵活运用数组的特性,下标。又是一维数组的练习....
2024-04-03 17:33:55 151
原创 C++函数(1)
可以将函数看作一个,工厂。工厂要生产一样东西,就必须是先准备原材料。接下来我们将告别数组等等温馨的暖床,走向C++的进阶之路。其实我们这个用函数解决的代码可以简化:直接返回x+y的值就行了。1.首先我们先定义一个函数和这个函数的作用。这是一个程序,它的作用是将两个数的和计算出来。刚刚只是让你们更加清晰的知道这个函数加工的过程。对了,return(x+y)的括号不要也罢!2.打个花括号里面是详细的操作。工厂加工--------》正巧C++里面也有函数。函数这个概念在数学上是。就是计算x+y的和。
2024-03-25 09:37:38 256
原创 C++一维数组练习oj(3)
为什么C++的一维数组练习要出要做那么多的题目?因为我们是竞赛学生!想要将每个知识点灵活运用的话就必须刷大量的题目来锻炼思维。这题的难点就在于他是让我们输出数组的下标,而不是这个数组的对应元素!将for循环中的i输出来就可以了,因为i代表的就是数组的下标。我使用的是jsswoj.com这个刷题网站,当然要钱...此题非常简单,就是输出指定的数组中的元素。题目的是输出他中的是第几个号码!这道题有些人不看题目,这是上一次的题目讲解。
2024-03-23 14:18:49 404
原创 C++常用的区块代码
只要会这条代码,很多题目都可以直接秒杀。输入一个整数n,算出它各个位数的乘积。很多人在刷题时都遇到过不会的情况。这篇文章希望可以帮到你!给你们一道题目练练手。
2024-03-23 12:27:53 146
原创 C++一维数组练习oj(2)
设小明后面的子弹每隔t1秒打出一枚子弹,小李后面的子弹每隔t2秒打出一枚子弹。时间轴上小李每1秒打出一颗子弹,小明每2秒打出一颗子弹。如t1=2时,则后面子弹打出的时刻分别为4,7,10,13......这到题目我承认非常难!当然这只是我认为,因为我只学到了一维数组!可以看出题目给出的样例数据与题目本身给出的条件相差1秒,所以!我已经试过了,不加1是错的。与本身有偏差的数据我们必须要加以分析!这题我们可以将他理解为一条。对于你们来说可能不难。
2024-03-23 11:50:35 270
原创 C++一维数组练习oj
数完1--1000的幸运数后总共有14个,既然有14个幸运数可知数组可以定义为a[20]接下来就要将找到的最大值与站在最前面的游客调换位置即可。调换位置很简单,定义一个临时变量就可以了。这段代码是建立在上一条代码的for循环里的。思路分析:这题它说n是小于等于1000的,那么我们现在就需要找出1--1000的幸运数。这道题目需要我们找出最高的人数,实则就是让你找出数组中的最大值。变量max代表身高最高的游客。
2024-03-23 08:11:19 320
原创 解方程应用题4
水果店里香瓜个数和西瓜个数的比是3:8,如果每天卖出15个香瓜,36个西瓜,若干天后,香瓜正好卖完,西瓜还剩20个。那么水果店里原有西瓜多少个?题目1:浓度为20%,18%的盐水混合后得到18.8%的盐水。如果18%的盐水比20%的盐水多30克,需要18%的盐水多少克?题目2:一家商店经销一种商品,由于进货价降低6.4%,使利润率提高8%,那么原来经销这种商品的利润率是百分之几?某商品按20%利润定价,然后按8.8折出售,共返利70元,这件商品的售价是多少?这次依然是考试,但是难一些。
2024-02-04 17:48:27 360
原创 列方程解应用题3
题目1:一项工程,甲乙一起做4天,再由乙做5天可以完成,已知甲每天比乙多做这项工程的1/30,那么甲乙一起做需要多少天?这里有一些人会把甲工作效率设成31/30x,乙的工作效率是1/15,甲就是1/15+1/30=1/10。2,甲书架上的图书数量是乙书架图书数量的4/5,从这两个书架上各拿走120本后,甲书架的图书数量是乙书架图书数量的4/7。1,儿子今年的年龄是爸爸年龄的1/4,如果儿子再长大10岁。3,一批水泥,第一天用去了1/2多1吨,第二天用去了余下的1/3少2吨,还剩下16吨。
2024-02-03 18:13:44 1704
原创 列方程解应用题2
题目1:一项工程,甲乙一起做4天,再由乙做5天可以完成,已知甲每天比乙多做这项工程的1/30,那么甲乙一起做需要多少天?我们设乙做这项工程要x天,那么甲的工作效率就是x+1/30。这里有一些人会把甲工作效率设成31/30x,乙的工作效率是1/15,甲就是1/15+1/30=1/10。结果:1/(1/15+1/10)=6天。这道题我们其实是可以用假设法的,但是方程会更加简单!注意一下题目甲比乙多的是这项工程的1/30。4x+4(x+1/30)然后根据题目(好了继续,甲乙共同做了4天。
2024-01-30 17:41:25 536
原创 列方程解应用题
题目2:书架上层与下层的图书本书比是4:5,若从书架上下层各取走15本书,则上下两层的图书本书比是7:10,原来书架上下层各有多少本书?我们设上层有4x,下层有5x。上下层都减少了25,那么就是4x-25,5x-25。题目1:一辆汽车从A地前往B地,现以行驶了2/6,还有50km就到达了处于AB两地的中间的服务站。这是运用了对应量的方法50的分率是1/6。则上层:15*4=60 下层:15*5=75。我们经常遇到用算术方法解决的很头疼的应用题。这道题我们可以用方程解,算术方法不好理解。
2024-01-28 18:29:17 501 1
空空如也
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关注的人