Instead of finding the longest common subsequence, let us try to determine the length of the LCS. Then tracking back to find the LCS. Consider a1a2…am and b1b2…bn. Case 1: am=bn. The LCS must contain am, we have to find the LCS of a1a2…am-1 and b1b2…bn-1. Case 2: am≠bn. Wehave to find the LCS of a1a2…am-1 and b1b2…bn, and a1a2…am and b b b b1b2…bn-1 Let A = a1 a2 … am and B = b1 b2 … bn Let Li j denote the length of the longest i,g g common subsequence of a1 a2 … ai and b1 b2 … bj. Li,j = Li-1,j-1 + 1 if ai=bj max{ L L } a≠b i-1,j, i,j-1 if ai≠j L0,0 = L0,j = Li,0 = 0 for 1≤i≤m, 1≤j≤n.
标签: the subsequence determine Instead
上传时间: 2013-12-17
上传用户:evil
成绩数据库管理系统. 1.能够实现菜单显示、菜单选择、编辑(录入、插入、修改、删除等)、查找、显示、求总成绩、按总成绩排序(高→低)并显示、装入数据文件、数据文件存盘、退出、为数据动态分配存储空间[10.3.1]等功能。 2.至少分为主、子两个模块,其中主控菜单必须在主模块中。 3.主控程序用CASE结构,显示用宏指令,排序用子程序并且在子模,其它功能随意。 4.数据用结构定义,并单独存在一个文件中(文件扩展名随意)。 5.排序子程序要求:十(ASCII)→ 二 →排序(二进制)→ 十(ASCII)→ 输出。 6.编辑可以全屏幕也可文本行方式,若为文本行方式,以姓名为关键字,以其它字段为关键字作为可选项。 7.查找条件以姓名为关键字。 8.学号、姓名、各科成绩从键盘输入。 9.网格。
上传时间: 2014-01-25
上传用户:天诚24
基于aduc834单片机的温度采集系统,温度传感器为TMP36,模拟信号输出,500mV代表0度,10毫秒1度
上传时间: 2017-07-02
上传用户:
实验源代码 //Warshall.cpp #include<stdio.h> void warshall(int k,int n) { int i , j, t; int temp[20][20]; for(int a=0;a<k;a++) { printf("请输入矩阵第%d 行元素:",a); for(int b=0;b<n;b++) { scanf ("%d",&temp[a][b]); } } for(i=0;i<k;i++){ for( j=0;j<k;j++){ if(temp[ j][i]==1) { for(t=0;t<n;t++) { temp[ j][t]=temp[i][t]||temp[ j][t]; } } } } printf("可传递闭包关系矩阵是:\n"); for(i=0;i<k;i++) { for( j=0;j<n;j++) { printf("%d", temp[i][ j]); } printf("\n"); } } void main() { printf("利用 Warshall 算法求二元关系的可传递闭包\n"); void warshall(int,int); int k , n; printf("请输入矩阵的行数 i: "); scanf("%d",&k); 四川大学实验报告 printf("请输入矩阵的列数 j: "); scanf("%d",&n); warshall(k,n); }
上传时间: 2016-06-27
上传用户:梁雪文以
LED 一般是恒流操作的,如何改变 LED 的亮度呢?答案就是 PWM 控制。在一定的 频率的方波中,调整高电平和低电平的占空比,即可实现。比如我们用低电平点亮一个 LED 灯,我们假设把一个频率周期分为 10 个时间等份,如果方波中的高低电平占空比是 9:1, 这是就是一个比较暗的亮度,如果方波中高低电平占空比是 10:0,这时,全部是高电平, 灯是灭的。如果占空比是 5:5,就是一个中间亮度,如果高低比是 1:9,是一个比较亮的 亮度,如果高低是 0:10,这时全部是低电平,就是最亮的。 实际上应用中,电视屏幕墙中的几十百万 LED 象素都是这样控制的,而且每一个象素 都有红绿蓝 3 个 LED,每个 LED 可以变化的亮度是几百到几万或者更多的级别,以实现真 彩色的显示。还有在您的手机中,背光灯的亮度如果是可以变化的,也应该是这种工作方式。 目前的城市彩灯也有很多都使用了 LED,需要控制亮度是也是 PWM 控制。 下面来分析我们的例程,在这个例程中,我们将定时器 2 溢出定为 1/1200 秒。每 10 次脉冲输出一个 120HZ 频率。这每 10 次脉冲再用来控制高低电平的 10 个比值。这样,在 每个 1/120 秒的方波周期中,我们都可以改变方波的输出占空比,从而控制 LED 灯的 10 个 级别的亮度。 为什么输出方波的频率要 120HZ 这么高?因为如果频率太低,人眼就会看到闪烁感 觉。一般起码要在 60HZ 以上才感觉好点,120HZ 就基本上看不到闪烁,只能看到亮度的变 化了。 下面请看程序,程序中有比较多的注释: ――――――――――――――――――――――― #define uchar unsigned char //定义一下方便使用 #define uint unsigned int #define ulong unsigned long #include <reg52.h> //包括一个 52 标准内核的头文件 sbit P10 = P1^0; //要控制的 LED 灯 sbit K1= P3^2; //按键 K1 uchar scale;//用于保存占空比的输出 0 的时间份额,总共 10 份 char code dx516[3] _at_ 0x003b;//这是为了仿真设置的 //模拟 PWM 输出控制灯的 10 个亮度级别 void main(void) // 主程序 { uint n; RCAP2H =0xF3; //赋 T2 的预置值,溢出 1 次是 1/1200 秒钟 RCAP2L =0x98; TR2=1; //启动定时器 ET2=1; //打开定时器 2 中断 EA=1; //打开总中断 while(1) //程序循环 { ;//主程序在这里就不断自循环,实际应用中,这里是做主要工作 for(n=0;n<50000;n++); //每过一会儿就自动加一个档次的亮度 scale++; if(scale==10)scale=0; } } //1/1200 秒定时器 2 中断 timer2() interrupt 5 { static uchar tt; //tt 用来保存当前时间在一秒中的比例位置 TF2=0; tt++; if(tt==10) //每 1/120 秒整开始输出低电平 { tt=0; if(scale!=0) //这里加这一句是为了消除灭灯状态产生的鬼影 P10=0; } if(scale==tt) //按照当前占空比切换输出高电平 P10=1; } ―――――――――――――――――― 在主程序中,每延时一段时间,就自动换一个占空比,以使亮度自动变化,方便观察。 编译,运行,看结果。 可以看到,LED 的亮度以每种亮度 1 秒左右不断变化,共有 10 个级别。
上传时间: 2017-11-06
上传用户:szcyclone
#include "iostream" using namespace std; class Matrix { private: double** A; //矩阵A double *b; //向量b public: int size; Matrix(int ); ~Matrix(); friend double* Dooli(Matrix& ); void Input(); void Disp(); }; Matrix::Matrix(int x) { size=x; //为向量b分配空间并初始化为0 b=new double [x]; for(int j=0;j<x;j++) b[j]=0; //为向量A分配空间并初始化为0 A=new double* [x]; for(int i=0;i<x;i++) A[i]=new double [x]; for(int m=0;m<x;m++) for(int n=0;n<x;n++) A[m][n]=0; } Matrix::~Matrix() { cout<<"正在析构中~~~~"<<endl; delete b; for(int i=0;i<size;i++) delete A[i]; delete A; } void Matrix::Disp() { for(int i=0;i<size;i++) { for(int j=0;j<size;j++) cout<<A[i][j]<<" "; cout<<endl; } } void Matrix::Input() { cout<<"请输入A:"<<endl; for(int i=0;i<size;i++) for(int j=0;j<size;j++){ cout<<"第"<<i+1<<"行"<<"第"<<j+1<<"列:"<<endl; cin>>A[i][j]; } cout<<"请输入b:"<<endl; for(int j=0;j<size;j++){ cout<<"第"<<j+1<<"个:"<<endl; cin>>b[j]; } } double* Dooli(Matrix& A) { double *Xn=new double [A.size]; Matrix L(A.size),U(A.size); //分别求得U,L的第一行与第一列 for(int i=0;i<A.size;i++) U.A[0][i]=A.A[0][i]; for(int j=1;j<A.size;j++) L.A[j][0]=A.A[j][0]/U.A[0][0]; //分别求得U,L的第r行,第r列 double temp1=0,temp2=0; for(int r=1;r<A.size;r++){ //U for(int i=r;i<A.size;i++){ for(int k=0;k<r-1;k++) temp1=temp1+L.A[r][k]*U.A[k][i]; U.A[r][i]=A.A[r][i]-temp1; } //L for(int i=r+1;i<A.size;i++){ for(int k=0;k<r-1;k++) temp2=temp2+L.A[i][k]*U.A[k][r]; L.A[i][r]=(A.A[i][r]-temp2)/U.A[r][r]; } } cout<<"计算U得:"<<endl; U.Disp(); cout<<"计算L的:"<<endl; L.Disp(); double *Y=new double [A.size]; Y[0]=A.b[0]; for(int i=1;i<A.size;i++ ){ double temp3=0; for(int k=0;k<i-1;k++) temp3=temp3+L.A[i][k]*Y[k]; Y[i]=A.b[i]-temp3; } Xn[A.size-1]=Y[A.size-1]/U.A[A.size-1][A.size-1]; for(int i=A.size-1;i>=0;i--){ double temp4=0; for(int k=i+1;k<A.size;k++) temp4=temp4+U.A[i][k]*Xn[k]; Xn[i]=(Y[i]-temp4)/U.A[i][i]; } return Xn; } int main() { Matrix B(4); B.Input(); double *X; X=Dooli(B); cout<<"~~~~解得:"<<endl; for(int i=0;i<B.size;i++) cout<<"X["<<i<<"]:"<<X[i]<<" "; cout<<endl<<"呵呵呵呵呵"; return 0; }
标签: 道理特分解法
上传时间: 2018-05-20
上传用户:Aa123456789
function [R,k,b] = msc(A) % 多元散射校正 % 输入待处理矩阵,通过多元散射校正,求得校正后的矩阵 %% 获得矩阵行列数 [m,n] = size(A); %% 求平均光谱 M = mean(A,2); %% 利用最小二乘法求每一列的斜率k和截距b for i = 1:n a = polyfit(M,A(:,i),1); if i == 1 k = a(1); b = a(2); else k = [k,a(1)]; b = [b,a(2)]; end end %% 求得结果 for i = 1:n Ai = (A(:,i)-b(i))/k(i); if i == 1 R = Ai; else R = [R,Ai]; end end
上传时间: 2020-03-12
上传用户:15275387185
描述 分数a/b化为小数后,小数点后第n位的数字是多少? 其中0 < a < b < 100,1≤n≤10000。 格式 输入格式 三个正整数a,b,n,相邻两个数之间用单个空格隔开。 输出格式 一个数字
标签: c语言
上传时间: 2020-05-03
上传用户:h149
华为电容基础和深入认识+电容10说1)旁路 旁路电容是为本地器件提供能量的储能器件,它能使稳压器的输出均匀化, 降低负载需求。 就像小型可充电电池一样,旁路电容能够被充电,并向器件进 行放电。 为尽量减少阻抗,旁路电容要尽量靠近负载器件的供电电源管脚和地 管脚。 这能够很好地防止输入值过大而导致的地电位抬高和噪声。地弹是地连 接处在通过大电流毛刺时的电压降。 2)去藕 去藕,又称解藕。 从电路来说, 总是可以区分为驱动的源和被驱动的负载。 如果负载电容比较大, 驱动电路要把电容充电、放电, 才能完成信号的跳变, 在上升沿比较陡峭的时候, 电流比较大, 这样驱动的电流就会吸收很大的电源 电流,由于电路中的电感,电阻(特别是芯片管脚上的电感,会产生反弹),这 种电流相对于正常情况来说实际上就是一种噪声,会影响前级的正常工作,这就 是所谓的“耦合”。 去藕电容就是起到一个“电池”的作用,满足驱动电路电流的变化,避免相 互间的耦合干扰。 将旁路电容和去藕电容结合起来将更容易理解。旁路电容实际也是去藕合 的,只是旁路电容一般是指高频旁路,也就是给高频的开关噪声提高一条低阻抗 泄防途径。高频旁路电容一般比较小,根据谐振频率一般取 0.1µF、0.01µF 等;
上传时间: 2022-03-20
上传用户:
基于嵌入式技术的远程监控系统可以达到动态、无死角的监控目的,可以对一些特殊环境进行远程监视和控制,且不受湿度、温度等条件的影响,广泛应用于军事、交通、智能家居、医疗监护等多个领域。可以解决传统监控系统将图像采集设备固定在一个地方而使监控范围有限,适用场合少等弊端。 本文设计了一款基于ARM和FPGA的远程监控系统。首先在对远程监控系统功能分析的基础上,设计了以ARM为主控制器和FPGA为辅助控制器的硬件电路,采用ARM芯片控制图像采集、速度采集、网络传输等干扰小的模块,采用FPGA芯片控制电机驱动、舵机驱动、电池监控等干扰大的模块,大大提高了系统的稳定性;其次设计了基于WinCE操作系统的图像采集、GPIO、PWM、外中断EINT-19的流接口驱动程序;同时设计了基于WinCE操作系统的图像采集及压缩、网络通信、车模速度采集的应用程序;FPGA内部逻辑电路采用Verilog语言完成电源监控、舵机控制、直流电机控制等功能。 本系统集图像采集和压缩、运动控制、网络传输于一体。其图像采集速度达30帧/秒,图像分辨率达640x480,JPEG压缩比达10:1,控制命令响应时间为1s,网络传输速率达10Mbps。其功能扩展容易,功耗低,体积小,抗干扰能力强,具有很好的市场前景。关键词:winCE;S3C2440A;FPGA;远程监控;流接口驱动
上传时间: 2013-04-24
上传用户:121212121212