标签: 编程

51 篇文章

寒假算法训练(一)数据结构基础
#Algo0101. Look Up S 题目描述 本题为单调栈模版题。每头奶牛向右看,求出每只奶牛离她最近的仰望对象,也就是求出右边第一个大于自己的数。从右往左维护一个严格单增的单调栈即可。 int n,a[1000006],b[1000006]; stack<pair<int,int>> q; int…
并查集
模版 #include<bits/stdc++.h> using namespace std; int n,m,k,x,y; int pre[200005]; int find(int x) //查找根 { if (x!=pre[x]) pre[x]=find(pre[x]); return pre …
字典树Trie Tree
模版 struct trie { int next[26]; //指向子节点节点的下标,默认值为0则表示没有子节点,并用0-25代表'a'-'z' int isEnd; //是否为一个单词的结尾 }tree[500005]; int inc; //最后一个分配的字典树下标,用于分配新的节点下标 int insert(string s…
单调栈
模版 //以下所有将b[i]=q.top().second改为b[i]=q.top().first 即可得到元素的值而不是坐标。 //n为数组规模,默认下标从1开始 //数组a为原数组 //数组b为查找到的坐标(元素值) void findRMin(int n,int a[],int b[]) //寻找右边第一个比自…
ESP8266 OTA
ESP8266的OTA升级有两种方式,一种是利用ArduinoOTA库,另一种是通过ESP8266HTTPUpdateServer库。 ArduinoOTA库 使用ArduinoOTA库可以在Arduino IDE内直接进行远程更新。优势的代码简洁,操作方便。 #include <ArduinoOTA.h> //头文件 //setup: Ar…
算法基础训练 50 题(四)搜索
#JC0401. 自然数的拆分问题 题目描述 利用回溯算法,每次都从1遍历到上限,并记录当前搜索的值以及总和。每当总和等于n时,输出所有记录的值。 using namespace std; int t,n,m,a[100],ans; string s; int run(int l,int s,int sum) { if (sum==n) {…
Codeforces Round 920 Div. 3 题解
题目链接:Codeforces Round 920 (Div. 3) A. Square 难度800 输入矩形的四个坐标,计算四边形的面积。 获取到输入坐标中x和y轴的最小值最大值,相乘计算面积即可。 int t; int a[4][2],minx,miny,maxx,maxy; int main() { // ios::syn…
DHT11湿温度传感器
接线 参数 VCC:3-5.5V DATA:采用单总线协议 温度测量范围:0-50℃ 误差±2℃ 湿度测量范围:20%-90%RH 误差5%RH 在获取数据时,返回的是上一次测量的数据,然后再进行测量并存储数据,所以获取数据间隔长时需要连续获取两次数据才能得到实时数据。 程序 库 函数 #include <DHT.h> //头文件 #d…
算法基础训练 50 题(三)二分
#JC0301. Angry Cows 题目描述 利用二分,来查找距离值,通过判断该距离值是否能安排的下所有的牛来调整l和r。 int n,m,a[100005]; int main() { // ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); CI n>>m; F(i,1,n) CI a&#…