0x10专题

【ISO14229_UDS_0x10服务详解】

目录 1、0x10服务2、请求消息格式3、肯定应答消息4、否定应答码(NRC_)5、0x10服务使用案例说明 1、0x10服务   诊断会话控制服务(0x10服务)可用于启动ECU内部不同的诊断会话。   在服务端不同诊断会话下,都对应着特定的诊断服务及功能组合。0x10服务启用哪种诊断会话,服务端在该会话下就可以通过数据链路层获取具体的参数值(如时序参数),而在国际标准中也定义

嵌入式程序员应知道的0x10个C语言Tips

/* START */ C语言是衡量嵌入式系统程序员必须而且有效的方法。这些年,我既参加也组织了许多测试,我意识到这些测试能为interviewer(面试官)和interviewee(被面试者)提供许多有用信息。此外,撇开面试的压力不谈,这种测试也是相当有趣的。 从interviewee的角度来讲,你能了解许多关于出题者或面试官的情况。这些测试很可能只是interviewer为了彰显其对AN

AcWing 刷题计划:0x10 基本数据结构—— AcWing 133. 蚯蚓

1.题目描述: 2.题意: 略。 3.思路: 1)纯模拟。 用优先队列模拟,T飞~。 部分代码: typedef vector<ll> VLL;ll n,m,q,u,v,t;priority_queue<ll> Q;li void solve(){m=read(),q=read(),u=read(),v=read(),t=read();while(n--) Q.push(read

AcWing 刷题计划:0x10 基本数据结构——AcWing 154. 滑动窗口

1.题目描述: 2.题意: 略。 3.思路: 单调队列。 经典的单调队列题目了——维护一段定长区间的最值。我们可以创建两个单调队列min_q,max_q。以维护最小值为例子:如果当前值比min_q的尾端要小,我们就把它放到适合的位置(即不断的pop),然后把它的编号放入队列。当对首编号与当前编号相差大于k时,我们就pop掉队首元素。由于队列内单调递增,所以区间内最小值即为队首元素。 4.代

原创 AcWing 刷题计划:0x10 基本数据结构——AcWing 141. 周期

1.题目描述: 2.题意: 略。 3.思路: KMP求最小循环节。 我们先求出字符串的next数组。假设当前字符串的下标为i,则i-next[i]就有可能是一个循环节,而且是最小的,为什么说有可能呢,因为后面的字符串有可能不是一个完整的循环节。所以我们要判断一下。而为什么是最小循环节呢。因为next数组的意义是最大公共前后缀的长度,用总长去减去这个长度就是一个最小循环节啦~【可以想象一下,一

AcWing 刷题计划:0x10 基本数据结构——AcWing 150. 括号画家

1.题目描述: 2.题意: 略。 3.思路: 模拟。 题目要求最长的匹配括号长度。对于左括号,我们放入栈内,对于右括号,如果可以匹配,则删除,不可以匹配,则放入栈内。(放入栈内就代表前面不可能再匹配了。)注意,我们这里用一个技巧,记录的是下标而不是字母,因为这样相当于是记录下了括号的坐标,对于长度我们可以直接计算得到。我们如此加入与删除之后,我们所删除的序列就是匹配的序列。那么对于此我们只需要

AcWing 刷题计划:0x10 基本数据结构——AcWing 148. 合并果子

1.题目描述: 2.题意: 略。 3.思路: 贪心。(哈夫曼树) 每次选择最小的两堆进行合并。由于每次都是两个堆的数量的加和。所以我们如果把两个大的数再合并,则体力会越来越大。 4.代码: //AcWing 148. 合并果子//#include<bits/stdc++.h>//#pragma GCC optimize(3,"Ofast","inline")#include<ios

AcWing 刷题计划:0x10 基本数据结构—— AcWing 135. 最大子序和

1.题目描述: 2.题意: 略。 3.思路: 单调队列+前缀和。 (看标签做题系列 TTwTT)这道题目乍一看以为要dp,但是认真看题,发现他要求长度在m以内,这种在某个长度以内或者某个长度以外的,一般都是单调队列。 我们维护一个递增的单调队列,维护前缀和。 为啥维护递增的前缀和队列呢?由于我们要求一段连续区间的最大和,那么我们维护前缀和的最小值,对于某些区间,我们可以直接减去最小值,就是符合

AcWing 刷题计划:0x10 基本数据结构—— AcWing 136. 邻值查找

1.题目描述: 2.题意: 略。 3.思路: 1)纯暴力。 双重循环,T飞警告! 部分代码: int n,m;int a[maxn];li void solve(){a[0]=read();rep(i,1,n){a[i]=read();int ind=0,minv=abs(a[i]-a[0]),mina=a[0];rep(j,1,i){int tmp=abs(a[j]-a[i]);if

AcWing 刷题计划:0x10 基本数据结构——AcWing 143. 最大异或对

1.题目描述: 2.题意: 略。 3.思路: 1)【骗分】暴力。 直接枚举每个数和另外一个数字异或的值,然后维护最大值。O(n2)直接T飞抬走。当然我们可以观察一下,最大的异或值必定有一个数字在位数最长的中选,所以我们可以加个剪枝。笔者试了,也是T。(TTwTT) 2)【正解】Trie树+贪心。 如何想到Trie优化的呢,我们思考异或的本质是什么,就是对应二进制的不同的数字。那么我们可以用二