摘要: 其实一直到现在我都不知道自己有没有学会递归,因为做题的时候我也是避重就轻挑着我擅长的题做,所以这方面一直没有得到突破性的提高。 因为递归的概念很好理解,但是实际操作起来就会让人很迷糊,比如说汉诺塔。 但昨天老师在群里面分享了四节递归课程,我决定重新拾起我以前没有干完的活。 那么我们就先从汉诺塔这个经 阅读全文
posted @ 2020-05-10 09:48 dgdger 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 摘要:N×N 的国际象棋棋盘上有K个车,第i个车位于第R[i]行,第C[i]列。求至少被一个车攻击的格子数量。 车可以攻击所有同一行或者同一列的地方。 看起来挺简单,看到数据范围了吗?看到了:对于100% 的数据,N1≤N≤109;1≤K≤106;1≤Ri?,Ci?≤N。 死心了吗?是真的有点绝望。 阅读全文
posted @ 2020-05-08 11:20 dgdger 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 摘要:太郎有N只兔子,现在为了方便识别它们,太郎要给他们编号。兔子们向太郎表达了它们对号码的喜好,每个兔子i想要一个整数,介于1和Maxnumber[i]之间(包括1和Maxnumber[i])。当然,每个兔子的编号是不同的。现在太郎想知道一共有多少种编号的方法。你只用输出答案mod 1000000 阅读全文
posted @ 2020-05-08 10:51 dgdger 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 我的天,这道题简直就是噩梦,我查了好久好久的资料才看懂题意(没错你没听错看懂题意/暴风哭泣) 大致意思就是说,给你一个整数(可能是正的也可能是负的)和一个你要转换的负进制数的基数(就是你要转换为几进制,不过他是负的)。 思路:跟第一题是一样的,不过用短除法取余然后转换进制可能不可行,因为他的被除数可 阅读全文
posted @ 2020-05-08 10:35 dgdger 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 摘要:就是让你把一个数的二进制凑够32位然后从中间劈开交换,再转换成十进制。 我一开始写这道题的时候,思路就是很暴力的把他们拆开,补零,交换转成10进制(用了好多字符串)。 代码如下: #include<iostream> #include<cstdio> #include<cstring> usi 阅读全文
posted @ 2020-05-08 10:21 dgdger 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 摘要:有n根(n为奇数)长短不一的筷子,里面可以凑成(n-1)/2双筷子,只剩下一根不能凑对,问那根不能凑对的筷子有多长。 乍听起来好像不难,桶是一个好东西,可是一看数据:对于100%的数据,N<=10000001,筷子长度不大于 10^9。 桶直接就淘汰掉了。 但是其实我第一次A用的却是桶,直接上 阅读全文
posted @ 2020-05-08 09:45 dgdger 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 摘要:编一个程序实现两种不同进制之间的数据转换。 解题思路:其实思路不是很难,就是把n进制数先转换为十进制,再由十进制转换为m进制的数。 首先要实现的就是把n进制数转换为十进制数,我们用乘法把他算出来。 比如说一个16进制数FFF换算为十进制,F=15,也就是说他的第一位、第二位和第三位上都是15。 阅读全文
posted @ 2020-05-07 23:38 dgdger 阅读(297) 评论(0) 推荐(0) 编辑