自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Codeforces Round 924 (Div. 2)题解(A-D)

经过推敲,我们容易知道,当把一个生物从A队移动到B队,当且仅当A队的生物的数量个数(不包含移动的那一个)多余B队生物数量(不包含移动的那一个)时,才会更加有意义。时候的情况,这个时候,我们就没有必要计算 $t > c[i] $ 的时候这个种群的贡献,仅仅需要通过add数组记录即可。我们发现原本相同的元素在经过操作之后必定会变得不相同,即最终相同的元素在操作之前并不相同,所以我们可以执行去重操作。考虑横边和纵边,若为偶数,则从中间分开,重新组合为一个长方形,检测是否与原来的长方形一致。的时候,那么就成立。

2024-02-18 21:43:53 987

原创 Codeforces Round 921 (Div. 2)题解(A-C)

首先对所给定的s进行分组,从左向右扫描,当刚好扫描满一个区间的时候,确定边界,继续扫描下一个区间。如果一群数字的gcd已经确定,那么其他数字的值便为gcd的倍数。区间为包含所有前 k 个字母的区间。可以采用划分区域的思想。

2024-02-16 19:12:12 943

原创 Codeforces Round 919 (Div. 2)题解(A-E)

因此,当一个参数为零时,gcd(0, x)等于x的绝对值。得到初步的转移等式: $ \displaystyle dp_{i, j} = \sum_{p=1}^{k-j+1}{dp_{i - j \cdot p,p}}$如果存在某个正整数 𝑚 ( 𝑚≥2 ),使得他将数组中的每个元素除以 𝑚 后的余数都替换为该元素,则所有子数组都相同,则艾伦得一分。不妨假设左边有n个连续的零,右边有m个连续的零,其所产生的好串的数目为。的因数的时候,在模m意义下,两个数字相等。,设其在模m的情况下相等,那么会有。

2024-02-16 18:33:02 790

原创 西北工业大学计算机组成原理实验报告——verilog后两次

在流水线中,指令被分成五个阶段(IF,ID,EXE,MEM,WB),每个阶段都有独立的硬件执行,所以指令的不同阶段可以并行执行。但是流水线中会遇到一些问题,即后续指令需要使用前一个指令的执行结果,而前一个指令还没有写回的时候,会产生数据冒险。在这种情况下,如果不进行干预,后续指令无法获得前一个指令的正确结果,导致计算错误或结果不确定。

2023-12-30 21:57:03 2161

原创 西北工业大学计算机组成原理实验报告——verilog前两次

上图中的为dm的波形,从图中可以看到,在第二个周期结束的时候,成功把事先设定好的0x3f写入地址为4的存储器中。经过仔细检查代码,发现always语句中的敏感信号列表应该包含所有变化的值,而我的敏感列表仅仅有地址,没有实例化的数组,这样的化数组内容改变,敏感列表中并不包含,应该把always()中的内容写为。标红部分为测试文件第一行,在测试文件中,是通过系统任务直接写入值的,面对一个地址,我读出的值与系统实现存入的有冲突,推测问题处在dm的读数指令中。检查dm的读数指令,

2023-12-30 21:43:33 3239

原创 基本运算器实验&静态随机存储器实验

在该实验中,我通过把算术逻辑单元(ALU)与控制模块进行连接,通过开关控制数据通路的输入,控制通路的输入,并且把算术逻辑单元的输出通过数据总线上的指示灯以及发两个标志位对应的指示灯进行展示,对其结果进行观察。在实验操作的过程中,我手动地进行了数据通路值的设置,控制通路控制信号的值的设置以及脉冲信号的手动生成,细致地体会到了在真实计算机工作中各个信号的协做交流,理解了时钟信号在控制节奏中所起的重要作用,并在数据的交换过程中初步了解了总线的作用。同时,数据总线上的内容可以被传输到地址总线,用于控制内存的读写。

2023-12-30 21:34:09 2542

原创 CPU 与简单模型机实验

如果是手动拨动开关,那么计算机的执行速度就会受限于人的操作速度,相反,如果把指令事先存入内存,那么对于一些循环的部分,计算机就可以自己取指,执行,而不需要人去干预,这极大地提升了计算机的运行速度,同时也使得计算机可以更加通用。由于需要新增三条指令,首先对机器码(60、70、80),通过图1,得到经过P测试之后会跳转的位置,即某一条机器指令对应微指令的起始地址,然后在控制存储器中选择还没有使用的存储单元,作为存储微指令的地址,并通过next域把微指令连接,构成微程序。

2023-10-28 12:34:38 6813

原创 Codeforces Round #844 (Div. 1 + Div. 2, based on VK Cup 2022 - Elimination Round)[A - D]

首先忽略原本的字母,把每一个字母具体出现多少次全部抽取出来,现在枚举得到的结果中有多少种字母(注意种类数必须 整除 字符串长度),计算最小移动次数。首先,保底的结果就是有一个数字加 x 之后是完全平方数(把第一个数挪一挪就行了)在这一道题目中,明显可以使用暴力,但是怎么样暴力是一种艺术。,如果 y 选中了,那么 x 也一定需要选中。我们考虑如果结果是大于等于 2 的所有结果。即使对于最小的质数 2 ,次方数也不超过36。计算方法:分解质因数,进行乘法原理。如果要是直接枚举 x ,必定超时。

2023-01-29 19:37:26 216 1

原创 单调队列优化的DP问题

单调队列就是通过排除求最值时候的冗余,从而是队列具有性质,可以方便求解问题。

2023-01-06 00:07:41 949

原创 AcWing算法提高课:区间DP

一般对于一维的DP问题可以应用。

2023-01-04 21:28:33 264

原创 数位DP~

数位DP的应用范围:在某个区间内,有多少个,满足一定的性质

2023-01-04 19:45:34 529

原创 牛客2022跨年场

​F题使用python,就是加了一个end = '\0',然后寄了好多。

2023-01-02 11:19:52 378 1

原创 Codeforces Round #841 (Div. 2) and Divide by Zero 2022(A-D)

但是这里我们的给定值是一个固定的值,所以我们并没有必要知道某一个区域中的最小值是多少,而是仅仅需要知道这一个区域的最小值是不是小于给定值就可以了。就这样,对于不是最优解的情况,我们可以使用这一种方法不断变成我们的假设。然后问题就成了这样:给定一个框的大小,求有没有一种框法,使得框柱的数字的最小值是给定值。先凭借知觉,我们观察到,好像中间的数字比较大,所以我们尽可能沿着中间的路走。根据样例,可以猜想,最后把n-1个元素变为1,然后相加起来是最大的。首先,要是真的来枚举这一个区间,是不可行的。

2022-12-30 22:02:17 469

原创 状态机——奇葩的状态表示

在动态规划中,遇到有一个点有多个状态,混在一起无法表示,那么就可以把状态分开,并且构造出不同状态之间的转移关系,然后再求出状态转移方程,之后就OK了。

2022-12-26 10:14:58 658

原创 背包模型~

​最长上升子序列:序列DP(相邻两个被选择的有关系)背包问题:组合DP,在全局的考虑之下最小f[i][j]:i 表示搞了多少,j 表示限制集合:所有仅仅从前 i 个物品当中选择,并且总体积不超过j的选择方法的集合。

2022-12-25 10:53:21 1579

原创 简单DP+最长上升子序列

第一行有2个用空格隔开的整数m和n,表示学生矩阵有m行n列接下来的m行是一个mxn的阵,知阵中第行列的整数表示坐在第行列的学生的好心程度,每行的n个整数之间用空格隔开。还有一件事情需要注意,全班每个同学愿意帮忙的好感度有高有低注意:小渊和小轩的好心程度没有定义,输入时用0表示),可以用一个0~100的自然数来表示,数越大表示越好心。,如果它们都包含一段位置不一定连续的数,且数值是严格递增的,那么称这一段数是两个数列的公共上升子序列,而所有的公共上升子序列中最长的就是最长公共上升子序列了。

2022-12-18 11:46:29 679

原创 算法分析与设计 西工大 noj 第二次实验

时限:1000ms 内存限制:10000K 总时限:3000ms描述:需对容量为c 的背包进行装载。从n 个物品中选取装入背包的物品,每件物品i 的重量为wi ,价值为pi。对于可行的背包装载,背包中物品的总重量不能超过背包的容量,最佳装载是指所装入的物品价值最高。输入:多个测例,每个测例的输入占三行。第一行两个整数:n(n

2022-10-21 16:11:21 983

原创 西工大校赛2 weekly contest 10.16

[Problems - Codeforces.pdf](assets/Problems - Codeforces-20221019121149-0g83yz5.pdf)​这是一个2500的题目。这道题目是一道构造题目构造题目有一个较为套路的解题方法:同时结合逆向思考NO1.原问题是对于一个节点,其父亲也是非根节点,把非根节点变成他爷爷的儿子。倒过来想就是:对于任意一个节点,我可以把它的两个儿子一个变成另一个的儿子。注意这一种操作,每进行一次操作,最多使得树的深度+1(也有可能没有变化)而最终的竹子的深度为n

2022-10-20 21:42:09 255

原创 分支限界法

在搜索树中,每一个活节点仅仅有一次机会成为拓展节点,并且一口气生成所有的孩子。(可以写原生态的堆,使用STL,或者直接无脑线性查找)同时舍弃一些不好的孩子。优先队列式分支限界法。

2022-10-17 10:09:55 364

原创 第 46 届 ICPC 国际大学生程序设计竞赛亚洲区域赛(沈阳)

有时候,很简单的模板题,可能有人没有做出来,(特指 I ),到时候一定要把所有的题目全部看一遍。

2022-10-09 22:20:15 1401

原创 算法竞赛进阶指南 0x24 迭代加深

答案在浅层,因为通过[1, 2, 4, 8, 16, 32, 64, 128],可能的情况的层数少于8层。但是对于广度优先,本来挺好,但是在队列里面存储太多的元素,到时爆。达达希望一次搬掉尽量重的一些物品,请你告诉达达在他的力气范围内一次性能搬动的最大重量是多少。当这一层没有答案的时候,把限定的层数增加,再次搜索。对于深度优先,如果答案在很浅的部位,但是整个搜索树过于深,那么就会寄掉。对于每个测试用例,输出一个满足需求的整数序列,数字之间用空格隔开。这一道题目采用双向搜索,先搜索前一半,然后再搜索后一半。

2022-09-24 11:50:48 297

原创 算法竞赛进阶指南 0x22 深度优先搜索

翰翰和达达饲养了只小猫,这天,小猫们要去爬山。经历了千辛万苦,小猫们终于爬上了山顶,但是疲倦的它们再也不想徒步走下山了(呜咕>_

2022-09-18 15:25:35 85

原创 The 19th Zhejiang Provincial Collegiate Programming Contest

思路:找到所有的贴纸的中间的空白位置(这样形状的空白位置只有可能是贴纸的中间,不可能是其他边缘造成的),然后暴力枚举,当发现有两个空距离是C type的距离,就把这两个孔判断为C type的(两个贴纸相邻等其他情况中,两个孔的距离一定比C type中的两个孔的距离近)。由贪心策略,从起点到加速点,从一个加速点到达另一个加速点,从加速点再到终点,肯定走的是直线距离(这样的话,在局部使用了贪心,从而使得求解问题成为了一种可能)选取尽可能多的比K大一点点的,使得整体的平均值小于K的数字。

2022-09-12 22:46:33 737 1

原创 STL再回顾(非常见知识点)

一般情况下,stack:deque(常规),list,vectorqueue:deque(常规),listpriority_queue:vector(常规),deque//默认 stack < int , list < int > > s;//默认 queue < int , list < int > > q;//默认 priority_queue < int , deque < int > > q;

2022-09-11 23:03:51 220

原创 【算法设计与分析 李春葆】计算几何(二)——求解凸包问题

定义:在平面上能包含所有给定点的最小凸多边形叫做凸包。形象理解:礼品包裹法性质:是包含所有的点的多边形中周长最小的。

2022-09-11 16:20:45 283

原创 【算法设计与分析 李春葆】计算几何(一)

这里讨论的是二维平面中的算法。

2022-09-11 10:42:05 261

原创 算法竞赛进阶指南 0x21 树与图的遍历

在进入某一个节点以及离开这一个节点进行回溯的时候,记录一次编号,得到长度为`2*N`的序列。

2022-09-09 17:20:12 182

原创 算法竞赛进阶指南 0x68 二分图的匹配

详细解释了二分图匹配的相关算法

2022-09-01 18:14:29 230

原创 算法竞赛进阶指南 0x67 Tarjan 算法与有向图连通性

有向图G=(V,E)中,如果存在一个点r,使得从r出发,那么就可以到达所有的节点,那么称G为一个流图,记作(G,r)

2022-08-25 20:49:39 233

原创 算法竞赛进阶指南 0x65 负环与差分约数

这里与最短路密切相关可以使用spfa,利用spfa的原理(cnt数组),如果发现一个点是通过了超过n-1条边更新而来,那么就说明存在负环给定一张个点、条边的有向图,每个点都有一个权值[],每条边都有一个权值[]。求图中的一个环,使“环上各点的权值之和”除以“环上各边的权值之和”最大。输出这个最大值。:数据保证至少存在一个环。输入格式第一行包含两个整数和。接下来行每行一个整数,表示[]。再接下来行,每行三个整数,,[],表示点和之间存在一条边,边的权值为[]。输出格式。

2022-08-20 12:31:35 206

原创 算法竞赛进阶指南 0x58 数据结构优化DP

表示覆盖1~i的区间,所需要的最少的奶牛数目,这样也是混乱,因为并不知道这些情况中区间覆盖的最右端究竟是在哪里。你需要帮助约翰排列出一个合理的奶牛的清理班次,使得每个班次都有奶牛在进行清理,而且动用的奶牛数量可以尽可能的少。在实际的情况下,并不需要完全枚举T,因为如果对于某一个i,不是以右端点结尾的,那么。输出一个整数,表示在每个班次都有奶牛清理的情况下,所需的奶牛最小数量。]时间段内都有奶牛在清理,并且所需支付给奶牛的报酬最少。如果无法做到在要求时间段内都有奶牛清理,则输出−1。...

2022-07-31 11:00:46 169

原创 算法竞赛进阶指南 0x57 倍增优化DP

前方高能!!!

2022-07-30 09:56:22 217

原创 算法竞赛进阶指南 0x54 树形DP

树状DP就是以 子树大小,节点的深度 为阶段。当一个节点的最优解仅仅和他的儿子有关系,那么就可以。

2022-07-26 00:10:56 270

原创 算法竞赛进阶指南 0x53 区间DP

线性DP:从初态开始,沿着阶段的扩张,向某一个方向扩张,知道求出答案。区间DP是一种特殊的线性DP,同时也与线段树等树形结构具备相同的特征。阶段:区间的长度(一个转态要从比他小的区间并且包含于他的区间递推过来)转态:左端点,右端点。注意:先是阶段,然后状态,最后决策...

2022-07-25 10:41:43 169

原创 算法竞赛进阶指南 0x52 背包

/n表示的是商品的数目,m表示的是背包的容积。//第i个物品的体积intw[100];//第i个物品的价值intmain(){i

2022-07-24 10:27:59 602

原创 算法竞赛进阶指南0x51 线性DP

本文章关于这一节的所有例题的详细解答,欢迎参考

2022-07-16 20:44:46 358 1

原创 算法竞赛进阶指南 0x50 总论

采用从前往后推的方法方法二思考这一种状态可以由哪些推过来当询问最长子序列是哪些的时候896. 最长上升子序列 II这一道题目不能再使用动态规划来进行求解必须采用更为快速的这道题目恰恰使用到了贪心的思想。数组里面存放了(当前当前位置之前,所有)长度为 i 的上升子序列的最小的末尾元素(只需要一个代表元,那就是结尾的元素)依次从左向右进行扫描,对比 a[ i ] 和dp数组里面的值。竟然更加简单闫氏DP分析法状态:代表在A序列里面以结尾,在B中结尾的序列。转移:对于一共有以下四种情况:包含,包

2022-07-14 11:48:59 122

原创 算法竞赛进阶指南 0x43 线段树

英文名称:Segment Tree相比于树状数组,是一种更加通用的结构。线段树的规律研究:除去最后一层,发现线段树是一个完全二叉树。所以可以像二叉堆那样,使用一个数组来存储整棵二叉树线段树的高度是logNlogNlogN对于具有N个节点的满二叉树,需要有2N−12N-12N−1个节点。但是对线段树,最后一层也许会有枝叶,所以应该创建4N4N4N的数组。下面使用维护一个区间最大值的这一个任务来熟悉线段树的基本使用父亲节点对应区间的最大值等于两个儿子节点的最大值的最大值线段树的建立方法:修改操作查询

2022-07-13 11:40:37 291

原创 算法竞赛进阶指南 0x38 概率与数学期望

设样本空间为Ω,对于该样本空间中的任意一个随机事件,都有实值函数P(A)P(A)P(A)使得P(A)大于等于0P(Ω) 等于1对于两个互斥事件(不可能同时发生),两个事件所组成的随机事件概率是两个随机事件分别发生的概率之和。即随机变量的取值以及期望的乘积之和。**性质:**期望是线性函数eg. 对于投掷两枚骰子,点数之和的数学期望就相当于是投掷一枚骰子所得点数的期望乘以2.注意位运算的性质:位运算的一位上的数字不会影响其他位数。计算可能情况的概率然后累加所有情况乘以概率即可。但是如果使用O(N

2022-07-08 18:35:02 450

原创 算法竞赛进阶指南0x36组合计数

多重集先对合数进行分解的代码:运行结果Catalan定理证明如下:证明要点:容易得到:总共有 C2nnC^n_{2n}C2nn​ 种情况。现在思考不成立的情况:建立映射:容易证明:已知一个不合法的原情况,可以映射到Q。而在Q中,也可以映射到P。说明两个集合相互包含,进而得到两个集合相等。故个数相等。所以不合法的情况有 C2nn−1C^{n-1}_{2n}C2nn−1​ 种。相减,得到Katalan数列的个数。C2nnn+1{C^{n}_{2n}}\over{n+1}n.

2022-07-07 17:36:04 198

空空如也

空空如也

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

TA关注的人

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