- 博客(18)
- 收藏
- 关注
原创 哈希表整理
区间和公式:h[l,r]=h[r]+h[l-1]*p[r-l+1];①计算Hash函数的值 ②定位到对应链中依次遍历、比较。前缀和公式:h[i+1]=h[i]*P+x[i];复杂信息映射到一个易于维护的值域内。把字符串转化为P进制的数字。
2024-07-26 15:19:16 271
原创 并查集整理
判断树根相同只需要看父节点是否相同,不同则往上找父节点的父节点……每个集合用一棵树表示,树根的编号为整个集合的编号。②询问2个元素是否在集合中。合并2集合只需要直接连接。
2024-07-25 15:56:07 195
原创 整数二分。
如果要找的数在右侧,则把mid作为左端,舍去左段。(新的部分要下中位数l+r+1>>1)如果要找的数在左侧,则把mid作为右端,舍去右段。(新的部分要上中位数l+r>>1)一分为二,逐渐逼近。
2024-07-22 20:48:40 139 1
原创 快排Quick Sort
当i碰到大于x的数字时,i停止移动,j开始向左移动。此时i的左侧数字全部小于x。一列数字(数组a),两侧分别开一个指针i,j,指向的数为x。当j碰到小于x的数字时,j也停止移动。此时j右侧全部大于x。ij均停下后,交换i与j所指向的数,重复操作,直到排序完成。③递归:处理左右两段。快排问题属于分治问题。
2024-07-22 20:26:46 111
原创 基于python的猜数字小游戏
导入random库,用randint函数在1-20内生成一个随机数,并将其赋值给answer。非常简单,但这是我进入本专业后写的第一个能交互的小东西儿uwu。重复次数与生成随机数范围均可修改。输入,i作为计数器控制循环次数。判断,并根据大小进行提示。
2023-12-24 09:49:09 485 3
原创 原码、反码、补码
25=11100110(反码)=11100111(补码)反码:原码的标志位(首位)不变,其他位01互换。25=00011001(原码=反码=补码)32=00100000(原码=反码=补码)eg:(八位:最高符号位不变,其他反)位数对齐直接加减,逢2变0。
2023-12-23 21:50:26 576 2
原创 二进制、十进制、八进制、十六进制转换
二→十012^n…2^1 2^0依次乘十→二① 8421法 凑数② 除二无法整除则1 能就0 结果逆着结二→八(0开头)取三位(取不了补一个0)分别421八→二分开看 除二(同理)必须成三位(不然补0)二→十六(0x开头)8421法十六→二分开看 除二(同理)必须成四位(不然补0)十六→十同理十→二 乘的是16^n…16^2 16^1 16^0八→十同理十→二 乘的是 8^n…8^2 8^1 8^001234567。
2023-12-23 21:45:23 396 2
原创 浮点数与变量辨析
整型常量:程序中直接写的数字(注意没有小数点),比如:100、1000。一般默认八进制如\xxx(三位),十六进制则为\xhh 以x开头。1.直接类型转换(不会四舍五入,直接全部舍去小数部分)前有数(1<=|数|<10)e后整数(Ee都可以)不合法,虽然是十六进制,但多到三位,所以不合法。实型常量:小数或有e的科学计数法(浮点嘛)2.%.0lf(会四舍五入)多到四位,所以不合法。
2023-12-23 21:40:10 465
原创 P1226 【模版】快速幂
本题注意指数奇偶,若为奇数,需要单独拆出一个底数,偶数的话直接劈开。快速幂是一种很有用的算法,可以将程序时间从n缩短为log2(n)。不然会WA ~ qwq。
2023-12-23 21:14:30 387 2
原创 埃氏筛法(埃拉托色尼)~找素数~
举个栗子:假设要找n内的全部素数,应找出√n以内的素数。先用2去筛(留着2,但素把2的倍数除掉(必为合数)),然后下一个素数:3,5,7……作为非素数(其实就是合数,除了1与其本身以外还可以被别的数整除),然后除掉所有的合数,留下的就是范围内的素数。首先这有一个神奇的规律:一个素数的各个倍数,是一个差为此素数本身的等差数列。因为任何数字都能被1整除,所以我们应从2开始,将范围内。QUST大一上期末2021B应用题2:。素数也叫质数,只能被1和本身整除。
2023-12-23 20:45:46 748
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人