草庐IT

st表

位运算与&或|异或^左移>\(x\(x>>y=\frac{x}{2^{y}}\)\(2a+1=(a\(a\)%\(2=a\)&\(1\)st表当st表合并的复杂度为\(O(1)\)时,st表构建的复杂度为\(O(nlogn)\),查询的复杂度为\(O(1)\),但是st表并不支持修改。求区间最大值/最小值:复杂度\(O(n)\)st表的核心在于倍增和DP。\(f[i][j]\)表示以第\(i\)个数作为左端点,长度为\(2^{j}\)的区间的最值,也就是\([i,i+2^{j}-1]\)的区间最值。\(f[i][0]=a[i]\)\(f[i][j]=merge(f[i][j-1],f[i+2^

st表

位运算与&或|异或^左移>\(x\(x>>y=\frac{x}{2^{y}}\)\(2a+1=(a\(a\)%\(2=a\)&\(1\)st表当st表合并的复杂度为\(O(1)\)时,st表构建的复杂度为\(O(nlogn)\),查询的复杂度为\(O(1)\),但是st表并不支持修改。求区间最大值/最小值:复杂度\(O(n)\)st表的核心在于倍增和DP。\(f[i][j]\)表示以第\(i\)个数作为左端点,长度为\(2^{j}\)的区间的最值,也就是\([i,i+2^{j}-1]\)的区间最值。\(f[i][0]=a[i]\)\(f[i][j]=merge(f[i][j-1],f[i+2^

浅谈使用三菱PLC结构化ST编程心得。

  前段时间用三菱PLC完成了个项目,之前一直在使用运动控制器或者单片机做项目,个人确实不是很适应梯形图编程,后来还是决定使用结构化ST编程。三菱编程软件GXWorks2.FX3U系列!  第一次使用基本一直是测试测试在测试。  首先我测试的是创建多个任务,发现可以运行多个任务。下图是测试结果:具体三个任务的优先级我也不清楚         1、我在项目应用中只用了一个任务(task)。下图        2、在项目一个FB块的举例和应用。这个项目基本没有对实时性的要求,所以本着节约的思想用了第三方的IO模块,ModbusRtu通讯,用三菱PLC扩展通讯模块FX3U-485-BD挂了15个IO

浅谈使用三菱PLC结构化ST编程心得。

  前段时间用三菱PLC完成了个项目,之前一直在使用运动控制器或者单片机做项目,个人确实不是很适应梯形图编程,后来还是决定使用结构化ST编程。三菱编程软件GXWorks2.FX3U系列!  第一次使用基本一直是测试测试在测试。  首先我测试的是创建多个任务,发现可以运行多个任务。下图是测试结果:具体三个任务的优先级我也不清楚         1、我在项目应用中只用了一个任务(task)。下图        2、在项目一个FB块的举例和应用。这个项目基本没有对实时性的要求,所以本着节约的思想用了第三方的IO模块,ModbusRtu通讯,用三菱PLC扩展通讯模块FX3U-485-BD挂了15个IO

【SDE】在ArcMap10.8.1、Oracle12102环境下配置SDE空间数据库,并激活st_geometry

环境准备客户端Windows10ArcCatalog10.8.1精简版OracleClient12-32bit安装包名称:instantclient-basic-nt-12.1.0.2.0.zipNavicatPremium15服务端WindowsServer2019Standard(桌面体验版)Oracle12.1.0.2安装包名称:winx64_12102_database_1of2.zip、winx64_12102_database_2of2.zipMSVC++2015-2022Redistributable(x64)安装包名称:VC_redist.x64.exe版本对应以下表示ArcG

【SDE】在ArcMap10.8.1、Oracle12102环境下配置SDE空间数据库,并激活st_geometry

环境准备客户端Windows10ArcCatalog10.8.1精简版OracleClient12-32bit安装包名称:instantclient-basic-nt-12.1.0.2.0.zipNavicatPremium15服务端WindowsServer2019Standard(桌面体验版)Oracle12.1.0.2安装包名称:winx64_12102_database_1of2.zip、winx64_12102_database_2of2.zipMSVC++2015-2022Redistributable(x64)安装包名称:VC_redist.x64.exe版本对应以下表示ArcG

导入你的 ST 项目到 Visual Studio,你学会了吗?

去年我们官宣了VisualStudioCode可以直接导入ST项目,今天再次宣布:它的好兄弟VisualStudio202217.6也支持此功能,详细请看下文。在ARM微控制器领域,有许多芯片供应商,其中最大的是意法半导体(ST)。ST拥有大量具有多种功能的可用器件,以及用于评估这些功能的支持开发板。他们还生产STM32CubeIDE,一种用于定位设备的自定义IDE,以及STM32CubeMX,一种用于配置设备属性和生成项目的配置工具。如果你是已经在使用过ST产品的开发人员,我不会告诉你任何新内容。你可能不知道我们为在VisualStudio中启用嵌入式开发人员所做的工作。此嵌入式体验依赖于新

导入你的 ST 项目到 Visual Studio,你学会了吗?

去年我们官宣了VisualStudioCode可以直接导入ST项目,今天再次宣布:它的好兄弟VisualStudio202217.6也支持此功能,详细请看下文。在ARM微控制器领域,有许多芯片供应商,其中最大的是意法半导体(ST)。ST拥有大量具有多种功能的可用器件,以及用于评估这些功能的支持开发板。他们还生产STM32CubeIDE,一种用于定位设备的自定义IDE,以及STM32CubeMX,一种用于配置设备属性和生成项目的配置工具。如果你是已经在使用过ST产品的开发人员,我不会告诉你任何新内容。你可能不知道我们为在VisualStudio中启用嵌入式开发人员所做的工作。此嵌入式体验依赖于新

C++ rand 与 srand 的用法

计算机的随机数都是由伪随机数,即是由小M多项式序列生成的,其中产生每个小序列都有一个初始值,即随机种子。(注意:小M多项式序列的周期是65535,即每次利用一个随机种子生成的随机数的周期是65535,当你取得65535个随机数后它们又重复出现了。)我们知道rand()函数可以用来产生随机数,但是这不是真正意义上的随机数,是一个伪随机数,是根据一个数(我们可以称它为种子)为基准以某个递推公式推算出来的一系列数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数,当计算机正常开机后,这个种子的值是定了的,除非你破坏了系统。1.rand()功能:随机数发生器用法:in