码蹄集
sweet_Mary
这个作者很懒,什么都没留下…
展开
-
组合数(递推版)的初始化
橙色方块由两个绿色方块相加而来,一个为1,一个为0,所以斜对角线都为1,可以通过计算得来,不需要初始化,需要与。初始考虑为将第一列数和斜对角线上的数进行初始化。只需要初始化第一列元素即可。原创 2023-10-22 10:33:51 · 131 阅读 · 0 评论 -
码蹄集2230--square 高精度乘低精度,组合数
高精度乘低精度,组合数原创 2023-10-14 16:47:46 · 278 阅读 · 0 评论 -
码蹄集盒子与球 第二类Stirling数(斯特林数)
第二类Stirling数原创 2023-10-12 19:20:47 · 195 阅读 · 0 评论 -
码蹄集越狱
蛮好想的,所有情况-无法越狱的情况。但是要注意m^{n}和。,在()中+1007。原创 2023-10-11 12:21:09 · 314 阅读 · 0 评论 -
码蹄集2218--阶乘的质因子
感觉和求解欧拉函数的过程很像。原创 2023-09-24 11:24:25 · 117 阅读 · 0 评论 -
码蹄集2222-整数的幂 费马小定理 快速幂
费马小定理+快速幂原创 2023-09-24 11:07:17 · 121 阅读 · 0 评论 -
码蹄集2219--欧拉函数
欧拉函数原创 2023-09-22 11:46:29 · 258 阅读 · 0 评论 -
码蹄集2210--除法
那么在一段区间内[l,r],所求的值都是一样的,减少了循环的次数。(当i比k大时,即在表格中,i在k的左面)则左端点为l时,右端点为r,(l<=r)原创 2023-09-16 17:27:09 · 186 阅读 · 0 评论 -
码蹄集2209--石头剪刀布
记录求最大公因数+最小公倍数。原创 2023-09-15 17:32:09 · 89 阅读 · 0 评论 -
码蹄集2208--全部相同
简而言之,思路是对数组做个去重排序,求相邻两个数之间的最大公因数。原创 2023-09-14 17:48:31 · 83 阅读 · 0 评论 -
码蹄集2199-进行一个幂的运算
就是说,我以为如下这种方法会超时,但事实证明AC了...(sad)还是去尝试!那么答案就是:5^1 * 5^2 *5^4 *5^8 *... 5*512。5^2是5^1的平方,后面的数依次是前一个数的平方。思路不是很好想(小白水平,看题解才想到)举个例子,m=5,k=10。注意k=0的特殊情况~原创 2023-09-06 21:49:36 · 66 阅读 · 0 评论 -
码蹄集2198--个数统计2
(这里只写了next数组的求解模板)高精度*低精度+KMP求解。这里补上KMP的求解模板。原创 2023-09-05 18:52:47 · 104 阅读 · 0 评论 -
码蹄集2197--个数统计
这道题用到的是高精度*低精度的计算,简单来说就是将高精度这个数和相乘后的结果这个数都存储到int[]数组中。注意一定要有判断len的大小(相乘可能会超过初始len值)和去掉前导0。举个例子:100*99。原创 2023-09-06 21:42:37 · 109 阅读 · 0 评论 -
码蹄集2202--Good Num的数量
我们需要注意的是题中问的是Good Num的数量,而不是Good Num有哪些,也就是说我们不需要求出什么,而是可以从每一位的角度来进行考察。每一位有0~9这几个数字,那么质数有4个,偶数有5个,这样格局就打开了...一看到是10^15,就很蒙。思路来了,就用到了快速幂。原创 2023-08-31 17:03:09 · 269 阅读 · 1 评论 -
码题集2190---三进制计算机2
5的普通三进制为21(3)。那么最后一位为1,不变;倒数第二位为2,变为-1,倒数第三位加1。那么,5的平衡三进制为1 -1 1。先转换为普通的三进制,再从后向前依次遍历每一位,如果为0或1,则不变;如果为2,则将该位变为-1,前一位+1。答案是负数转换后为1的地方变为-1,-1的地方变为1则对应着正数转换后的数。2的平衡三进制为1 -1,那么就可以知道-2的平衡三进制为-1 1。长话短说,这道题就是求十进制怎么转换为平衡三进制(0/1/2)2.负数转换后和正数转换后有什么关联?自己去尝试写一下代码吧~原创 2023-08-23 11:24:56 · 256 阅读 · 0 评论 -
码蹄集--2178 最漂亮的工艺品 最小表示法
整数数组与字符串处理是一样的哦~原创 2023-08-20 10:36:18 · 104 阅读 · 2 评论 -
码蹄集2177--密码
2.在一种前缀和后缀的情况下,看中间是否有相同的字符串,运用到strstr函数,strstr(a,b)判断字符串a是否含有字符串b。2.strncpy(a,b+2,10)----将b字符串的第三个字符开始取10个字符赋值给a。那么最长的前后缀长度为6,第二长的是next[6]=3,第三长的是next[3]...next数组: -1 0 0 0 1 2 3 4 5 6。1.找到S的各种前缀和后缀,从最长的向最短的考虑。1.strlen用多了会疯狂超时!原创 2023-08-16 16:04:07 · 94 阅读 · 1 评论 -
码蹄集2176--字符串构造
这道题怎么应用next数组呢?例如:t串为ababa,当打印完第一遍字符串后,应该跳到第四个字符‘b’,b的位置是由求整个t串的最长相等前后缀的字符数,即next[5]的值。next[5]=3,即ababa的前3个字符和后3个字符相等。那么我们需要跳过3个字符,继续第二轮输出,只需要输出ba即可。第三轮,第四轮都是ba...又着重复习了以下KMP算法的next数组求解,一定要记住模板,除了next[0]=-1,其余的next[i]都是指目标串中:对于前i-1个字符,即最长相等前后缀的字符数。原创 2023-08-16 12:09:16 · 120 阅读 · 1 评论 -
字符串a转变到字符串b所需要的最小步数(线性dp)--码蹄集2169
首先,我想到了g[i][j]表示A的前i个字符变到B的前j个字符需要的最少的变换次数,那么根据题意,明显g[i][j]有三个来源:删除一个字符,插入一个字符,将一个字符改写为另一个字符。四个来源:g[i-1][j]+1 ,g[i][j]=g[i][j-1]+1 ,g[i][j]=g[i-1][j-1]+1 ,g[i][j]=g[i-1][j-1]类比为g[i][j]=g[i-1][j-1]+1。类比为g[i][j]=g[i-1][j]+1。类比为g[i][j]=g[i-1][j-1]原创 2023-08-06 12:06:05 · 396 阅读 · 0 评论 -
字符串s的排列,码蹄集2171
看了一眼题目,大概是做题太少了,对于字符串的不同排列,第一个想法是暴力做真正的排列,看完题解后才想到可以将字符串s1的每个字母出现的次数记录在vector<int>a中,再与同长度的字符串s2(限定一下窗口,依次往后挪)做比较。vector<int> a1(26)与vector<int> a2(26)可以直接作比较: if(a1==a2)也可以直接 a1[s1[i]-'a']++;改动数据 (只能对已存在的元素进行赋值或者修改操作)vector还是很好用的~原创 2023-08-02 14:40:03 · 86 阅读 · 0 评论 -
0/1背包的变量初始化+路径打印
以0/1背包问题为例,0/1背包递推关系式为g[i][j]=max(g[i-1][j],g[u-1][j-w[i]]+p[i]),那么看图片,我们要想得到紫色方块的g值(g[i][j]表示在前i种物品,即第1-i种物品,背包重量为j的情况下所获得的最大效益值),就需要知道紫色方块的上面方块的g值,和紫色方块左斜上方(某一个方块的)g值。我们还需要初始化第一纵列(g[i][0],此时背包重量为0,显然效益值也为0),即g[i][0]=0。如果和上面的格子的值一致,说明这个物品,我们没有取到,再向上去寻找;原创 2023-08-02 12:02:21 · 37 阅读 · 0 评论