- 2024-11-17子网划分
①A类:占有1个字节(8位),定义最高位为0来标识此类地址,余下7位为真正的网络地址,支持2^7-2=126个网络;后面3个字节(24位)为主机地址,所包含的主机数量为:2^24-2=16,777,214,约1600万个(减去2,其中一个是全0的地址,另一个是全1的地址)。A类网络地址第一个字节的十进制值为000~127。②B类:占有
- 2024-11-06「模拟赛」NOIP2024 模拟 2
Rank14,190pts比赛链接新的阶乘容易发现只需要处理1~n的质因子分解即可,每个数\(i\)本来有\(n-i+1\)个我们在欧拉筛的过程中同时维护每个数的一个质因子\(pri\)每次从\(n\)到1把遇到的非质数\(i\)现有的个数加到他的质因子\(pri_i\)和\(\frac{i}{pri_i
- 2024-11-04探索IEC104:电力系统监控与远程控制的强大协议
在电力系统和工业自动化领域,稳定、高效的通信协议是保障系统稳定运行和高效管理的基础。今天,我们来深入了解一种广泛应用的协议——IEC60870-5-104(简称IEC104),它以其独特的优势,成为电力系统监控和远程控制的重要支撑。一、什么是IEC104协议?IEC104协议是一种基于TCP/IP的工业以
- 2024-10-23二进制转十进制
以下用一个字节作为例子:每个比特(即小方框)中放数字0或1其中最高位为符号位,正数放0 负数放1 现在将每个小方框由低到高,如下图式编号: 由此当每个比特上都为1时就有二进制转十进制的特殊公式:(x≥0,x∈N+) 例如:给
- 2024-10-14CSP模拟赛 #37
A题意:给定\(n,a_{1\simn},b_{1\simn}\),两个点\(i,j\)之间有连边当且仅当\(a_i-a_j\lei-j\leb_i-b_j\)或\(a_j-a_i\lej-i\leb_j-b_i\),求图中连通块数量。\(1\len\le10^6\)考虑条件\(a_i-a_j\lei-j\leb_i-b_j\)相当于\(a_i-i\lea_j
- 2024-09-23Oracle中数据类型number(m,n)
Oracle中数据类型number(m,n)中m表示的是所有有效数字的位数,n表示的是小数位的位数。m的范围是1-38,即最大38位。 1>.NUMBER类型细讲:Oracle number datatype 语法:NUMBER[(precision [,scale])]简称:precision --> p scale
- 2024-09-15「KDOI-06-S」题解
T2树上异或题面分析树形DP题考虑一颗子树内部的某种割边方式,假设其被分为\(n\)个连通块,每个连通块的权值分别为\(a_1,a_2,\dots,a_n\),那么该子树在这种割边方式下对答案的贡献就为\(\prod_{i=1}^{n}a_i\)。因此就可以从叶子向根不断合并,求出每种割边状态的值,时
- 2024-09-10位图
概述位图(BitMap)使用二进制的比特位来表示一个数是否存在,比如一个字节占8个比特位,这样就能用该字节表示1-8,对应比特位为1表示对应数字存在,为0则不存在,大大节约存储空间位图的Java实现在java.util包中有官方的位图实现BitSet,我们也可以自己实现位图Java使用byte[
- 2024-09-06abc365_E
abc365E-XorSigmaProblem思路本题首先可以想到用前缀异或和维护,我们记作\(b_i=a_1\oplusa_2\oplus···\oplusa_i\),所求的式子就变成了\(\sum^{n-2}_{i=0}\sum^n_{j=i+2}b_i\oplusb_j\),直接求是\(O(n^2)\)的,考虑如何快速求出\(\sum^{x-1}_{i=0}b_i\oplusb_x\)因为这
- 2024-08-21原码、补码和反码
引言1、计算机中所有的数据之间的运算都是采用补码进行的,要想知道一个数据的补码,就必须得先知道其反码,要想知道反码,就必须先知道其原码2、上面所提到的原码,反码,补码其实都是二进制的形式3、我们看到的结果都是原码转10进制之后的结果原码:最高位为符号位,其余位为数值位正整数:
- 2024-08-13洛谷P7767 DNA 题解
ProblemSolution考虑DP。设\(dp_{i,0}\)表示前\(i\)个字符全为A的最小操作次数,\(dp_{i,1}\)表示前\(i\)个数全为B的最小操作次数。考虑转移。若当前位为A则\(dp_{i,0}=\min(dp_{i-1,0},dp_{i-1,1}+1)\),\(dp_{i,1}=\min(dp_{i-1,0}+1,dp_{i-1,1}+1)\);若当前位
- 2024-08-13arc182c 题解
arc182c思路有\(6\)个小于\(14\)的质数,设这\(6\)个质数的指数分别为\(x_1,\dotsb,x_6\)。\(ans=\sum(\prod_{i=1}^d(x_i+1))\)。状压这\(6\)个数,维护\(val_s=\prod_{i=1}^6(x_i\times[s二进制第i位为1]+[s二进制第i位为0])\)。当加入一个数时,某些\(x_i\)会加
- 2024-07-31二进制|原码、反码、补码
1.原码原码是计算机中表示整数的一种方法,其中最高位为符号位,其余位为数值位。正数符号位为0,负数符号位为1。例如,+5的原码为00000101,-5的原码为10000101。2.反码反码是将原码中的数值位按位取反而得到的。正数的反码与原码相同,负数的反码是符号位保持不变,数值位按位取反。例如
- 2024-06-30QOJ 1086 Bank Security Unification
令题目给定的序列为\(a_{1\simn}\)。考虑到一个比较基础的DP是设\(f_i\)为以\(a_i\)结尾的序列的最大值。然后转移就是\(f_i=\max\{f_j+(a_i\&a_j)\}\)。考虑排除掉一些不优的状态。令\(a_j\)的最高位为\(x\),且\(k\)满足\(a_k\)最高位也为\(x\)且\(k
- 2024-06-05JCC
跳地址JMP修改eip的值,让程序下一步执行JMP修改EIP的地址格式:JMP寄存器/立即数==MOVEIP,寄存器/立即数注:只影响EIPCALLPUSH地址BMOVEIP,地址A/寄存器 ==CALL地址A/寄存器复制下一个地址,在修改EIP的值eg:运行执行命令后,call下一个指令的地址入栈,ESP减四,EIP被修改
- 2024-05-18或、与、非、异或用途
一、关键词**|(或)、&(与)、~(非)和^(异或)**符号描述运算规则&与两个位都为1时,结果才为1或或两个位都为0时,结果才为0^非两个位相同为0,相异为1~左移0变1,1变0<<左移各二进位全部左移若干位,高位丢弃,低位补0>>右移各二进位全部右移若干位,对无符号数
- 2024-04-09第 9 场 小白入门赛 字典树考试
题目:4.字典树考试【算法赛】-蓝桥云课(lanqiao.cn)思路:我们可以先抛开题目,想一下一个二进制数是111111111 --->9个1,题目说(Ai&Aj)所以两个1一个组合,我们用最笨的方式取枚举----->是8+7+6+5+.......+1是36两两一组,想想X个1如何算呢?是不是应
- 2024-04-07观察下面的代码,假设a的值为01000,则b的结果为()。
inputsigned[4:0]a;outputsigned[4:0]b;assignb=a>>>1;选项:A、00100B、01100C、00010D、01010答案:A解析:对于有符号数来说:若符号位为1,使用>>>,高位补1;若符号位为0,使用>>>,高位补0;对于无符号数来说,无论最高位是什么,使用>>>,高位都补0。易错点:有符号(signed)、无符
- 2024-04-01快速幂
核心思想711二进制表示为71011=71000*710*71也就是71*72*78所以我们不断计算自身为底的平方数,当末尾位为1时乘上结果。代码publiclongfastPow(longx,longn,longmod){longres=1;for(;n!=0;n>>=1){//1011->101->10->
- 2024-03-26C语言 ---- 位操作处理
在C语言中,位操作是一种对整数的二进制位进行直接操作的技术。它们通常用于对位表示的数据进行快速、高效的操作。以下是C语言中常用的位操作:按位与(BitwiseAND):用&运算符执行,将两个操作数的对应位进行逻辑与操作,结果为1时,结果位为1,否则为0。result=num1&num2;按位或(B
- 2024-03-17整数与浮点数在内存中的存储
前言:整数和浮点数在内存中都是用二进制补码存储,但存储的方式不同,本文讲讲二者的存储方式。目录1.整形的存储方式 2.浮点型的存储方式 1.整形的存储方式 最高位为字符位判断该整形数是正还是负,若符号位为1则是正数,若为0则为负数。其余位存放数值的大小。数
- 2023-12-24Day05位运算符
位运算符//位运算符:&,|,^,<<,>>//位运算,与二进制有关A=00111100B=00001101A&B=00001100//按位与(&),对于两个操作数的每一个对应位,如果两个位都是1,则结果位为1,否则为0A|B=00111101//按位或(|),对于两个操作数的每一个对
- 2023-10-28IEEE 754标准中浮点数表示
根据IEEE754标准,浮点数的表示公式为:\[f=(-1)^s*2^e*1.f\]s、e、f分别是浮点数的符号位、指数位和尾数位。它们可以通过以下方法获得:符号位s,符号位是浮点数的最高位,1表示正数,0表示负数。指数位e,指数位从第9位开始,共8位。指数位表示小数点的位置。尾数位f,尾数
- 2023-10-16今日学习:位运算&中国剩余定理
-2^31的补码是-0.也就是10000000000000000000000000000000补码是原码取反加1x&(-x)是最低位为1的位为1,其余位为0. 中国剩余定理: m1,m2,.....,mn相互互质。x=a1(modm1)x=a2(modm2)...x=an(modmn)那么解为:记M=m1*m2*...*mn; Mi=m1*m2....*mn/mi
- 2023-09-19基数排序(这里假设数据的最高位为3)
基本思想:在需要排序的一串数据中,取最长位数为参考,不足最长位数的数据要在前面补零,然后形成一串相同位数的数据,最后通过比较这串数据的个位数,十位数,百位数….最后就会得到一个有序的序列。用Java实现如下所示:importjava.util.Arrays;publicclassTest1{publicstaticvo