板子专题

N皇后问题(深搜板子题)

N N N皇后问题(以洛谷P1219为例) 在 n × n n\times n n×n大小的棋盘上给出 n n n个皇后,寻找使得所有皇后不同处一行、一列或一条斜线上的摆放方案总数。 本题难点在于考虑剪枝条件: 对广度进行剪枝(列)对副对角线进行剪枝: i + j i+j i+j对主对角线进行剪枝: i − j + n i-j+n i−j+n​(为避免出现负数) #include<bit

排列组合板子A(n,m)C(n,m) ; 递推组合数公式 ; 杨辉三角

目录 1.直接求组合数:2.递推组合数公式:3.杨辉三角 1.直接求组合数: 组合数C(n,m),n个里面选m个,结果为 n ! / ( n − m ) ! m ! \frac{n! / (n-m)!}{m!} m!n!/(n−m)!​(前者其实就是n* n-1*…*n-m+1,分子分母都是m个数相乘) ksm快速幂求的是逆元。用的是费马小定理,适用于模数为素数的时候。 快速

mcp3208 和 树莓派3b板子的配置以及对应代码

先上连接图。 MCP3208 在2013年一位日本大佬的代码: https://seinzumtode.hatenadiary.jp/entry/20130918/1379501130 针对MQ-X这类气体模块,用MQ-2去做实验(这个模块是可燃气体,那个打火机就能看出程序里的读数变化)。所以MQ2的AO的小针就是对应MCP3208上面的CH0的。 最后 如果再修改的好一点的话,关于pot mo

Altium Designer 18中自定义PCB板子大小的方法

一:首先新建一个PCB板,或者从原理图生成再修改 新建方法:文件>新的>PCB         快捷键:F>N>P 然后我们就会得到一个什么都没有的PCB板子:   首先我们可以先设置原地的位置: 编辑>原点>位置       快捷键:E>O>S 这个原点的位置设置哪里都没关系,不过建议在最左下角   首先我们设置成Keep-Out-layer:   下一步就是画电气线

24.5.26(树链剖分板子,二分+线段树)

星期一: 补重庆科技 C 二分                                               牛客传送门 思路:二维前缀和表示到第 i个人第 j个弹巢开了多少发,和st【i】表示第 i个人开的是第几个弹巢 对于 l和r的查询,使用前缀和二分找出第一个中枪的人,但因为题意第 l个人开的是1号弹巢,所以弹巢编号会有一个偏移,例如st【l】==5,那么偏移量就为4

嵌入式软件工程师要会画板子吗?

答案:要 作为嵌入式软件工程师,本来就经常和硬件打交道。调试各种协议也要看波形,用示波器什么的。软件玩多了也会腻,可以玩玩硬件,自己从 0 做出一个东西的感觉是不一样的。职业生涯那么长,多尝试一些总是好的,一个软硬件都懂的人,才能更好的带项目。 博主玩过很多板子,单片机有 STC51、STM32,Linux 有三星 S3C2440、NXP imx6ull、全志 V3s,Android 有 RK

求π小数点后第n位数板子

// 求小数点后n位#include <iostream>#define MAX_C 56000int a = 10000, b, c = MAX_C, d, e, f[MAX_C + 1], g, n, ans, cnt;using namespace std;int main() {while(~scanf("%d", &n)){for (; b - c; )f[b++] = a /

dfs板子

递归实现排列 留着明早省赛之前看 #include<iostream>using namespace std;int arr[10010];int brr[10010];int n,k;void dfs(int num){if(num > n){for(int i = 1;i <= n;i++){cout << arr[i] << " ";}cout << endl;return

二分板子

写法来自《算法竞赛进阶指南》,现记录一下,方便以后查找。   整数集合上的二分   在单调递增序列a中查找>=x的数中最小的一个(即x或x的后继) while(l<r){int mid=(l+r)/2;if(a[mid]>=x)r=mid;elsel=mid+1;}return a[l];   在单调递增序列a中查找<=x的数中最大的一个(即x或x的前驱) while(l<r

链式前向星板子

对于树,有的时候邻接表可能扩容上慢。而我们可以确定是n-1条边,所以我们可以用“记录前驱节点”的链式的方式存到一起 ———— 链式前向星。 head代表点a在链式前向星nodes数组中,a链的首位于哪个位置。 a链的后继结点都可以通过next 来找到 (许多时候开的是next数组,这里用结构体写一起了)。 struct node{int b, t, next;}nodes[2 *

简单算法板子

最短路https://www.luogu.com.cn/problem/B3647 Floyd算法 核心代码块 `void floyd(){int i, j, k; // i和j是起始和结束节点,k是中间节点for (k = 1; k <= n; k++){for (i = 1; i <= n; i++){for (j = 1; j <= n; j++){// 如果通过k节点的路径比当前i

二分图匹配——匈牙利算法板子

7 1 5 2 5 5 1 5 3 3 6 7 4 4 8 代码: #include<iostream>#include<cstring>#include<algorithm>#include<vector>#include<stdio.h>using namespace std;const int MAXN=555;const int n=100;vector<int> g

基于BusyBox的imx6ull移植sqlite3到ARM板子上

1.官网下载源码 https://www.sqlite.org/download.html 下载源码解压到本地的linux环境下 2.解压并创建install文件夹 3.使用命令行配置 在解压的文件夹下打开终端,然后输入以下内容,其中arm-linux-gnueabihf是自己的交叉编译器【自己替换】 ./configure ac_cv_func_malloc_0_nonnull=yes

linux板子vscode gdb 远程调试

板子:hi3556v200 交叉编译工具:arm-himix200-linux 主机:win10+虚拟机的ubuntu16.4 gdb:gdb-8.2.tar.gz 1.在ubuntu交叉编译gdb(Remote 'g' packet reply is too long解决) 建议修改gdb8.2/gdb目录下面的remote.c解决Remote 'g' packet reply is

Ubuntu18上交叉编译树莓派3B+ opencv4.10 (非常详细) 第三章-ubuntu上传编译库文件到板子

第一章链接:https://blog.csdn.net/tajon1226/article/details/100606316   1、在树莓派上找到rsync (如果找不到自己安装一个,这里不再提供教程) find /usr/bin -name "rsync" 2、配置rsync sudo nano /etc/rsyncd.conf 参考文章:https://blog.csd

stm32利用STM32Cube生成程序之后烧进板子里,结果再也烧不进去程序了是怎么回事

因为在stm32flxx_hal_msp.c文件中的HAL_MspInit函数中禁用了烧程序调试: __HAL_AFIO_REMAP_SWJ_DISABLE(); 改成: __HAL_AFIO_REMAP_SWJ_ENABLE(); 然后把boot0拉高烧进去,再拉低, 以后就随便烧了。

3588板子部署yoloV5

一 :准备 ubuntu linux X86_64系统         a.安装anaconda         b.创建虚拟环境      python=3.8 二: 下载rknn-toolkit2 传送门 unzip 解压文件夹    三:pt转onnx模型 四:onnx转rknn模型         a:cd到rknn-toolkit2-master/rknn-too

板子合集1.0

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/JK01WYX/ 文章目录 1.快速幂板子2.gcd得最大公约数3.堆优化的dijkstra板子4.线段树1板子 区间加线段树的结构关系:int作为下标的:long long作为下标的: 5.线段树2板子 区间加与乘6.树状数组1

二分板子(找第一次出现的编号)

P2249 【深基13.例1】查找 题目描述 输入 �n 个不超过 109109 的单调不减的(就是后面的数字不小于前面的数字)非负整数 �1,�2,…,��a1​,a2​,…,an​,然后进行 �m 次询问。对于每次询问,给出一个整数 �q,要求输出这个数字在序列中第一次出现的编号,如果没有找到的话输出 −1−1 。 输入格式 第一行 22 个整数 �n 和 �m,表示数字个数和询问次数。 第

atmega64a单片机+lcd19264液晶屏+GT23L16U2W字库的小板子

从论坛搬过来。。。。 之前买的,这几天(0422)试了试,以前没接触过avr,试了好多天,出了不少错,印象深的一是一定要仔细接对线,二是对于一些情况可能要禁用jtag功能。 (1)板子原本已经启用了jtag和isp,手上有isp编程器,jtag引脚要用做他用,所以熔丝关闭jtag,开启isp,另外外带的晶振不知道多少hz,熔丝设置的内部8MHz的RC振荡器,熔丝低位E4,高位D9,扩展位0,加密

数据结构与算法:二叉树(寻找最近公共祖先、寻找后继节点、序列化和反序列化、折纸问题的板子和相关力扣题目)

最近公共祖先 第一版(前提:p和q默认存在于这棵树中) 可以层序遍历每个节点时用个HashMap存储该结点和其直接父节点的信息。然后从p开始溯源,将所有的父节点都添加到一个HashSet集合里。然后从q开始溯源,每溯源一步看是否在set集合中,在的话就返回。 public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p,

解决血压计板子只充气的调试过程

问题:血压计只充气,不放气,而且用漏气检测功能的时候显示当前存在空气。   解决过程:首先用两节干电池检查了一下气泵和电磁阀的好坏,发现可以正常工作。 接着又用示波器检查了下芯片输出气阀开始工作的引脚,发现没有信号输出。这时候发现思路有点错误,因为排除不了是芯片的问题还是前面放大电路的问题,所以又开始从信号在进芯片前的电路开始检查。 因为板子上有两个引脚是一个输出脉搏波一个输出袖带压,从

最小生成树算法板子

以洛谷P3366为例 Prim算法板子 #include<bits/stdc++.h>using namespace std;const int MAX = 1e9;const int maxn = 5e3 + 5; //点的数据范围const int maxm = 2e5 + 5; //边的数据范围struct node{int to;int weight;int next;}

主席树板子(递增序列)

第k大的数 描述 你为Macrohard公司的数据结构部门工作,你的工作是重新写一个数据结构,这个数据结构能快速地找到一段数列中第k大的数。 就是说,给定一个整数数列a[1…n],其中每个元素都不相同,你的程序要能回答一组格式为Q (i , j , k)的查询,Q(i, j ,k)的意思是“在a[i…j]中第k大的数是多少?” 例如令 a = {1, 5, 2, 6, 3, 7, 4},查询

快速排序板子(备战蓝桥杯)

题目: 活动 - AcWing 蓝桥杯省赛无忧班(C&C++ 组)第 4 期_蓝桥杯 - 蓝桥云课 【模板】排序 - 洛谷 板子: void quick_sort(int q[] , int l , int r){if(l >= r) return ;//这里的x 尽量折半查找 不然找左区间或者右区间可能会卡测试样例int x = q[l + r >> 1] , i = l - 1 ,

如何让系统在板子上跑起来(基于阿尔法开发板-imx6ull)

imx6ull开发板上运行系统 前提条件: 1:已经下载好对应的内核源码和uboot源码; 2:已经搭建好根文件系统; 3:网络环境已经配置好。 正点原子提供的虚拟机已经具备1和2。 注意:其中一些网络配置需要根据自己的情况修改 文章目录 imx6ull开发板上运行系统1.网络环境配置2.将uboot编译得到的u-boot.bin复制到sd(或tf)卡中3.将内核编译后得到的设备树文