自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 收藏
  • 关注

原创 ViT源代码学习

ViT源代码学习

2023-02-28 16:15:51 234 1

原创 汉明码性能分析(结合AWGN信道BPSK调制)

未编码系统与(7,4)汉明码的BER-SNR对比

2023-01-26 14:48:16 694

原创 QPSK调制解调仿真matlab

【代码】QPSK调制解调仿真matlab。

2022-12-12 17:48:43 3937

原创 51单片机的定时器/计数器

7.2.2 定时器/计数器的结构51单片机的定时器/计数器结构如图7-7所示。T0由特殊功能寄存器TH0、TL0构成。T1由特殊功能寄存器TH1、TL1构成。T0 和T1都具有定时器和计数器两种工作模式,4种工作方式(方式0~3)。属于增计数器。特殊功能寄存器TMOD用于选择T0、T1的工作模式和工作方式。特殊功能寄存器TCON用于控制T0、T1的启动和停止计数,同时包含了T0、T1的状态。T0、 T1不论是工作在定时器模式还是计数器模式,实质是对脉冲信号进行计数,只不过计数信号的来源不同。计

2022-04-24 11:36:37 11573

原创 10.4.4 51单片机控制系统8个LED“跑马灯”实验

10.4.4 51单片机控制系统8个LED“跑马灯”实验仿真+代码方法一利用数组#include"reg52.h"#define u8 unsigned char#define u16 unsigned intu16 a[] = {0xff, 0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf, 0xbf, 0x7f};void delayms(u16 ms){ u8 i; while(ms--) for (i=0; i<123; i++);}

2022-04-22 09:57:40 7750 1

原创 MCS-5 中断技术(理论)

内容概要本章介绍MCS-51片内中断系统的硬件结构和工作原理。7.1.1 MCS-51中断技术概述在单片机系统中,中断技术主要用于实时监测与控制,也就是要求单片机能及时地响应中断请求源提出的服务请求,并作出快速响应并及时处理。这些工作就是由单片机片内的中断系统来实现的。下图显示了单片机对外围设备中断服务请求的整个中断响应和处理过程。7.1.2 MCS-51中断系统结构中断系统结构如图7-2所示。共有5个中断请求源(简称中断源),2个中断优先级,可实现2级中断服务程序嵌套。每一中断源可用软件独立地

2022-04-20 20:38:36 2432

原创 MCS-5 中断技术(实践)

仿真+代码例7-3#include<reg52.h>#define u8 unsigned char#define u16 unsigned intvoid delayms(u16 ms){ u8 i; while(ms--) for (i=0; i<123; i++);}void int0(void) interrupt 0 using 0{ P1 = 0x0f; delayms(800); P1 = 0xf0; delayms(800);}

2022-04-20 20:37:57 548

原创 合并不同时间频率的数据 pandas join实现

import pandas as pdimport numpy as npimport datetimeGitHub代码链接先给数据都加上以月为单位的时间indextimes = pd.date_range(periods=165, freq='M', end='2020/5')times = times.to_list()times.reverse()times =pd.to_datetime(times)times = times.strftime('%Y-%m')df =

2022-04-18 01:14:16 1897

原创 实验4 循环程序设计

循环程序设计1.实验目的(1)理解循环结束条件、如何控制循环次数;(2)掌握while循环的设计方法;(3)掌握for语句单层循环和双重循环结构;(4)能够正确利用循环解决复杂计算问题。2.实验任务(1)用for语句遍历列表 [1,2,3],并打印列表元素。for i in [1,2,3]: print("循环第%d次"%(i))循环第1次循环第2次循环第3次(2)for 循环后面可以加入else,在循环结束后(正常结束)会执行for i in [1,2,3]:

2022-04-15 00:28:40 2167

原创 911数据中不同月份不同类型的电话的次数的变化情况

import pandas as pdimport numpy as npfrom matplotlib import pyplot as plt一、加载数据并把时间字符串转为时间类型设置为索引df = pd.read_csv("./911.csv")df["timeStamp"] = pd.to_datetime(df["timeStamp"])二、添加列,表示分类temp_list = df["title"].str.split(": ").tolist()cate_list = [

2022-04-12 01:30:16 141

原创 量化2015-2017年间911呼叫数与年份的关系

import pandas as pdimport numpy as npfrom matplotlib import pyplot as plt一、加载数据df = pd.read_csv("./911.csv")df["timeStamp"] = pd.to_datetime(df["timeStamp"])print(type(df["timeStamp"]))df.set_index("timeStamp", inplace=True)df.head(3)<class '

2022-04-12 01:21:21 147

原创 统计2015-2017年间911中的类别

import pandas as pdimport numpy as np一、加载数据df = pd.read_csv(r"911.csv")df.head(3) lat lng desc zip title timeStamp twp addr e 0 40.297876 -75.58

2022-04-12 00:49:34 172

原创 量化5个城市的PM2.5随时间的变化情况

import pandas as pdimport numpy as npimport matplotlib.pyplot as plt一、加载数据bj = pd.read_csv(r"PM2.5\BeijingPM20100101_20151231.csv")cd = pd.read_csv(r"PM2.5\ChengduPM20100101_20151231.csv")gz = pd.read_csv(r"PM2.5\GuangzhouPM20100101_20151231.csv")s

2022-04-12 00:32:53 174

原创 量化PM2.5数据

import pandas as pdfrom matplotlib import pyplot as pltfile_path = "./PM2.5/BeijingPM20100101_20151231.csv"df = pd.read_csv(file_path)df.head(5) No year month day hour season PM_Dongsi

2022-04-11 23:52:27 1658

原创 [蓝桥杯复习] 直线

这道题最主要的问题是如何解决double精度不够的问题,个人觉得这位大佬的处理方式更加合理:链接#include<bits/stdc++.h>#define FAST ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)#define INF 0x3f3f3f3ftypedef long long ll;const int maxn = 1e5+5;using namespace std;struct node{ doub.

2022-04-08 00:32:49 235

原创 6.ROS是什么

ros到底是什么?ros就是通信机制+开发工具+应用功能+生态系统下面跟着古月居ros入门21讲课件的思路理解一下ros一、ROS发展史二、ROS应用现状三、ROS是什么四、ROS中的通信机制五、ROS中的开发工具六、ROS中的应用功能七、ROS中的生态系统...

2022-04-06 23:24:56 3672

原创 [蓝桥杯复习] 生命之树

题目链接树形dp基础题f[x][0]f[x][0]f[x][0]:考虑以xxx为根节点的子树时,不选xxx的最大权值f[x][1]f[x][1]f[x][1]:考虑以xxx为根节点的子树时,选xxx的最大权值#include<bits/stdc++.h>#define FAST ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)#define INF 0x3f3f3f3ftypedef long long ll;const int

2022-04-04 22:56:14 438

原创 [蓝桥杯复习] 鸣人的影分身

题目链接问题的本质就是求将nnn拆成mmm份的方案数,和求nnn个苹果放在mmm个盘子的方案数是一个问题。方法一:暴力dfs#include<bits/stdc++.h>#define FAST ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)#define INF 0x3f3f3f3ftypedef long long ll;const int maxn = 1e5+5;using namespace std;int m

2022-04-04 21:27:18 665

原创 [蓝桥杯省赛] 负载均衡

题目链接很好的一道模拟题#include<bits/stdc++.h>#define FAST ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)#define INF 0x3f3f3f3fusing namespace std;typedef long long ll;typedef pair<int, int> PII;const int maxn = 2e5+5;int n,m;int s[maxn]

2022-04-04 19:15:26 388

原创 矩阵的分解——LU分解

LU分解LU分解是矩阵分解的一种,将一个矩阵分解为一个下三角矩阵和一个上三角矩阵的乘积,有时需要再乘上一个置换矩阵。LU分解可以被视为高斯消元法的矩阵形式。在数值计算上,LU分解经常被用来解线性方程组、且在求逆矩阵和计算行列式中都是一个关键的步骤。一、定义对于方阵 AAA,AAA 的LU分解是将它分解成一个下三角矩阵 L 与上三角矩阵 U 的乘积,也就是 A=LUA=LUA=LU。举例来说一个3×3{\displaystyle 3\times 3}3×3的矩阵 AAA ,其 LU 分解会写成下面的

2022-04-03 13:45:58 13751

原创 聚类算法用于降维

聚类算法用于降维K-Means聚类最重要的应用之一是非结构数据上的矢量量化。非结构化数据往往占用比较多的储存空间,文件本身也会比较大,运算非常缓慢,我们希望能够在保证数据质量的前提下,尽量地缩小非结构化数据的大小,或者简化非结构化数据的结构。矢量量化就可以帮助我们实现这个目的。KMeans聚类的矢量量化本质是一种降维运用,但它与我们之前学过的任何一种降维算法的思路都不相同。特征选择的降维是直接选取对模型贡献最大的特征,PCA的降维是聚合信息,而矢量量化的降维是在同等样本量上压缩信息的大小,即不改变特征的

2022-04-02 22:46:43 1583

原创 协方差与协方差矩阵

一、协方差协方差用于衡量两个随机变量的联合变化程度。方差为协方差的一种特殊情况,即该变量与其自身之协方差。若变量X的较大值主要与另一个变量Y的较大值相对应,而两者的较小值也相对应,则可称两变量倾向于表现出相似的行为,协方差为正。在相反的情况下,当一个变量的较大值主要对应于另一个变量的较小值时,则两变量倾向于表现出相反的行为,协方差为负。即协方差之正负号显示著变量的相关性。协方差的定义期望值分别为E(X)=μ\displaystyle E(X)=\muE(X)=μ 与 E(Y)=νE(Y)=\

2022-04-02 21:40:13 2715

原创 超定方程的求解

今天做排队论作业,要求解一个超定方程组,我本来以为直接用sympy库的linsolve()函数一部搞定就行了,结果求不出来,我估计是因为误差的原因import numpy as npfrom sympy import *A = np.array([[-0.75, 0.25, 0, 0], [0.2, -0.8, 0.25, 0], [0.12, 0.12, -0.8, 0.25], [0.43, 0.43, 0.55, -

2022-03-30 23:38:44 355

原创 pandas+plt操作练习(统计高等数学竞赛获奖)

import pandas as pdimport numpy as npimport matplotlib.pyplot as pltfrom matplotlib import font_managerfile_path = r"C:\Users\Administrator\Desktop\data analysis\附件:获奖学生名单.xlsx"df = pd.read_excel(file_path, header=1, sheet_name=0)myfont = font_manag

2022-03-25 16:22:07 1655

原创 bsgs学习笔记

bsgs问题一:若 (a,p)=1,  p(a,p)=1,\;p(a,p)=1,p​​ 是素数, 求方程 ax≡b(modp)a^x\equiv b\pmod pax≡b(modp)​​​ 的(最小非负)解引理:ak≡ak  mod  p−1mod  pa^k \equiv a^{k \; mod \; p-1} \mod pak≡akmodp−1modp即k大于p-1后存在循环节,所以原方程若存在解x,则x<p-1将x写成带余除法的形式:x=Am-B(和写成Am+B一个道理)aAm−

2021-09-21 14:26:28 132

原创 HDU - 7072 双端队列+对顶

题目链接对顶双端队列。从左边插入就插入到左边的deque中,从右边插入就插入到右边的deque中,并在这个过程中维护lsize=rsize或lsize+1=rsize。tips:这个对顶的处理在处理在 这道题 中也用到了。#include<bits/stdc++.h>#define FAST ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)#define INF 0x3f3f3f3ftypedef long long ll;co

2021-09-13 00:37:26 122

原创 Slot Machines

题目链接题目大意:求对于所有的k,数列去掉前k项后剩余部分的最小循环节p,k+p的最小值。思路:枚举k,计算a[k+1…n]的最小循环节p,维护k+p的最小值。tips:求a[k+1…n]的最小循环节p时,将数列翻转。#include<bits/stdc++.h>#define FAST ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)#define INF 0x3f3f3f3ftypedef long long ll;cons

2021-09-07 00:35:48 108

原创 Philosopher‘s Walk Gym 分治+分形

题目链接知道了某一结构和他的子结构的关系后,就可以“四分搜索”那个坐标了。(我觉得这个过程很像二分搜索)#include<bits/stdc++.h>#define FAST ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)#define INF 0x3f3f3f3ftypedef long long ll;const int maxn = 1e5+5;using namespace std;int n,m;int an

2021-09-06 23:59:11 91

原创 [hdu] P7058 Ink on paper 求最小生成树的最大边

题目链接求最小生成树的最大边。图是完全图,在稠密图中prim算法更优#include<bits/stdc++.h>#define FAST ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)typedef long long ll;const int maxn = 1e5+5;const ll INF = 1LL<<60;using namespace std;int n,m,tot;ll dis[5005],m

2021-09-05 21:05:17 190

原创 Up the Strip

题目链接dp+刷表考虑用除的方法到达if[i]f[i]f[i] 对 [i×j, i×j+i−1][i\times j,\ i\times j+i-1][i×j, i×j+i−1] 都有贡献,所以可以枚举倍数,像埃氏筛一样刷。区间修改用树状数组会T,注意到查询位置单增,修改的位置均在最近的查询位置之后,所以用差分维护。总复杂度O(nlogn)O(nlogn)O(nlogn)完整代码:#include<bits/stdc++.h>#define FAST ios::sy

2021-08-26 22:34:51 114

原创 Binary String

题目链接题意:从一个二进制串中删除若干的字符,问最少删除几次才能使这个二进制小于所给的k。思路:贪心。优先删除1,不够再删0。注意删1要从次高位开始。cut and paste法证明:完整代码:#include<bits/stdc++.h>#define FAST ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)#define INF 0x3f3f3f3ftypedef long long ll;const int maxn

2021-08-26 16:29:50 644

原创 Lexical Sign Sequence

题目链接贪心+树状数组题目大意:构造出一个字典序最小的信号序列(只含1,-1)使得k个指定的区间的和大于等于给定值。思路:可以一开始先让所有empty的部分都成为-1,然后将k个区间按右端点从小到大的顺序排序,去满足每一个区间的时候从后向前把-1改成1。然后说一下为什么要把区间按右端点从小到大排序,一开始我贪心的想法是优先满足右端点大的区间,当时觉得把1尽量往后填字典序就会小。然而这个贪心是不对的。完整代码:#include<bits/stdc++.h>#define FAST

2021-08-26 12:08:38 81

原创 [Luogu] P2887 Sunscreen G

题目链接区间与点的匹配问题题目大意:有n个区间,m个点,一个点只能匹配一个区间,求最大匹配数。思路:贪心+优先队列。将点按从小到大排序,区间按左端点从小到大排序,定义一个小根堆。对于每一个点,在所有有可能与其匹配的区间中优先匹配右端点小的,因为右端点大的更可能与更大的点成功匹配。完整代码:#include<bits/stdc++.h>#define FAST ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)#define INF

2021-08-24 21:19:29 91

原创 [hdu] P7079 Pty loves lines

题目链接经典的求直接交点数的问题之前做过简化版 ,并且安利一下自己的题解如果依旧像之前一样用二维dp[i][j]表示能否达到i条直线,j个交点的情况,将面临运行超时,dp数组存不下的尴尬局面。那么考虑新的做法。考虑讲n条直线划分为若干组,每一组内的直线两两平行且这个组是极大的。设总共分成了 ppp 组,每一组的直线数为 aia_iai​,那么交点数就是n(n−1)2−∑i=1kai(ai−1)2\frac{n(n-1)}{2}- \sum_{i=1}^k\frac{a_i(a_i-1)}{2}2n(

2021-08-20 01:23:41 474 6

原创 [hdu] P1466 计算直线的交点数

题目链接组合数学题,考虑递推如果要求n条直线中任意两条直线都有交点,设ana_nan​为n条直线产生的交点数,那么易得 an=an−1+n−1a_n=a_{n-1}+n-1an​=an−1​+n−1 因为把第n条直线加入到前n-1条直线的平面时,会与这n-1条直线都构成一个交点。现在去掉“两两相交”条件,那么在加入第n条直线的时候就有可能有直线与他平行。设f(i,j)f(i,j)f(i,j)为有i条直线构成j个交点是否可行,前i-1条直线有k条与其平行。那么f(i,j)=1f(i,j)=1f(i,j)

2021-08-19 19:56:41 161

原创 [学习笔记] 回滚莫队

2021-08-16 01:06:08 91

原创 [hdu] P6964 I love counting

树状数组+trie树。

2021-08-14 03:50:46 256

原创 [ZOJ] P3228 Searching the String

ac自动机练手题,可以当成ac自动机不重叠匹配的模板。 题目链接由于有多个模式串要匹配,那么如果用kmp复杂度就是O(qn)O(qn)O(qn),这显然是吃不消的。那么就考虑用多模式串匹配的利器——ac自动机。时间复杂度接近O(n)O(n)O(n)。对于这道题要解决的第一个问题是如何实现不重叠匹配。思考后不难发现,只需记录trie图中的结点所表示的单词上一次在文本串中出现的位置即可。具体表现为下面的代码: void match2(char *s) //不可重叠 { int len=strle

2021-08-13 19:43:36 85

原创 [模板] kmp

1.可重叠匹配(基本应用)char s1[maxn],s2[maxn];int len1,len2,ans;int p[maxn];void get(){ int j=0; p[1]=0; for (int i=2; i<=len2; i++) { while(j && s2[j+1]!=s2[i]) j=p[j]; if (s2[j+1]==s2[i]) j++; p[i]=j; }}void work(){ ans=0; int j=

2021-08-13 02:26:29 97

原创 [hdu] P2087 剪花布条

kmp不重叠匹配的模板题。在一般的kmp匹配中,是可以出现重叠匹配的。如果要求不重叠,应该做如下更改:void work(){ int j=0; for (int i=1; i<=len1; i++) { while(j && s2[j+1]!=s1[i]) j=p[j]; if (s2[j+1]==s1[i]) j++; if (j==len2) { ans++; j=0; //本来是j=p[j]; } }}完整代码:#inc

2021-08-12 23:59:36 57

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除