首页 > TAG信息列表 > rt
Ubuntu 20.04打RT实时内核补丁
查看当前内核版本 uname -r 笔者当前版本为 5.15.0-46-generic ,去下面网址中下载版本相近的内核文件和补丁文件,笔者选择的是 linux-5.15.65.tar.gz 和 patch-5.15.65-rt49.patch.gz https://www.kernel.org/pub/linux/kernel/ https://www.kernel.org/pub/linux/kernel/projecCmBacktrace 实战案例
案例来源completion_sample 注意事项 案例代码 int completion_sample(void) { /* 初始化完成量对象 */ rt_completion_init(&completion); rt_thread_init(&thread1, "thread1", thread1_completion_wait,线程执行顺序
完成量例子 代码 /* * 程序清单:完成量例程 * * 程序会初始化 2 个线程及初始化一个完成量对象 * 一个线程等待另一个线程发送完成量 */ #include <rtthread.h> #include <rtdevice.h> #define THREAD_PRIORITY 9 #define THREAD_TIMESLICE 5 /* 完成量控制块 */ static strAtcoder Grand Contest 010 题解
A 题意 给 \(n\) 个数的集合,每次可以合并奇偶性相同的 \(x,y\),问最后能不能合并至只剩一个数。 \(n\le 2e5\)。 观察 奇偶分类。 分析 偶数直接合并成 1 个,奇数 + 奇数合并为 \(\lfloor\dfrac{t}{2}\rfloor\) 个偶数,剩余 \(t\bmod 2\) 个奇数。\(t\) 为集合中奇数的个数。如果有数据分析与数据挖掘研究之一
前言:之前做过一些数据分析与数据挖掘相关的工作,最近抽空将之前做的内容简单整理一下,方便查看,主要使用R语言和PERL脚本语言,使用TCGA和ICGC数据库中的临床数据,做类似的分析可以参考一下,如果想查看详细内容与数据可以通过本人的Gitee及Github仓库下载,链接于篇尾附上。 一、标题:Effect139. 单词拆分
139. 单词拆分 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 。 注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。 示例 1: 输入: s = "leetcode", wordDict = ["leet", "code"] 输出: true 解F1C100S rt-smart 内核移植(二)
前言 本篇的内容进入了rt-smart内核的C语言世界,因此会同时涉及到较多的.c文件,需要读者对rt-smart内核有基本的认识,至少需要大致了解内核的文件结构。 在上一章节中,我们从启动汇编start_gcc.S进入了内核入口rtthread_startup,该内核入口函数位于./kernel/src/components.c文件中;一般LCA(最近公共祖先)
lca,即最近公共祖先。最近公共祖先,顾名思义,就是树上两个点最近的祖先。 我们大体上有三个算法来搞。 第一个:\(O(nlogn)\)预处理,\(O(1)\)查询。 大体上是借用了rmq问题的思路(就是区间最大/小值)来处理。 将树上问题转化为区间问题。 void dfs(int rt,int d){ v[rt]=true;num[++t]=rt康托展开
lyin场切黑题太强了 首先康托展开是用来求一个全排列的排名的东西。复杂度\(O(n^2)\),树状数组可以到\(O(n\log n)\)。板子 简单说一下原理:首先一个长为\(n\)的排列数是\(n!\)没什么问题。所以我们可以对于每一位考虑有当前位之后有多少排列要比该排列小。 举个例子:\(3,1,4,2,5\)这2022 HDU多校8
Theramore(思维) Problem 给定一个01串,可以进行无限次操作,每次操作可以把一个长度为奇数的区间翻转,问可以得到的字典序最小的01串是多少 Solve hit1:反转后奇数位置还是在奇数位置,偶数位置还是在偶数位置 因此上面操作其实相当于我们可以把一个奇数位置移动到任意奇数位置,偶数位CF464E The Classic Problem
传送门 思路 \(2^{100000}\) ?别想了,普通高精度肯定不行 但我们发现,求最短路的过程中,其实是用到了比较大小和加法操作 细想比较大小的过程,当长度相同的数,我们会先略过前面相同的部分,比较第一个不同的数字,时间大部分都耗在了相同部分的枚举上 我们就可以使用二分,找出第一个不同的数[Google] LeetCode 715 Range Module 线段树
A Range Module is a module that tracks ranges of numbers. Design a data structure to track the ranges represented as half-open intervals and query about them. A half-open interval [left, right) denotes all the real numbers x where left <= x < right.模拟赛 矩形 (扫描线,三维偏序,线段树合并,并查集,线段树上二分)
PRO 题目大意:给定$N$个矩形,求连通块个数。($1 \leq N,x_1,x_2,y_1,y_2 \leq 100000$) SOL 乍一看就能知道是扫描线,不过这题的细节恐怖的要命。 (std同样看不懂,自己魔改了一下) 首先把完全相同的矩形去掉。 之后咱们可以发现,被其他矩形完全包含的小矩形对答案没有任何贡献,所以可以去线段树 C++实现 树形式
网上看了一圈,看到几个都是用数组实现的 我用树结构重写了一遍 #ifndef SEGMENTTREE_H #define SEGMENTTREE_H #include <vector> template<typename T> class SegmentTree { public: SegmentTree(std::vector<T> &a) { int N = a.size(); this-洛谷 P8496 [NOI2022] 众数 题解
最近 7 年最水的 D1T1。 用权值线段树维护每个数出现的次数,链表维护序列。 操作 4 即合并两棵权值线段树、两个链表,操作 2 就是删除链表尾的元素并在权值线段树上修改。 显然,如果一个序列存在绝对众数,那么它必然等于这个序列的中位数。所以操作 3 就是询问 \(k\) 个序列整体的中位关于rt-thread调度器实现的底层代码分析
本文使用了rt-thread自带的钩子函数和显示函数进行了实验,从rt-thread自带的延时函数rt_thread_delay()函数入手,对rt-thread系统的调度器进行分析。主要参考资料是野火的rt-thread手册和rt-thread官方文档,汇编部分的指令是参考的cortex-M3权威参考手册,实验版本是rt-thread3.1.58.23复学记
水了114514天,要开始认真地学习啦! P3834 【模板】可持久化线段树 2 主席树 点击查看代码 #include <algorithm> #include <cstdio> #include <iostream> const int N = 2e5 + 3; int n, m, a[N], p[N], T[N], s, cnt;//T树根编号 int sum[N << 5], L[N << 5], R[N << 58.21
题面和题解 A.One 线性求解约瑟夫问题. 2种解法: 方法一 维护最后一个没有出局的人在每一轮的编号. 假设一个没有出局的人上一轮的编号为id,上一轮出局的人的编号为x,那么分以下两种情况: id>x,那么id-x>0,编号为id-x; id<x,那么id-x<0,设上一轮的总人数为tot,显然id-x+tot<tot,编号即为id-xsplay树
splay树 概念 splay树也是一种二叉查找树,同时也会通过旋转的操作保证一定的平衡。与普通的平衡树 (AVL) 相区别的是它可以将需要的节点不断向根节点旋转,这个过程被称作伸展。splay树可以高效的完成区间删除、区间插入、区间翻转以及其他二叉排序树的功能。这里以 HDU-3487为例,介绍P3605 [USACO17JAN]Promotion Counting P 题解
solution 考虑权值线段树合并:首先离散化,然后对于一个节点,我们将它的所有子树合并上来,并统计所有能力指数的个数(权值线段树基本操作),查询时只需查询 \(p_i+1\sim n\) 的和即可 code #include <bits/stdc++.h> #define Tp template<typename Ty> #define Ts template<typename Ty,typ暑假集训七[One,砖块,数字,甜圈]
暑假集训七 您总算更新当天的东西了啊。 题面 A.One 典型的约瑟夫问题,\(t<10,n \leq 1e7\)数据范围需要我们用线性算法。 考虑每次去掉一个人后都重新编号,把编号改为 \([0, n)\) 计算,最后剩下的那个数当前的编号一定为 \(0\)。 倒推,考虑一个个复活,草,所以可以推出来上一轮当前点 \(x暑期集训7
130 rank 39 T1:T2:暴力模拟T3 T4:【甜圈】线段树(hash区间加乘或者直接维护区间信息) T4:给你n个盒子,初始为空,支持t个操作,每次(l,r,xi),表示在[l,r]区间编号的盒子有序放上xi编号物品。求最终满足盒子里的物品恰好是k个而且编号从小到大1--k的盒子数量。 [1]赛时自己打了个线段树,WA线段树
https://www.luogu.com.cn/problem/P3372 1 #include <iostream> 2 #include <cstdio> 3 using namespace std; 4 #define lson l,mid,rt<<1 5 #define rson mid+1,r,rt<<1|1 6 #define ll long long 7 const int mac=1e5+50; 8 ll tree[m[Google] LeetCode 2096 Step-By-Step Directions From a Binary Tree Node to Another
You are given the root of a binary tree with n nodes. Each node is uniquely assigned a value from 1 to n. You are also given an integer startValue representing the value of the start node s, and a different integer destValue representing the value of theCodeforces Round #815 (Div. 2) 全解
目录ABCD1D2E A ad和cb,查看是不是相等或者倍数关系,特判0 B sort() cout<<a[n]+a[n-1]-a[1]-a[2] C 查看所有的四方格 一个四方格有2个0,ans=1的个数 一个四方格有1个0,ans=1的个数-1 一个四方格有0个0,ans=1的个数-2 D1 直接暴力从前260个转移 D2 类似trie树。 i和ai的二进制相等去左