选择特殊符号
选择搜索类型
请输入搜索
改为单边标注时可以的。 但是含不含支座的宽度,必须对照图纸的标注,与图纸一直才能计算准确。
在绘图界面上方点击【设置放坡】,选择【指定边】,然后鼠标左键选中图元的某条边,右键输入放坡系数即可。
你好 如果你的负筋是单边标注 支座内边线、支座外边线、支座中心线 这三种表示方法计算出的钢筋是不一样的 支座内边线 标注值+支座宽 支座外边线 标注值-支座宽 支座中心线 ...
单边接触悬臂梁振动特性研究
本文采用实验分析的方法,研究单边接触悬臂梁振动系统在阶跃激励与敲击激励下系统的振动特性。利用Matlab软件对采集到的实验数据进行时频分析,发现单边接触约束条件并不改变梁的固有频率,但是在固有频率附近出现高阶谐振频率聚集的现象。
单边膨胀喷管膨胀型面的非线性缩短设计
对单边膨胀喷管(SERN)型面进行非线性缩短设计,采用CFD技术分析了非线性缩短SERN性能。与理想喷管、线性缩短理想喷管性能对比发现:非线性缩短理想喷管的推力性能优于直接线性缩短理想喷管;NPR较大范围内,较理想喷管推力性能下降很小,最好时不足0.04%。非线性缩短SERN设计方法应用于截短理想喷管并与RAO喷管推力性能对比发现:完全膨胀时推力性能较RAO喷管只低0.7%;严重过膨胀状态NPR=40时,推力性能较RAO喷管高15.6%。
(一)绝对数时间序列
1.时期序列:由时期总量指标排列而成的时间序列。
时期序列的主要特点有:
1)序列中的指标数值具有可加性。
2)序列中每个指标数值的大小与其所反映的时期长短有直接联系。
3)序列中每个指标数值通常是通过连续不断登记汇总取得的。
2.时点序列:由时点总量指标排列而成的时间序列
时点序列的主要特点有:
1)序列中的指标数值不具可加性。
2)序列中每个指标数值的大小与其间隔时间的长短没有直接联系。
3)序列中每个指标数值通常是通过定期的一次登记取得的。
(二)相对数时间序列
把一系列同种相对数指标按时间先后顺序排列而成的时间序列叫做相对数时间序列。
(三)平均数时间序列
平均数时间序列是指由一系列同类平均指标按时间先后顺序排列的时间序列。
pn序列是一种伪噪声序列,这类序列具有类似随机噪声的一些统计特性,但和真正的随机信号不同,它可以重复产生和处理,故称作伪随机噪声序列。
PN序列(Pseudo-noise Sequence)
PN序列有多种,其中最基本常用的一种是最长线形反馈移位寄存器序列,也称作m序列,通常由反馈移位寄存器产生。
PN序列一般用于扩展信号频谱。
m序列的随机特性:1,、平衡特性 2,、游程特性 3、相关特性
最长上升子序列
Longest Increasing Subsequence
最长上升子序列:
有两种基本方法:两个时间复杂度分别为O(n^2)和O(nlogn)
对于给定数列a,元素个数为n,f[i]为以元素i结尾的最长子上升序列的最大长度。
最长上升子序列f满足对任意1<=j<i<=n(a[j]<a[i]),有f[j]<f[i]。
容易得出O(n^2)的DP状态转移方程:
f[i]=max{f[j]}+1;(1<=j<i且a[j]<a[i])
我们不妨把f的初值设为0,并在末尾添加一个元素inf,并将n++
这样经过两重循环,f[n]即为LIS长度
代码如下:
又称作CMI算法
时间复杂度为O(nlogn)
其操作如下:
开辟一个栈b,每次取栈顶元素s和读到的元素a做比较,如果a>s,则置为栈顶;如果a<s,则二分查找栈中的比a大的第1个数,并替换。最终栈的大小即为最长递增子序列为长度
考察b栈内每个元素的含义,b[i] 表示所有长度为i的上升子序列中最小的最后一个数.
·举例:原序列为3,4,5,2,4,2
栈为3,4,5,此时读到2,则用2替换3,得到栈中元素为2,4,5,再读4,用4替换5,得到2,4,4,再读2,得到最终栈为2,2,4,最终得到的解是:
长度为1的上升子序列中最小的最后一个数是2 (2)
长度为2的上升子序列中最小的最后一个数是2 (2,2)长度为3的上升子序列中最小的最后一个数是4 (3,4,4)
可知没有长度为4的上升子序列,最长递增子序列长度为3. (3,4,4)
CMI本质是LIS问题的另一种动态规划思路
注意:CMI只能求LIS的长度和最后一个数,不能求LIS的序列!
代码如下:
#include<iostream>
using namespace std;
int n;
int a[1001],b[1001];
int rear;
int solve(int t)
{ int l=1,r=rear;
while(l<=r)
{ int mid=(l+r)>>1;
if(b[mid]>=t)//若为非递减序列,则为b[mid]>t
r=mid-1;
else
l=mid+1;
}
if(l>rear)
rear=l;
return l;
}
int main()
{ int i,j;
scanf("%d",&n);
rear=0;
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
b[solve(a[i])]=a[i];
}
printf("%d\n",rear);
system("pause");
return 0;
}