自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 洛谷:口算练习题(c++)sscanf与sprintf

自我思考:刚开始拿到这道题就在思考,怎样才能判断下一个组是字母还是数组,并且输入的是字母就转换为字符串,是数字就转换为第一个数字以及怎样输出64+46=110并给出其长度,按照c++的cout是不行的,没法计算长度,若是将数字储存为字符又要考虑其不同长度情况太过复杂。新学的大佬思路:针对我思考的两个问题,刚好看题解都有相应的解答,那便是用函数sscanf与sprintf,能够完美解决这两个问题,因此记录下来用法以及具体示例。对我自己而言,注意sscanf与sprintf的使用,memeset的使用。

2024-02-11 08:24:24 490 1

原创 洛谷:阶乘之和(到50)(c++/c)

看了题解后,找了其中一个写得很简洁的大佬代码进行理解和分析,对自己理解高精度有帮助,且涵盖广泛,从本质上去了解了高精度。大佬写的c语言,换成了c++,其实也没太大区别,记录下来,以后遇见类似于可以来回顾一下。我的思路:刚拿到这道题觉得给个long long很好就解出来了,但是提交后有些数据是不满足了,因为long long不够接受了,得出来竟然是负数。高精度:有我个人理解的话是通过创造数组的方式当作是一个数,每个元素表示一个位数,满十进一。而这道题考的是高精度乘与高精度加,以及如何输出这个数组。

2024-02-08 08:54:27 368

原创 牛客网:how to use gcd(c语言)

思路:这里我们用两个数组分别接收前i个数和后i个数,然后再将前i-1个数最大公约数和后 i+1的公约数再取。注意:开头有可能i=1,因此我们在写函数要考虑特殊情况,具体操作看代码。这道题值得记录的是前缀后缀思想,通过数组去接受,前缀与后缀,这是通过时间复杂度的考虑;其次,特殊情况的考虑,如何规避特殊情况;记录这道题是因为用到了我不清楚的思想即前缀后缀,因为直接递归的话时间复杂度太高。还有的知识点就是最大公约数的求法。

2024-01-28 10:12:53 383

原创 牛客网:A加B,B模A(c语言编写)

也就是n-m除以b要是一个整数。而根据只要一个可行解,我们就取i=0,b=n-m的时候,而这个时候a=m,那么什么时候有解什么时候无解呢?我们根据a%b=m知只有b大于m的时候才能有解,于是有n-m大于m,n就大于2m。这道题呢实际上是不难的,之所以要记,是一个重要的思路,简化题目,通过阅读题目将题目简化,我觉得这道题是挺经典的。记下这道题,提醒自己要多思考题目简化题目。化繁至简,读题很重要!先看两个式子自然想到。

2024-01-26 22:55:38 564 1

原创 牛客网:第k个数(c语言编写)

正确的思路:参考了通过的代码,我的前面思路是正确的,而找最小值用局部代替整体,直接考虑一般情况,我们先用l和l1去找分别用加a和加b表示的大于前一个数的最小值,找到这两个值 然后比较大小,取较小的值,再拓展到一般情况一直到第k值。用l和l1很巧,就不会出现考虑不到位,只考虑后两三值的情况下加a或加b,而且能够循环后每次存储下l与l1的值,也不会再想取到两个大于前一个数的最小值后怎么放在数组里。自己的思路:刚开始是说先把问题特殊化,先把a与b相等的情况考虑,再把a与b化为a小于b的情况去找规律。

2024-01-25 16:14:40 345

原创 牛客网:跳石头(二分查找经典题型)(c语言编写)

解题思路:大佬们说是考二分查找,还用到了贪心的思路。知道起点到终点的距离,开始使用二分查找取中间值,判断中间值是否满足用小于等于M个石头的情况下为最小值,假设该中间距离为最短距离,加比它大的石头移掉,再看移走的石头数,若石头数小于等于M,则表示最短距离还可以再大,二分查找距离往右取;读题方面:总是读不懂最短跳跃距离的最大值,经过看了各位大佬的思路和代码理解了。最短跳跃距离的最大值指:官方将M个石头移走后的最小距离最大。记录此题,让自己对二分查找更加掌握,也能够理顺思路。

2024-01-23 17:03:26 553

原创 牛客网题:斐波那契数做位权(c语言编写)

思路:类比二进制十进制十八进制,先找好比1e9大的最小表示数,即最大到42位,用两个数组将每一位的位权和最大值存储起来备用。再从最大值开始暴力枚举。(注意:将x与比i小一位的进行比较),比较后若大,则给一位二进制位,并减去该位 对应权位,若小,则给0并给一位二进制位。在二进制与斐波那契进制转换上是难点,也是想不到的地方。记录一下,给自己的一个新的思路。写了给自己看的,每天进步一点点。

2024-01-17 13:40:26 356 1

空空如也

空空如也

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

TA关注的人

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