![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
写写算法
文章平均质量分 51
发一些平时刷的题目
Blue.ztl
Talk is cheap,show me your code,show me your algorithm.
展开
-
P1004 [NOIP2000 提高组] 方格取数
如果我们走的(i,j)和(k,p)是同一个点,那我们这个点的价值就只加一次就好。dp[i][j][k][p]总共有四种情况下下,右右,右下,下右。如果本题,是求一条最有价值的路径那是很简单的。那本题说可以走两次,我们就拓展为走两条路。原创 2024-08-10 18:15:08 · 46 阅读 · 0 评论 -
第十五届蓝桥杯C/C++B组题解——R格式
到此三次模拟全部结束,接下来我们要做的便是四舍五入,我们数据是倒着存在数组A中的,前面我们已经计算出小数点后一位的位置flag。对于50%的用例,直接开double,不是问题,但对于100%的用例,便需要使用高精度算法对浮点数进行模拟运算,下面结合图片一起分析。接着分析,本题是欲将一个浮点数乘上2^n,那么问题就可以转换成,将数组A[],每一位都乘上2然后,模拟进位的过程。第二次,我们发现运算结束时,最高位的进位不为0,那我们就要扩展最高位,代码是这样写。原创 2024-04-23 16:25:48 · 572 阅读 · 2 评论 -
第十五届蓝桥杯C/C++B组题解——数字接龙
图中,我画出了(1,3,5,7)走法的原点和下一个点,此外,我还标记了两个点,请读者细想,如果这两个点同时被访问过了,是不是说明,两点中间有一条路径,并且与当前路径形成了交叉。2. 对于路径经过的棋盘格子,按照经过的格子顺序,上面的数字组成的序列要满足:0, 1, 2, . . . , K − 1, 0, 1, 2, . . . , K − 1, 0, 1, 2 . . .。这也是这个题目的难点,什么叫做交叉?这在赛场上就是送分的信息,如果一时间没有很好的思路,那么输出-1,抢分,不失为一种很好的策略。原创 2024-05-01 10:52:46 · 1175 阅读 · 3 评论 -
P1003 [NOIP2011 提高组] 铺地毯
按顺序枚举地毯,判断点在不在地毯中,不断更新地毯序号即可。原创 2024-08-10 16:38:19 · 45 阅读 · 0 评论 -
P1002 [NOIP2002 普及组] 过河卒——DP解法
注意马自己算障碍,不能去吃马,注意开long long!一模一样不过要自己写一个障碍数组罢了。原创 2024-08-07 23:29:19 · 190 阅读 · 0 评论 -
P1069 [NOIP2009 普及组] 细胞分裂
然后,我们对每个细胞分裂1s的值(也就是Si)都除以试管的质因子,如果Si能整除每一个试管的质因子,就说明该Si,可经过分裂后变为试管的倍数,就是可以整除试管,但是如果不能整除试管的每一个质因子,那么分裂几次都没用。本题我们得知试管数是m2个m1相乘,非常大,直接算是不现实的,我们可以先将m1做质因数分解,记录其质因数,并且记录其质因数个数,然后m2个m1,就直接将质因数个数都乘上m2即可。S1:30=2*3*5再裂一次 2*2*3*3*5*5 两次无法成为24的倍数。说还是比较复杂具体看代码!原创 2024-08-08 19:40:43 · 153 阅读 · 0 评论