Sequence

[技术栈]CRC校验原理及C#代码实现CRC16、CRC32计算FCS校验码

删除回忆录丶 提交于 2020-05-02 00:33:38
1.CRC、FCS是什么 CRC,全称Cyclic Redundancy Check,中文名称为循环冗余校验,是一种根据网络数据包或计算机文件等数据产生简短固定位数校验码的一种信道编码技术,主要用来检测或校验数据传输或者保存后可能出现的错误。它是利用除法及余数的原理来作错误侦测的。 FCS,全称Frame Check Sequence,中文名称为帧校验序列,俗称帧尾,即计算机网络数据链路层的协议数据单元(帧)的尾部字段,是一段4个字节的循环冗余校验码。 注:CRC循环冗余校验和FCS帧校验序列是单独的概念,CRC是一种错误校验方法,FCS是帧尾校验码,FCS可以采用CRC校验方法,也可以采用其他校验方法。 2.CRC算法原理 我们可以把任意的一串二进制数据表示为一个与之对应的多项式。比如: 二进制数据:1100101 多项式:$x^6 + x^5 + x^2+1$ 多项式: $x^6 + x^4+x^3 + x^2+1$ 二进制数据:1011101 有了这样的对应关系,对二进制数据的CRC校验就可以利用多项式运算规则进行校验计算。 CRC校验算法正是采用了模2除法,在数据处理里的具体表现为异或运算。 CRC的具体运算规则为:假设要传输的二进制数据为: 10010110 ,对应的m阶多项式为:$M =x^7+x^4+x^2+x^1$,除数为h阶的多项式为:$H=x^4+x$

Educational Codeforces Round 46 (Div 2) (A~G)

假如想象 提交于 2020-05-01 23:19:50
[TOC] <center>Codeforces 1000</center> 比赛链接 CF的第1000场比赛。。 在学校熬到12点半打CF而不是看他们打联盟真是。。rating差点掉真是难受啊。 A.Codehorses T-shirts 因为长度固定,所以看着分就好了... 当然其实只需要 map<string,int> 。 #include <cstdio> #include <cctype> #include <cstring> #include <algorithm> #define gc() getchar() const int N=105; int n,have[4][3],sum[4][3],ref[2333];//x:0~3 S/L inline int read() { int now=0;register char c=gc(); for(;!isdigit(c);c=gc()); for(;isdigit(c);now=now*10+c-'0',c=gc()); return now; } int main() { n=read(); char s[233]; ref['S']=0, ref['L']=1, ref['M']=2; for(int l,i=1; i<=n; ++i) { scanf("%s",s+1), l=strlen(s+1); +

guava(三)字符串处理 Joiner Splitter CharMatcher

做~自己de王妃 提交于 2020-05-01 21:27:23
一、Joiner 拼接字符串 1、join 拼接集合中的元素 System.out.println(Joiner.on(";").join(Ints.asList(1,2,3))); //1;2;3 2、skipNullls 过滤null Joiner joiner=Joiner.on(";").skipNulls(); System.out.println(joiner.join("1",null,"22")); //1;22 3、useForNull 替换null Joiner joiner=Joiner.on(";").useForNull("default"); System.out.println(joiner.join("1",null,"22"));//1;default;22 4、withKeyValueSeparator 拼接map中的元素 System.out.println(Joiner.on("#").withKeyValueSeparator("=").join(ImmutableMap.of("a",1,"b",2)));//a=1#b=2 二、Splitter 分割字符串 1、split 分割字符串,转集合 Iterable<String> iterable=Splitter.on(";").split("aa;b;cc"); 2

无向图与有向图判定欧拉道路与欧拉回路的方法

那年仲夏 提交于 2020-05-01 11:32:48
欧拉道路: 从无向图中的一个节点出发走一条道路,每条边恰好经过一次,这样的线路成为欧拉道路。 下面给出欧拉道路的判定方法: 有向图: 图必须是连通的,而且最多只能有两个点入度不等于出度,而且这两个点其中一个点的入度+1=出度,另一个点的出度+1=入度,如果有的点出度!=入度&&出度与入度的绝对值差还不等于1,则这个图不是欧拉道路。 无向图: 图必须是连通的,而且最多有两个奇度点,则是欧拉道路。 判定图连通的方法: 无向图用dfs访问,看看点是否全部被访问。 有向图先转化为无向图,然后再用dfs判定。 欧拉回路: 如果一个回路是欧拉路径,则称为欧拉回路。 下面给出欧拉回路的判定方法: 有向图: 图连通,且所有顶点的入度等于出度。 无向图: 图连通,且没有奇度点。 下面给出一个欧拉道路的例题: 题目为UVa的10129: 题目: Some of the secret doors contain a very interesting word puzzle. The team of archaeologists has to solve it to open that doors. Because there is no other way to open the doors, the puzzle is very important for us. There is a large

python2 与 python3 语法区别

霸气de小男生 提交于 2020-05-01 10:07:10
https://blog.csdn.net/samxx8/article/details/21535901 概述 # 原稿地址: 使用 2to3 将代码移植到 Python 3 几乎所有的Python 2程序都需要一些修改才能正常地运行在Python 3的环境下。为了简化这个转换过程,Python 3自带了一个叫做 2to3 的实用脚本(Utility Script),这个脚本会将你的Python 2程序源文件作为输入,然后自动将其转换到Python 3的形式。 案例研究:将 chardet 移植到Python 3(porting chardet to Python 3) 描述了如何运行这个脚本,然后展示了一些它不能自动修复的情况。这篇附录描述了它 能够 自动修复的内容。 print 语句 # 在Python 2里, print 是一个语句。无论你想输出什么,只要将它们放在 print 关键字后边就可以。在Python 3里, print() 是一个函数。就像其他的函数一样, print() 需要你将想要输出的东西作为参数传给它。 Notes Python 2 Python 3 ① print print () ② print 1 print ( 1 ) ③ print 1 , 2 print ( 1 , 2 ) ④ print 1 , 2 , print ( 1 , 2 ,

python2 与 python3 语法区别--转

喜夏-厌秋 提交于 2020-05-01 10:02:39
python2 与 python3 语法区别--转 原文地址: http://old.sebug.net/paper/books/dive-into-python3/porting-code-to-python-3-with-2to3.html 使用2to3将代码移植到Python 3 ❝ Life is pleasant. Death is peaceful. It’s the transition that’s troublesome. ❞ — Isaac Asimov (attributed) 概述 几乎所有的Python 2程序都需要一些修改才能正常地运行在Python 3的环境下。为了简化这个转换过程,Python 3自带了一个叫做2to3的实用脚本(Utility Script),这个脚本会将你的Python 2程序源文件作为输入,然后自动将其转换到Python 3的形式。案例研究:将chardet移植到Python 3(porting chardet to Python 3)描述了如何运行这个脚本,然后展示了一些它不能自动修复的情况。这篇附录描述了它能够自动修复的内容。 print语句 在Python 2里,print是一个语句。无论你想输出什么,只要将它们放在print关键字后边就可以。在Python 3里,print()是一个函数。就像其他的函数一样,print(

Java内部类超详细总结(含代码示例)

时光总嘲笑我的痴心妄想 提交于 2020-05-01 07:34:34
什么是内部类 什么是内部类? 顾名思义, 就是将一个类的定义放在另一个类的内部 。 概念很清楚,感觉很简单,其实关键在于这个内部类放置的位置,可以是一个类的作用域范围、一个方法的或是一个代码块的作用域范围。 所以理解了概念只是第一步,掌握细节才能彻底搞定Java的内部类特性。 看例子,这是最普通的内部类: public class Product1 { class Design{ private String name = "P30 pro"; public String showName() { return name; } } class Content{ private int i; Content(int value){ i = value; } int value() {return i;} } public void show(int value) { Content c = new Content(value); Design d = new Design(); System.out.println(d.showName()); System.out.println(c.value()); } public static void main(String[] args) { Product1 p = new Product1(); p.show(6000); } }

UnicodeEncodeError: 'gbk' codec can't encode character '\xbb' in position 306...

扶醉桌前 提交于 2020-05-01 07:18:38
1 import urllib.request 2 def load_baidu(): 3 url = " https://www.baidu.com/ " 4 header = { " User-Agent " : " Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3650.400 QQBrowser/10.4.3341.400 " , 5 " haha " : " hehe " } 6 7 # 长久请求对象 8 request = urllib.request.Request(url,headers = header) 9 # 请求网络数据 10 response = urllib.request.urlopen(request) 11 print (response) 12 data = response.read().decode( " utf-8 " ) 13 14 # 响应头 15 # print(response.headers) 16 # 获取请求头的信息(所有头的信息) 17 request_headers = request.headers 18 print

MySQL数据备份之逻辑备份工具mysqldump

孤人 提交于 2020-05-01 04:47:38
#前言:我们知道对数据进行备份很重要,出现非正常操作可以进行对数据进行恢复,下面我们就来使用一下mysql数据库自带的一个逻辑备份工具mysqldump 1.简单概述 #mysqldump:mysql数据自带的一个备份命令 #语法格式: mysqldump -u用户名 -p 数据库名 > 备份的文件名 #mysqldump逻辑备份的工作原理 1 、mysqldump命令备份数据的过程,实际是把数据从mysql库里以逻辑的sql语句形式直接输出或生成备份文件的过程 2 、恢复的时候就是把sql语句在数据库里面执行一遍的过程 #mysqldump帮助文档 [root@ctos3 ~]# mysqldump --help > 1 .txt [root@ctos3 ~]# cat 1 .txt mysqldump Ver 10.13 Distrib 5.7 . 29 , for Linux (x86_64) Copyright (c) 2000 , 2020 , Oracle and/ or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/ or its affiliates. Other names may be trademarks of

6D姿态估计从0单排——看论文的小鸡篇——Learning Analysis-by-Synthesis for 6D Pose Estimation in RGB-D Images

人盡茶涼 提交于 2020-05-01 01:41:06
迎来了第一篇使用CNN对姿态进行估计的文章了,哭了。 这篇文章是基于2014_Learning 6D Object Pose Estimation using 3D Object Coordinates(我们读过的)这篇文章,在14年的文章中作者把模型渲染的结果——一个像素点可能的模型坐标轴和位置、以及可能所属的object这两点用随机丛林来保存,然后通过像素级别的估计合成结果,最后利用一个energy function来评估pose渲染出的估计结果和实际值之间的误差来优化pose。这篇文章主要做的内容,就是在之前的随机森林的基础上,吧之前能量函数的部分用CNN来完成——用CNN对比模板生成的结果和实际观测的结果来生成能量值,从而利用能量值来精化得到的Pose。 Analysis-by-Synthesis: compare the observation with the output of a forward process, such as a rendered image of the object of interest in a particular pose. We propose an approach that "learns to compare", while taking these difficulties (occlusion, complicated