二维

《网络攻防》- 学习心得

巧了我就是萌 提交于 2020-03-04 12:47:07
目录 冯诺依曼体系结构理解 设计思路 图灵机的理解 图灵的生平 人工智能 程序=指令+数据 组成 运行机制 图灵完备 冯诺依曼体系结构理解 当前计算机主要是基于冯诺依曼体系结构设计的,下面就简单分析一下冯诺依曼体系结构的计算机是如何工作的,首先下面的图就是冯诺依曼体系结构图。 主要由五大部件组成 1.存储器用来存放数据和程序 2.运算器主要运行算数运算和逻辑运算,并将中间结果暂存到运算器中 3.控制器主要用来控制和指挥程序和数据的输入运行,以及处理运算结果 4.输入设备用来将人们熟悉的信息形式转换为机器能够识别的信息形式,常见的有键盘,鼠标等 5.输出设备可以将机器运算结果转换为人们熟悉的信息形式,如打印机输出,显示器输出等 冯诺依曼体系结构的指令和数据均采用二进制码表示;指令和数据以同等地位存放于存储器中,均可按地址寻访;指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数所在存储器中的位置;指令在存储器中按顺序存放,通常指令是按顺序执行的,特定条件下,可以根据运算结果或者设定的条件改变执行顺序;机器以运算器为中心,输入输出设备和存储器的数据传送通过运算器。 然而现在的计算机基本以存储器作为中心 但是由于运算器和控制器在逻辑关系和电路结构上联系十分紧密,通常将它们合起来统称为中央处理器,简称CPU,把输入输出设备简称为I/O设备

python使用pandas统计二维列表中某个元素在某一列中出现的次数,提取某元素出现的行,重置索引列

ぐ巨炮叔叔 提交于 2020-03-04 04:29:00
import pandas as pd List=[['Yes', None, None, None], [None, None, None, None], ['Yes', None, None, None], [None, None, None, None]] df=pd.DataFrame(List,columns=['A','B','C','D']) #加filter temp=df[df.A=='Yes'] print(temp) print(len(temp)) 输出结果: A B C D 0 Yes None None None 2 Yes None None None 2 但是这样调用很不方便,不知道提取出来的行索引是多少号。 如果使用temp['A'][1]没有[1]这个索引的。所以,需要重置索引 temp.reset_index(drop=True) 输出: A B C D 0 Yes None None None 1 Yes None None None 可以使用啦。 来源: CSDN 作者: 清艮 链接: https://blog.csdn.net/weixin_39405468/article/details/104641217

数据压缩·课前任务二(PCA)

徘徊边缘 提交于 2020-03-03 05:10:55
要求:主成分分析:步骤、应用及代码实现 目的: 降维。 简介: 通俗易懂见详解:https://www.matongxue.com/madocs/1025.html 这里举一个例子帮助理解。 首先我们观察一下下面这个矩阵: 会发现,这个矩阵的第一列,第二列,第四列这三个列向量在空间中的指向是没有变的,仅仅只是缩放了相应的倍数而已,所以这个看起来是四维度矩阵其实是个二维矩阵。看到这你可能开始迷惑了,为啥是二维,这个矩阵不是有四个列向量吗?鲁迅曾经说过:不要被表象迷惑了双眼。好吧,不管这句话是不是鲁迅说的,但总之,仔细想想我们就会发现,第一、二、四个列向量它们都处在同一条直线上,用线性代数的语言来说,就是这三个列向量张成的空间是一条直线,那在加上第三个列向量所张成的直线,那这个矩阵不就只代表了一个二维平面嘛!所以说,这个四维的矩阵其实只是一个二维矩阵而已! 到这里,我们就会顺理成章产生这样的想法:既然是一个二维的矩阵,干嘛不用二维的形式呢?所以自然地我们就会想到要找一个办法让这个矩阵降维,让它把冗余数据给去掉,只留下它的主成分。我们可以把上面的矩阵看成是一个四维空间中的二维平面,既然是二维平面,就应该在二维平面上重建一个坐标系,这样就可以把原来的列向量都表示出来,也就是说,这四个列向量在空间中没有变,只是我们换了一个参考系,表征它们的值也就变了,原来需要四个数(x,y,z,r

LeetCode: 221_Maximal Square | 二维0-1矩阵中计算包含1的最大正方形的面积 | Medium

微笑、不失礼 提交于 2020-03-02 21:49:13
题目: Given a 2D binary matrix filled with 0's and 1's, find the largest square containing all 1's and return its area. For example, given the following matrix: 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 Return 4. 解题思路:   这种包含最大、最小等含优化的字眼时,一般都需要用到动态规划进行求解。本题求面积我们可以转化为求边长,由于是正方形,因此可以根据正方形的四个角的坐标写出动态规划的转移方程式(画一个图,从左上角推到右下角,很容易理解): dp[i][j] = min(dp[i-1][j-1], dp[i-1][j], dp[i][j-1]) + 1; where matrix[i][j] == 1 根据此方程,就可以写出如下的代码: 代码展示: 1 #include <iostream> 2 #include <vector> 3 #include <cstring> 4 using namespace std; 5 6 //dp[i][j] = min(dp[i-1][j-1], dp[i-1][j], dp[i][j-1]) + 1; 7 //where matrix[i

对于干涉仪二维测向的一些要点

一世执手 提交于 2020-03-01 23:04:08
对于干涉仪二维测向的一些要点 之前做二维DOA估计仿真的时候都没有认真的思考过方位角俯仰角的关系,对于我们特定的使用场景——导引头的实际应用的考虑不足,在做仿真的时候出了一些岔子,在这里记录一下一些思考和犯过的错误。不光是为了以后能更好的做仿真,也是提醒自己治学的态度还要更端正,不能只知其然而不知其所以然,导致出现这些白痴问题。 二维DOA估计要点 二维DOA估计首先是建模,确定阵列流形,如下图: 图中蓝色实线为信号入射方向,常规情况下我们通常将其投影到 X O Y XOY X O Y 平面上的虚线与 X X X 轴的夹角称为方位角(Azimuth): φ \varphi φ ,将其与 Z Z Z 轴的夹角称为俯仰角(Pitching): θ \theta θ 。通常 φ \varphi φ 和 θ \theta θ 的取值范围都是[-90°,90°],这样就可以表示 X O Y XOY X O Y 平面上方( z > 0 z>0 z > 0 )的所有信源方位。对于雷达导引头平台通常需要规定一个弹头对准方向,一般天线布置在 X O Y XOY X O Y 平面上时, Z Z Z 轴就是前进方向,对应的方位角一般不再用 φ \varphi φ 表示,而是用 Ψ \varPsi Ψ 表示,这样需要调整的方向都与导弹的前进方向 Z Z Z 轴有关,通过不断调整使最后测向角度都趋近于0

Prob.3[二维前缀和+暴力] 洛谷2280HNOI2003激光炸弹 Upd:2020.3.1

喜你入骨 提交于 2020-03-01 19:35:51
1.前缀和S=∑(i=1 to n) ai 2.二维前缀和S[i][j]=S[i-1][j]+s[i][j-1]-S[i-1][j-1]+A[i][j]; 求矩形(L,R)内的数之和,设右上角坐标为(x,y) Sum=S[x][y]-S[x-L][y]-S[x][y-R]+S[x-L][y-R]; 对于这个图,我们只需要O(n^2)预处理出所有的二维前缀和,然后O(n^2)枚举出每一个正方形的右上角,记录数值即可。 AC Code: #include<cstdio> using namespace std; int s[5002][5002],n,R,x,y,z,Ans; inline int max(int x,int y) { return x>y?x:y; } int main() { scanf("%d%d",&n,&R); for(int i=1;i<=n;i++) { scanf("%d%d%d",&x,&y,&z); s[x+1][y+1]=z; } for(int i=1;i<=5001;i++) for(int j=1;j<=5001;j++) s[i][j]+=s[i-1][j]+s[i][j-1]-s[i-1][j-1]; for(int i=R;i<=5001;i++) for(int j=R;j<=5001;j++) Ans=max(Ans,s[i][j]

二维“有序”数组查找问题的解决

南楼画角 提交于 2020-03-01 05:36:32
题目 :在一个二维数组中,每一行都按照从左到右递增的顺序排序,诶一列都按照从上到下递增的顺序排序,请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否包含了该整数。 例如下面的二维数组就是每行、没列都递增排序。如果在这个数组中查找数字7,则返回true(找得到);如果查找数字5,由于数组不含该数字,则返回false。 1 2 8 9 2 4 9 12 4 7 10 13 6 8 11 15 如下图所示,会出现 三种情况 。 数组中选取的数字(图中全黑的位置)刚好是要查找的数字( 相等 ),查找过程结束; 选取的数字 小于 要查找的数字,那么根据数组排序的规则,要查找的数字应该在当前位置的右边或者下边(如下图2.1(a)所示) 选取的数字 大于 要查找的数字,那么要查找的数字应该在当前选取的位置的上边或者左边。 分析: 由上图可知,当不等于要查找的数字的时候会出现两片要查找的区域重叠的情况。我们该怎么考虑呢? 我们可以 从数组的一个角上选取数字来和要查找的数字做比较 ,情况会变得简单一些。如:首先选取数组右上角的数字9。 由于9大于7 ,并且还是第4列的第一个(也是最小的)的数字,因此7不可能出现在数字9所在的列。于是我们 把这一 列 从需要考虑的区域内剔除 ,之后只需分析剩下的3列(如下图(a)所示)。在剩下的矩阵中,位于右上角的数字是8,同样 8大于7 ,因此

LeetCode240.搜索二维矩阵 II

耗尽温柔 提交于 2020-02-29 16:11:32
时间复杂度是O(M+N) class Solution { public boolean searchMatrix ( int [ ] [ ] matrix , int target ) { if ( matrix . length < 1 ) return false ; int m = matrix . length ; int n = matrix [ 0 ] . length ; int i = 0 ; int j = n - 1 ; while ( i >= 0 && i < m && j >= 0 && j < n ) { if ( matrix [ i ] [ j ] > target ) { j -- ; } else if ( matrix [ i ] [ j ] < target ) { i ++ ; } else { return true ; } } return false ; } } 来源: CSDN 作者: fsdgfsf 链接: https://blog.csdn.net/fsdgfsf/article/details/104573734

使用Python生成自己的特色二维码

旧巷老猫 提交于 2020-02-29 12:25:16
二维码又称二维条码,常见的二维码为QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型。 如果我们在进行内容分享的时候,直接发给对方一个二维码或者在自己网站上展示二维码,是不是显得比较有逼格。下面我们就教大家怎么使用Python生成二维码并在网站上进行展示。 安装库 pip install qrcode pip install myqr qrcode库使用 def gen_qrcode(text): # 创建qrcode对象 qr = qrcode.QRCode( version=2, error_correction=qrcode.constants.ERROR_CORRECT_Q, box_size=10, border=2, ) qr.add_data(text) # 创建二维码图片 img = qr.make_image() # 图片转换为RGBA格式 img = img.convert('RGBA') # 返回二维码图片的大小 img_w, img_h = img.size # 打开logo logo = Image.open(os.path.join(BASE_DIR, 'static/images/logo.jpeg')) #

74. 搜索二维矩阵

十年热恋 提交于 2020-02-28 23:29:51
文章目录 leetcode74:[74. 搜索二维矩阵](https://leetcode-cn.com/problems/search-a-2d-matrix/) 题目描述 solution idea 遍历查找 二分查找 参考文献 leetcode74: 74. 搜索二维矩阵 题目描述 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性: 每行中的整数从左到右按升序排列。 每行的第一个整数大于前一行的最后一个整数。 Example 输入:matrix = [ [1, 3, 5, 7], [10, 11, 16, 20], [23, 30, 34, 50] ] target = 3 输出: true solution idea 遍历查找 class Solution { /* ** 遍历搜索 */ public: bool searchMatrix(vector<vector<int>>& matrix, int target) { if(matrix.empty()) return false; int m=matrix.size(),n=matrix[0].size(); bool tag=false; for(int i=0;i<m;i++) for(int j=0;j<n;j++) { if(matrix[i][j]==target) {