• 2024-09-28[USACO22DEC] Breakdown P 题解
    T1[USACO22DEC]BreakdownP比较显然的一点是,一次加一条边/一次删一条边,显然转化,这是显然的一条套路。这题的\(K\le8\),很有意思的数据范围,然后调用我们聪明的人类大脑得知需要用到折半搜索。所以我们只考虑\(K\le4\)的情况,令\(\mathit{st}\)表示折半搜索中考虑的起点。维
  • 2024-09-25P8906 [USACO22DEC] Breakdown P 题解
    P8906[USACO22DEC]BreakdownP题解显然的套路是删边转化为加边。考虑到维护整条路径不好维护,于是考虑转化维护\(f_{i,k},g_{i,k}\)分别表示\(1,n\)到\(i\)走了\(k\)步时的最短路。那么此时\(k\le4\)。我们先考虑\(f\)的转移,\(g\)的转移是等价的。那么对于\((
  • 2024-09-06AT_aising2019_e Attack to a Tree 题解
    挺有意思的树型dp。思路发现直接求解很难对限制下手。但我们可以注意到答案最多为\(n\)。考虑将答案记录dp状态。我们可以记\(dp_{i,j}\)为子树\(i\)合法并且断了\(j\)条边的状态。由于合法状态有两种,并且不好一起考虑,所以可以再在dp状态中加一维。令\(dp_{i,
  • 2024-08-09JLX12864G液晶显示屏驱动
    晶联迅液晶显示屏驱动型号:JLX12864G-109Ver2.0单片机:STM32F103C8T6(72MHz)开发平台:STM32CubeMX+Keil硬件连接:LCD_CS-->PB3LCD_RES-->PB4LCD_RS-->PB5LCD_CLK(D6)-->PB6LCD_SDA(D7)-->PB7其余电源引脚连接到5V系统电压。此款液晶屏的驱动芯片实际为ST7565R。注1:本显示屏
  • 2024-08-050.96寸(128*64) OLED(SSD1306) 中英显示篇
    总线接口模式(现使用的比较多的是4线SPI控制和I2C控制,接下来将以I2C控制为例子)I2C总线数据格式(数据的转换是在I2C协议线中的SCL为低时,进行数据调整)内容数据映射的分布图(I2C的读写时序就不重复造轮子嘞,接下来对屏幕显示的驱动细节做一些要点的总结和整理)当前
  • 2024-07-10prim(模板)
    858.Prim算法求最小生成树-AcWing题库#include<bits/stdc++.h>usingnamespacestd;constintN=510;intn,m,k;intd[N];boolst[N];intg[N][N];voidprim(){ memset(d,0x3f,sizeofd); intres=0;//长度 d[1]=0;//作为头 for(inti=0;i<n;i++) { in
  • 2024-04-15TravellingPurchasingMan
    Topcoder#Floyd#状压dpFloyd跑全源最短路,然后\(dp_{msk,x}\)表示在\(msk\)购物过,并且最后一次在\(x\)的最小完成时间,枚举一个转移即可,时间复杂度是\(\mathcal{O}(n^3+2^kk\))的//Author:xiaruizeconstintN=55+10;intn,m,t;structnode{ints,t
  • 2024-04-10解决keil单片编程ERROR L107: ADDRESS SPACE OVERFLOW问题及根源分析
    1、将部分声明的不需要修改的变量声明为程序存储器变量,即在变量名前增加code关键字,如:unsignedcharcodeled_mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};当然,我们也可以使用关键字xdata将数据存储到片
  • 2024-03-02对于需要实时处理的代码语句 就用定时器中断模式,实现多线程模式,建议不要用查询模式。
    对于需要实时处理的代码语句就用定时器中断模式,实现多线程模式,建议不要用查询模式。 示例代码1:查看代码#include"delay.h"#include"sysInt.h"#include"intrins.h"charSMGDuan[]={0x5B,0x3F,0x5B,0x66, 0x40,0x40, 0x3F,0x3F}; //2024--MMcharsegDuan[]={0x3F,0
  • 2023-11-11P1679 神奇的四次方数
    一个数可以被无限次的选,所以是完全背包,然后预处理一下就好啦#include<bits/stdc++.h>usingnamespacestd;constintN=1e5+10;intf[N];intmain(){ memset(f,0x3f,sizeoff); f[0]=0; intn; cin>>n; for(inti=1;i<=20;i++){ intx=i*i*i*i; for(intj=x;j<=n;
  • 2023-11-11P1926 小书童——刷题大军
    这个题目挺有意思的,有点贪心思想,就是要把更多的时间留给刷题,所以要把01背包改成取min,所以要把dp[i]先预处理成0x3f无穷大,然后把刷题时间排个序,这要就是最佳的答案。#include<bits/stdc++.h>usingnamespacestd;inta[20],b[20],c[20];intf[100];intmain(){ intn,m,k,r
  • 2023-10-241128. 信使
    这道题要求的就是最短路中的最大值注意:Floyd算法中第一重循环是[1,n]而不是[1,n),因为1~n中任何一个点都有可能是中转点。#include<iostream>#include<algorithm>#include<cstring>usingnamespacestd;constintN=105;intn,m,f[N][N],ans;intmain(){
  • 2023-08-15整数划分问题(完全背包)(总方案数和最小方案数)
    完全背包解决整数划分问题:总方案数:完全背包:在前i个数中选,且总和恰好等于j的方案数f[i][j]=f[i-1][j]+f[i-1][j-v]化成一维:f[j]+=f[j-v];这种求总方案数的情况需要把f初始化为0,然后f[0]初始化为1,最后累加f[j]900.整数划分这里从小到大枚举i,用到的v就是枚举
  • 2023-07-27最短路
    无向图Dijkstra(只能解决正权边,单源)它的逻辑可以理解为走当前最近可到达的且无法确定它是不是最短路的一个点,找它的最短路点击查看代码voidsolve(){intn,m,s;cin>>n>>m>>s;memset(dis,0x3f,sizeof(dis));for(inti=1;i<=m;i++){inta,b,c;
  • 2023-07-09【雕爷学编程】Arduino动手做(153)---2.4寸TFT液晶触摸屏模块5
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞
  • 2023-05-29共阴极0~9字段码
    0:0x3f1:0x062:0x5b3:0x4f4:0x665:0x6d6:0x7d7:0x078:0x7f9:0x6f 
  • 2023-04-01dijsktra
    #include<bits/stdc++.h>usingnamespacestd;constintN=510;intg[N][N],n,m;intdist[N];boolst[N];intdijsktra(){memset(dist,0x3f,sizeofdist);dist[1]=0;for(inti=1;i<n;i++){intt=-1
  • 2023-01-06Json-Tutorial04 Unicode解析
    前言本节实际上做的工作是上一节的遗留工作:\u转义字符的解析。UTF-8的解析规则在本教程所设计的Json库中,只涉及UTF-8的解析。具体的解析规则教程中都已经说的非常清楚了
  • 2022-12-30CF--840--E
    关键也就是按照连通块进行划分,然后对连通块的大小进行完全背包就行了代码#include<bits/stdc++.h>usingnamespacestd;constintM=1e6+5;intf1[M],f2[M];int
  • 2022-12-16关于为什么图论中INF要设为0x3f
    最近数据结构课设写完了,答辩的时候老师问到了,为什么INF要设置为0x3f?我这直接不假思索地回答,0x3f3f3f3f超过了int范围,基本上可以视为无穷可真的是这样吗?答辩完后我仔
  • 2022-12-13js字符串转字节stringToByte
    functionstringToByte(str){varlen,c;len=str.length;varbytes=[];for(vari=0;i<len;i++){c=str.charCodeAt(i);
  • 2022-11-22对memset赋值/初始化的理解
    给int数组赋值memset(*a,x,sizeof(a))int类型元素是4字节而memset赋值时是给每个字节赋值x那么对于某一个元素如果x=1则赋值时给到每一个元素是00000001000000
  • 2022-11-19dp题单——区间dp
    一、基本概念1、链式区间dpfor(intlen=2;len<=n;len++){//枚举区间长度 for(inti=1;i+len-1<=n;i++){//枚举左边界 intj=i+len-1;//有
  • 2022-10-29js字符串转字节
    functionstringToByte(str){varlen,c;len=str.length;varbytes=[];for(vari=0;i<len;i++){c=str.charCodeAt(i);if(c>=0x010000&
  • 2022-10-18ac 849 dijkstra
    时间复杂度为n^2#include<bits/stdc++.h>usingnamespacestd;constintN=510;intn,m;intdist[N];//每个点到起点的最短距离boolst[N];//判断某个点