洛谷刷题笔记:1.语文成绩
1234567891011121314151617181920//用差分,如果寻常做法会超时int s[]={-1,0,5,2,3,4};//原数组int d[6];int s1[6];d[0]=s[0];//-1for(int i=1;i<n;++i){ d[i]=s[i]-s[i-1];}//现在的d={-1,1,5,-3,1,1}假如要对[1,3]区间(对于d数组的形式)进行操作+1;d[1]+=1;d[3+1]-=1;//-1的原因是因为要覆盖到区间,所以出了区间立马加1,如果大于区间,就不管//现在d={-1,2,5,-3,0,1}//然后对差分数组d进行前缀和操作还原s1[0]=d[0];for(int i=1;i<n;++i){ s1[i]=d[i]+s1[i-1];}//s1={-1,1,6,3,3,4}
2.求和
1//前缀和,合并一下
3.k倍区间
123//首先,单纯用枚举或者前缀和这道题肯 ...
洛谷算法刷题整集2025.2.91.位运算123456789101112131415161718192021222324#include <stdio.h>int main() { unsigned int a=5; // 二进制 0101 unsigned int b=3; // 二进制 0011 //与(&) printf("a & b = %u\n", a & b); // 0001 → 1//对于1而言 //或(|) printf("a | b = %u\n", a | b); // 0111 → 7//对于1而言 //异或(^) printf("a ^ b = %u\n", a ^ b); // 0110 → 6//想通为0,不同为1 //取反(~)(结果与类型位数有关) printf("~a = %u\n", ~a); // 1111 1010(假设32位)→ 4294967290 / ...
北航刷题笔记2.1.15,14,12,91.判断2的幂次数
12345678910//关键是搞出一个数组,把这个数转换为一个二进制数,数组s[32]//如果数组中只有1个1,那就是2的幂int n;//这个数int s[32];int i=0;while(n>0){ s[i]=n%2;//自己脑中想一想,二进制每一位都是当前的余数,想一想二进制的运算过程 i++; n/=2;}
2.直线与圆
123456//这题首先就是直线方程的构造有点麻烦a(x1,y1)b(x2,y2)(y2-y1)x+(x1-x2)y+x2*y1-x1*y2=0;d=|ax3+by3+c| ----------- 根号(a^2+b^2)
3.方向判断
1//关键是atan2(y,x)返回的是弧度,而且是[-pi,pi]
4.重逢时刻
1234567891011int h = n % 12;double total_minutes = (30.0 * h) / 5.5; //分针追赶时针所需时间,这里可以看成60/11int min = (int)total_m ...
arduino使用:1.arduino开发板基本介绍:开发板的核心元件:微控制器上下两排金属片叫做引脚(微控制器用来控制外界的器件的桥梁)
上下两端口分为3组:
1.数字输入/输出端口:数字:只有0和1
输入/输出:只相对着开发板而言的
端口0:端口1:这两个端口是专门用于开发板和电脑传输数据的
2.模拟输入端口:
模拟输入是相对于数字输入的
因为数字输入只有0和1两种,但是现实中不可能只有这两种,这时,就要用到模拟输入了
3.电源端口:
如其名,5v和3.3v是板子通电后提供电压的,接地是接地
2.初步认识arduino程序:语言:C++
loop()函数:写入其中的代码会反复执行
setup()函数:只会执行一次(当你给开发板通电,或者按复位按钮的时候运行一次)
3.arduino程序函数:1.
11.30-12.712.71.堆:(我感觉都是树)堆可以分为:1.二叉树 2.完全树(即构造的时候严格按照每层从左到右来的,注意是每层。否则不是)3.值:也是树(当一个节点比他所有子节点都大,这样形成的一个堆叫做最大堆。反之为最小堆)(以最大堆为例,一个个层之间是有大小递推的,但是每层没有)
堆的实现:数组
(一个树,如果把他压平,为一个数组形态就是从 上到下,从 左到右(是先从第一层开始到第二层从左到右,再到第三层从左到右))
此时:如果已知数组A和索引i,那么A[i]的父节点为A[(i-1)/2]向下取整当然,这个规律只适用于二叉树且是完全树
同理,二叉树压平一个数组,除了第0个,他第一个的子节点就是第三个和第四个:即A[i]的左子节点是A[2i+1],右子节点是A[2i+2]
2.指向结构体成员运算符->:返回的是一个值,可以通过一个指针访问结构体中的成员(使用前要判断目标是否为空指针null)
123456struct t{ int a; int b;}s;//创建一个该结构体变量为ssturct t*p=&s;//&a ...
==逗号用英文,并且一定要有空格,在:后面==
博客以及对应操作笔记1.打开:在 000my blog 的==根目录进入 cmd 命令行==,输入 hexo s 打开博客和对应地址
2.hexo s 是本地查看和测试博客的命令,用于在本地启动开发服务器。3.hexo d 是将博客内容部署到线上服务器或平台的命令,用于发布博客。4.通常开发流程:==使用 hexo cl 清理旧的生成文件(如果需要)。==
==使用 hexo g 生成新的静态文件。==
==使用 hexo s 启动本地服务器查看效果。==
==如果一切正常,使用 hexo deploy 或 hexo d 部署到线上。==
5.上传笔记:进入==source 文件夹==,进入==posts 文件夹==,里面存 ...