自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2021-11-13

计包含min 函数的栈。定义栈的数据结构,要求添加一个min 函数,能够得到栈的最小元素。要求函数min、push 以及pop 的时间复杂度都是O(1)。解答:struct MinStackElement { int data; int min;};struct MinStack { MinStackElement * data; int size; int top;}MinStack MinStackInit(int maxSize) { MinStack stack; stack.siz

2021-11-13 00:32:47 49

原创 21天好习惯第一期-21

区间加修改涉及到线段树和差分相邻值的差可以表示成差分,找区间内最大的差分可以用线段树相邻值的差可以表示成差分,找区间内最大的差分可以用线段树求最大公因数可以用线段树,用更相减损术涉及到差分:gcd(a,b)=gcd(a,a-b)求最大公因数可以用线段树,用更相减损术涉及到差分:gcd(a,b)=gcd(a,a−b)a[i]为原数组,t[i]为差分数组(t[1]=a[1])a[i]为原数组,t[i]为差分数组(t[1]=a[1])gcd(a[i],a[i+1],a[i+2],a[i+3],a[i+4]

2021-11-13 00:23:00 58

原创 21天好习惯第一期-20

等值式设A,B是两个命题的公式,若A,B构成的等价式A\leftrightarrowBAB为重言式,则称A与B是等价的,记作A\LeftrightarrowBA⇔B。16组常用的重要等值式模式:1.双重否定律A\Leftrightarrow\neg\negAA⇔¬¬A2.幂等律A\LeftrightarrowA\veeA,A\LeftrightarrowA\wedgeAA⇔A∨A,A⇔A∧A3.交换律4.结合律5.分配律6.德摩根律7.吸收律8.零律9.同一律10...

2021-11-13 00:22:22 343

原创 21天好习惯第一期-19

悬线法求解最大矩型(DP)1.有效竖线:除了两个端点以外,不覆盖任何一个障碍点的竖直线段1.有效竖线:除了两个端点以外,不覆盖任何一个障碍点的竖直线段2.悬线:上端覆盖了一个障碍点或者到达整个矩形上边界的有效线段2.悬线:上端覆盖了一个障碍点或者到达整个矩形上边界的有效线段如果把一条悬线向左右两个方向尽可能的移动,那么就得到了一个矩形。如果把一条悬线向左右两个方向尽可能的移动,那么就得到了一个矩形。注意:悬线对应的矩型不一定是极大子矩阵,悬线定义中固定了悬线的下边界注意:悬线对应的矩型不一定是极大子

2021-11-13 00:21:27 202

原创 21天好习惯第一期-18

子问题:a[i]∼s[j]和b[k]∼b[l]组成的串是不是回文串状态方程:f[i][j][k][l],表示a[i]\sims[j]和b[k]\simb[l]组成的串是不是回文串状态方程:f[i][j][k][l],表示a[i]∼s[j]和b[k]∼b[l]组成的串是不是回文串j=i+len1-1,l=k+len2-1j=i+len1−1,l=k+len2−1转移方程:转移方程:len1+len2<=1时组成的串一定是回文串,此时f[i][j][k][l]=true;len1+len2&l..

2021-11-13 00:20:51 176

原创 21天好习惯第一期-17

容斥原理如果不考虑重复计算,步长step的贡献为m*\frac{\frac{m}{step}-1}{2}如果不考虑重复计算,步长step的贡献为m∗2stepm​−1​考虑到会重复计算,如果m的因子x青蛙能踩到,在计算前用cnt[x]=1标记x应该被算一次考虑到会重复计算,如果m的因子x青蛙能踩到,在计算前用cnt[x]=1标记x应该被算一次计算时从小到大遍历m的因子,tmp=cnt[i]-sum[i]表示i及i的倍数对答案的贡献情况计算时从小到大遍历m的因子,tmp=cnt[i]−sum[i]表示

2021-11-13 00:19:49 40

原创 21天好习惯第一期-16

大意:有m个石头,标号从0\simm-1,有n只青蛙,所有青蛙一开始都在编号为0的石头上有m个石头,标号从0∼m−1,有n只青蛙,所有青蛙一开始都在编号为0的石头上每只青蛙每次可以跳的距离为a[i],求所有青蛙能够占领的石头的编号之和每只青蛙每次可以跳的距离为a[i],求所有青蛙能够占领的石头的编号之和思路:思路:每个青蛙可以跳的位置应该是gcd(a[i],m)的倍数每个青蛙可以跳的位置应该是gcd(a[i],m)的倍数如果gcd(a[i],m)|x,石子x会被第i个青蛙踩到如果gcd(a[i].

2021-11-13 00:11:11 39

原创 21天好习惯第一期-15

Frogs大意:有m个石头,标号从0\sim m-1,有n只青蛙,所有青蛙一开始都在编号为0的石头上有m个石头,标号从0∼m−1,有n只青蛙,所有青蛙一开始都在编号为0的石头上每只青蛙每次可以跳的距离为a[i],求所有青蛙能够占领的石头的编号之和每只青蛙每次可以跳的距离为a[i],求所有青蛙能够占领的石头的编号之和思路:思路:每个青蛙可以跳的位置应该是gcd(a[i],m)的倍数每个青蛙可以跳的位置应该是gcd(a[i],m)的倍数如果gcd(a[i],m)|x,石子x会被第i个青蛙踩到如

2021-11-12 22:52:45 189

原创 21天好习惯第一期-14

方格取数J思路:dp,只能走往左、右、下走而且不能走后头路,也就是只能往右下,右上走,所以每次先往右走,然后从下往上走一遍,再从上往下走一遍取最大值。、#include <bits/stdc++.h>using namespace std;typedef long long ll;const int maxn = 1e3+7,inf=0x3f3f3f3f;inline ll read() { ll s = 0, w = 1; char ch = getch

2021-11-12 22:51:16 164

原创 21天好习惯第一期-13

A直播获奖思路:留意数据范围,每个人的成绩在0\sim 6000∼600之间,可以用树状数组当桶来存每个分数的数量,然后利用二分来找到第k名对应的分数,二分满足单调性,虽然不连续,但最后一次比需要的分数大的分数就是答案。#include <bits/stdc++.h>using namespace std;typedef long long ll;const int maxn = 1e5+7;inline ll read() { ll s = 0, w = 1;

2021-11-12 22:50:06 39

原创 21天好习惯第一期-12

Network我开始是想每加一条边就跑一次图,找割边的数量,特判了一下u、vu、v之间有两条边的情况,但还是没过,只过了20\%20%:code思路:先求出图中的割边(桥)的数量(可能有重边,输入时的重边应该算是一条边),并将同一个边双连通分量缩成一个点集,用sccno[i]sccno[i]去维护(并查集),并保留每个点的父结点fa[i]fa[i]。接下来就考虑缩点后形成的树,fa[i]fa[i]为边,i\ini∈边双连通分量的祖先,树上边的数量就是割边的数量。连接两台计算机,先找到他们对应的

2021-11-12 22:47:53 45

原创 21天好习惯第一期-11

D、小L的数列D思路:引理:对于质数pp,若存在x<y<zx<y<z且x,y,zx,y,z都是pp的倍数,那么选出的序列一定不会让x,zx,z相邻。先筛出1e5以内的所有素数,然后对序列排序根据定理,对每个数zz,分解质因数(直接枚举质数来加速)pp,然后dp[z]=max(dp[z],dp[y]+1)dp[z]=max(dp[z],dp[y]+1),yy与zz有相同的质因数pp且最靠近它(y<zy<z)#include<bit...

2021-11-12 22:46:43 56

原创 21天好习惯第一期-10

牛客IOI周赛23-普及组A、小L的作文#include <bits/stdc++.h>using namespace std;typedef long long int ll;#define eb emplace_back#define ef emplace_front#define ep emplace#define fi first#define se secondint main() { ios::sync_with_stdio(0); cin.

2021-11-12 22:44:45 332

原创 21天好习惯第一期-8

古典概型具有哪两个特点?根据以上两个特点推导古典概型事件概率计算公式。1、有限性(所有可能出现的基本事件只有有限个)2、等可能性(每个基本事件出现的可能性相等)推导:如果一次实验中可能出现的结果有n个,而且所有结果出现的可能性都相等,那么每一个基本事件的概率都是\frac{1}{n}n1​,如果某个事件A包含的结果有m个,那么事件A的概率为P(A)=\frac{m}{n}P(A)=nm​。学习例1-8,从中推导盒中取球、投球入盒及分组问题的概率计算公式。1.盒中取球盒子里有NN个球,其

2021-11-12 22:41:47 546

原创 21天好习惯第一期-8

什么是几何概型,与古典概型有什么区别?1.定义:当随机试验的样本空间是某个区域,并且任意一点落在度量 (长度、面积、体积)相同的子区域是等可能的,并且借助几何上的度量来合理规定的概率成为几何概型。如果每个事件发生的概率只与构成该事件区域的长度(面积或体积或度数)成比例,则称这样的概率模型为几何概率模型,简称为几何概型。2.区别:古典概型与几何概型的主要区别在于:几何概型是另一类等可能概型,它与古典概型的区别在于试验的结果是无限个。如何计算几何概型事件概率?P(A)=\frac{S_A}

2021-11-12 22:40:40 72

原创 21天好习惯第一期-6

什么是条件概率?如何计算条件概率?条件概率有哪些性质?利用条件概率计算上述“已知这个家庭有一个是女孩问这是另一个孩子是男孩的概率是多少”的概率问题。定义:设A,BA,B是两个事件且P(A)>0P(A)>0,称P(B|A)=\frac{P(AB)}{P(A)}P(B∣A)=P(A)P(AB)​为在事件AA发生的条件下事件BB发生的条件概率。计算方式及性质:如果事件BB的概率P(B) > 0P(B)>0,那么Q(A) = P(A | B)Q(A)=P(A∣B)在所有事件...

2021-11-12 22:37:36 329

原创 21天良好习惯第5天

【IOI周赛-普及组】桃花村题解讲的非常清楚,写个题解加深一下自己的印象对原题抽象、建模后,对于每个op=1op=1的操作其实就是若干个一次函数y=A_i*(h_j-dis_i)y=Ai​∗(hj​−disi​),求满足y=t_jy=tj​的i的数量。dis_i=abs(i-x)disi​=abs(i−x)等式变完形后就是dis_i=h_j-t_j/A_idisi​=hj​−tj​/Ai​,显然对于该op=1op=1的操作,会爆炸的村庄需要满足以下两个条件:1.A_j|t_jAj​∣tj​2.d

2021-11-12 22:30:33 154

原创 2021-10-26

运算器ALU运算器需要完成加、减、乘、除、逻辑的与或这些运算,除了得到计算的结果还要看是否进位,是否为0,是否溢出,是正数还是负数。数据来源于寄存器组、数据总线(存储器)。计算结果放到寄存器组、数据总线(存储器)暂存运算的中间结果(Q寄存器,移位寄存器)控制器控制计算过程要想完成加、减、乘、除、逻辑的与或非需要逻辑门电路加法器以触发器(保存数据)为基础实现寄存器组多路选择器、移位器(选择、连通)、乘除法需要移位器...

2021-10-26 23:59:29 40

原创 2021-10-25

译码器  译码:把某组编码翻译为唯一的输出,实际应用中要用到的有地址译码器和指令译码器。译码器有2—4、3—8(8选1译码器)和4—16(即16选1译码器)等多种。书中介绍的是2—4译码器。译码器主要用途:区分N个输入变量的组合状态。从多个互斥信号中选择其一。例如:3—8译码器,即8选1译码器的输入信号有三个:C、B、A(A为低位),三位二进制数可组成8个不同数字,因此可分别选中输出Y0 到Y7的某一个输出故称为 8选1译码器。在资料手册中的型号为74138。(摘抄)...

2021-10-25 22:13:26 49

原创 2021-10-24 21天养成好习惯 第二期-2

2021-10-24 23:28:48 47

原创 2021-10-23

21天好习惯”第一期–1关于学习计算机组成原理这门课,对我来说是有些坎坷的……老实说在刚接触这门课的时候我是听得云里雾里,究根到底是因为我对那些计算机专业名词概念还有那些部件运行的流程没有一个清晰的认识,所以即使把思维导图摆在我面前,我也是一知半解。后来我决定化繁为简,我去网上找了一门《计算机科学速成课》看了前十集。里面会把一些抽象的东西具体化,并且配合动画让知识点浅显易懂,而且一节课的内容比较少,时长也短,比较适合新生入门,同时也让你比较系统性地了解了计算机的组成与架构。从始至终你只需要弄清一个问题:我

2021-10-23 21:22:36 52

空空如也

空空如也

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

TA关注的人

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