自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 div2-707 C Going Home

Description在一个arrayarrayarray aaa 中是否存在四个不同的下标x,y,z,wx,y,z,wx,y,z,w,使得ax+ay=az+awa_x+a_y=a_z+a_wax​+ay​=az​+aw​Solution不妨设sum=a[i]+a[j],1≤i,j≤n,i≠jsum=a[i]+a[j],1\le i,j \le n,i \ne jsum=a[i]+a[j],1≤i,j≤n,i​=j,对于一个长度为nnn的arrayarrayarray aaa,从中可以选出n∗(n−

2021-03-16 16:46:24 265

原创 Codeforces Round #705 (Div. 2) ABD

A: Anti-knapsackDescription选出一个集合{1,2,3,……,n}\left\{ 1,2,3,……,n \right\}{1,2,3,……,n}的子集,使得该子集中没有子集的元素和为kkk,同时还要该使得该子集元素的个数最大化。Solution因为1<=k<=n1<=k<=n1<=k<=n,所以集合{1,2,3,……,n}\left\{ 1,2,3,……,n \right\}{1,2,3,……,n}中的{k+1,k+2,k+3,……,n}\

2021-03-11 15:32:47 204

原创 L3-001凑零钱(详细 01背包问题 输出字典序最小方案)

Content韩梅梅手边有 10410^4104 枚来自各个星球的硬币,需要请你帮她盘算一下,是否可能精确凑出要付的款额。这家店有个特别的规矩:你可以用任何星球的硬币付钱,但是绝不找零,当然也不能欠债。注意输出格式在一行中输出硬币的面值 V1<=V2<=……<=VkV_1<=V_2<=……<=V_kV1​<=V2​<=……<=Vk​,满足条件 V1+V2+……+Vk=MV_1+V_2+……+V_k=MV1​+V2​+……+Vk​=M,MMM为要付的

2021-03-09 09:06:25 634

原创 求解最短路:Dijkstra‘s algorithm

求解最短路:Dijkstra‘s algorithm该算法的原始版本仅适用于找到两个顶点之间的最短路径,后来更常见的变体固定了一个顶点作为源结点然后找到该顶点到图中所有其它结点的最短路径。特别注意:不能处理带有负权边的图基本的算法思想是维护两个顶点集合SSS 和QQQ ,集合SSS 保留所有已知实际最短路径值的顶点,集合QQQ 则保留其他的顶点。初始时SSS 为空,然后每一步都有一个顶点从QQQ 移动到SSS ,这个被选择的顶点是QQQ 中到源点距离最短的点(d[u]最小)(d[u]最小)(d[u]

2021-03-02 22:37:32 177

原创 求n的约数和的前缀和【整除分块】

求n的约数和的前缀和【整除分块】设F(n)为n的约束和,求G(n)=∑i=1nF(i)设F(n)为n的约束和,求G(n) = \sum_{i=1}^n F(i)设F(n)为n的约束和,求G(n)=i=1∑n​F(i)把1,2,3,4,……,n都列出来之后,考虑每个数在G(n)中的贡献把1,2,3,4,……,n都列出来之后,考虑每个数在G(n)中的贡献把1,2,3,4,……,n都列出来之后,考虑每个数在G(n)中的贡献1出现了n次,2出现了⌊n2⌋次,3出现了⌊n3⌋次,……1出现了n次,2出

2021-03-02 21:57:41 252

原创 程序设计语言编译原理(第3版)期末复习第二章:高级语言及其语法描述

2.1程序语言的定义一个程序语言是一个记号系统。主要由语法和语义两个方面定义,有时也包含语用。语法是用来产生和形成一个合式的程序的规则,主要包含词法规则和语法规则。语义是定义程序的意义的规则。2.2 高级语言的一般特性重点记 名字 和 标识符的定义。名字:有明确的意义和属性,可看成是代表一个抽象的存储单元,这个单元可含一个位、一个字节、一个字等等标识符:由字母或数字组成的以字母开头的一个字符串。数组的内情向量包含:维数,各维的上下限,首地址,数组元素的类型等等。语句包含说明性语句和执行性语

2021-01-10 16:42:36 287

原创 程序设计语言编译原理(第3版)期末复习第一章:引论

本文的参考书籍是国防工业出版社的《编译原理》(第3版),虽然不是传说中的龙书,但是基础内容大致相同,应付期末考试足矣!1.1 什么叫编译程序理解、记忆以下概念!!!翻译程序:能够把某一种语言程序转换成另一种等价的语言程序的程序编译程序:把高级程序语言转换成等价的低级程序语言的翻译程序是编译程序翻译程序=编译程序+解释程序(二者的区别是“是否生成目标代码”)宿主机:运行编译程序的计算机目标机:运行编译程序所产生目标代码的计算机1.2 编译过程编译程序的过程为:词法分析,语法分析,语义分析与中

2021-01-08 13:05:29 448

转载 计算机操作系统(第四版)第二章习题解析

什么是前趋图?为什么要引入前趋图?答:前趋图 (Precedence Graph) 是一个有向无循环图,记为DAG(DirectedAcyclic Graph) ,用于描述进程之间执行的前后关系。画出下面四条语句的前趋图:S1=a: =x+y;S2=b:=z+1;S3=c:=a–b ;S4=w:=c+1;答:其前趋图为:什么程序并发执行会产生间断性特征?答:程序在并发执行时,由于它们共享系统资源,为完成同一项任务需要相互合作,致使这些并发执行的进程之间,形成了相互制约关系,从.

2020-12-29 22:17:11 1035

转载 计算机操作系统(第四版)第一章习题解析

1.设计现代OS的主要目标是什么?答:(1)有效性 ( 2)方便性 ( 3)可扩充性 ( 4)开放性2. OS 的作用可表现在哪几个方面?答: (1) OS 作为用户与计算机硬件系统之间的接 (2)作为计算机系统资源的管理者 (3)OS 实现了对计算机资源的抽象3.为什么说操作系统实现了对计算机资源的抽象?OS 首先在裸机上覆盖一层I/O 设备管理软件,实现了对计算机硬件操作的第一层次抽象;在第一层软件上再覆盖文件管理软件,实现了对硬件资源操作的第二层次抽象。

2020-12-28 21:54:31 492

原创 洛谷p1113杂务(拓扑排序 模板)

题目分析读题可知,这是一道经典的拓扑排序模板题要解决拓扑排序的问题,第一步很重要:建图struct edge{ int u;//起点 int v;//终点 }; //存储边的 起点与终点 vector<int>vec[10000+10]; // vec[a][b]=c表示顶点a的第b条边是 c号边(从0开始算) vector<edge>s;//存储每个边的信息(要进行一次排序)int val[10000+10]; //完成每个杂务所需要的时间 int n;.

2020-07-05 19:58:21 393

原创 洛谷p1080 国王游戏 (搞清不等式关系)

题目描述国王想玩一个游戏,让所有的大臣排成一个队伍,每人左右手上各写一个整数(包括国王),每位大臣的获赏金币为:排在该大臣前面的所有人的左手上的数的乘积除以他自己右手上的数,然后向下取整得到的结果。国王不希望某一个大臣获得特别多的奖赏,所以他想请你帮他重新安排一下队伍的顺序,使得获得奖赏最多的大臣,所获奖赏尽可能的少。 注意,国王的位置始终在队伍的最前面。输出:重新排列后的队伍中获奖赏最多的大臣所获得的金币数。题目分析大臣的排列有n!种,国王要找到一种或多种排列,使得该种排列种获得金币数目最多的大

2020-07-03 21:05:22 257

原创 【模拟】高精度减法运算

基本思路高精度减法与高精度加法的步骤基本一样,都是对齐位数,然后开始减。不过会遇到很多小细节,需要做好:1. sub(a,b) 如果a<b,那么必然应该输出一个负数,可以进行等价转换 a-b = -(b-a),因为后面均假设a>b2. 减法运算,基本的借位思想要注意3. 如果a的位数大于b,那么我这里会补充前导0给b,从而方便进行对齐位数的减法4. 输出结果时,前导0的删除操作思考如何判断输入的字符串之间的大小bool flag = false; //判断str1是否小于str

2020-07-03 09:34:33 133

原创 【模拟】高精度加法运算

基本思路高精度运算,是数据量较大时的必备选择,可以选择用 类模板或者写数组的函数,本文的思路选择后者,具体实现过程见代码。基本假设是:输入的数据没有前导0,如果有前导0,则要进行去0操作,同时还要注意如果最后的结果就是0,不能把最后一个0给去掉。实现代码/*Author:snnu_lgwDate:2020/7/2 */#include<bits/stdc++.h>using namespace std;typedef long long ll;string add(str

2020-07-03 09:00:35 121

原创 数学建模:最详细的遗传算法 解决tsp问题(C语言实现)

1.遗传算法是什么?遗传算法的概念是由Holland于1973年受生物进化论的启发而首次提出的,它是一种通过模拟生物界自然选择和遗传机制的随机搜索算法。该算法通过数学的方式,利用计算机仿真运算,将问题的求解过程转换成类似生物进化中的染色体基因的交叉、变异等过程。在求解较为复杂的组合优化问题时,相对一些常规的优化算法,通常能够较快地获得较好的优化结果。遗传算法已被人们广泛地应用于组合优化、机器学习、信号处理、自适应控制和人工生命等领域。如果你能看懂并理解这段话,我觉得你已经不需要再学习本文章了~~解释的

2020-06-26 16:45:05 5637 20

原创 UVA136丑数 ugly numbers

题目描述定义丑数:丑数是一些正整数,且只能被2,3,5整除,不能被其他的质数整除。如:1,2,3,4,5,6,8,9,10,12,15 但是14不是丑数现求第1500个丑数是多少?题目分析由题意可知,1是丑数,那么2,3,5也是丑数。因此,若x是丑数,那么2x,3x,5x均为丑数。所以可以用这种方式不断产生丑数,直到第1500个。现在考虑维护两个数据结构分别是优先队列和集合,依次弹出优先队列中数值最小的数,然后产生出另外3个丑数,存入集合 (注意这里不能用集合里的丑数来计数,因为乘积的

2020-06-26 16:06:16 237

原创 UVA 540团队队列(STL之队列、优先队列)

题目描述有t个团队的人正在排一个长队。每次新来一个人时,他进入队伍的顺序有两种选择:如果有队友在长队中,则他排队长队中最后一个队友的后面;如果没有队友在长队中,则他排到整个长队的最后面。要求该程序有三种指令:ENQUEUE x:编号为x的人进入长队;DEQUEUE x:长度的队首出队STOP:停止本次case题目分析维护两个队列queue,第一个队列是队伍号的队列,第二个队列是所有队伍中各自队员的队列;根据操作依次进行操作即可AC代码/*Author:snnu_lgwDate

2020-06-26 11:12:21 266

原创 计算机网络 协议整理

HDLC(High-Level Data Link Control,高级数据链路控制),是链路层协议的一项国际标准,用以实现远程用户间资源共享以及信息交互。是面向比特的的同步链路控制协议FECN(Forward Explicit Congestion Notification,前向显式拥塞通知)BECN(Backward Explicit Congestion Notification,后向显式拥塞通知)ATM是Asynchronous Transfer Mode(ATM)异步传输模式,是实现B-I.

2020-06-23 09:51:17 333

原创 数学建模:商人过河问题(牛虎问题/传教士野人问题)C语言实现

问题分析读题可以看出这是一个多步决策问题,可以用计算机进行编程解决更大范围的问题,建模时老师可能会要求用matlab进行编程实现,但我还是喜欢用C语言,可以更加直观地显示建模过程!!!对于每一步的决策,可以选择一定数量的商人和仆人上船,然后在河的左岸和右岸之间进行摆渡,并且保证每一次摆渡都不能使得商人被杀死(当然,如果不存在一种安全过河的方案,那么商人必死)当n=3,r=2时,船的左岸或右岸的(商人,仆人)数目有4*4=16种选择,再加上岸的左右,所以有32种选择。然后再去考虑船上(商人,仆人)的数.

2020-06-11 18:09:30 3747

原创 读懂 指令、程序、微命令、微操作、微指令、微程序、微地址

机器指令机器指令就是要计算机执行某种操作的命令。程序程序是一系列机器指令的有序集合。微命令控制部件通过控制线向执行部件发出的控制命令称为微命令。 微操作执行部件接受微命令后进行的操作称为微操作。微指令 在机器的一个CPU周期中,一组实现一定功能的微命令的组合,构成一条微指令。微程序 一系列微指令的有序集合称为微程序。微程序的综合可以实现整个的指令系统。微地址存储在微地址寄存器中的下一条微指令的地址称为微地址。机器指令和微指令的区别与联系1. 表现形式不同机器指令

2020-05-30 21:24:54 13570

原创 【模板】一维&二维 前缀和 差分

前言前缀和是一种重要的预处理,能大大降低查询的时间复杂度,而差分则是一种和前缀和相对的策略。一维前缀和例题:给定一个长度为n的数组A,求区间[L,R]之内的数组元素的和。分析:1.暴力解法必然是二重循环,时间复杂度较高;2.考虑维护一个数组sum,sum[i]表示数组A的前i项的求和,那么sum[R]-sum[L-1]即为所求答案。int n,a[100000+10],sum[100...

2020-04-22 21:57:36 233

原创 【模板】数据预处理技巧:离散化

问题引入:输入n个数据,统计每个数出现的次数。数据大小为小于等于1e9的正整数,n小于等于1e5很显然,如果直接开一个1e9的数组来记录每个元素出现的次数,那肯定会MLE,因此要把我们输入的数据进行离散化操作。即把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。通俗的说,离散化是在不改变数据相对大小的条件下,对数据进行相应的缩小。而在算法竞赛中,对于重复数据可以删掉的一组数据...

2020-04-20 17:59:10 314

原创 洛谷p1069 细胞分裂(noip2009普及组第三题,素数判断+筛法)

题目分析题目难度:普及+/提高数据范围一看就过大,不能进行暴力求解,需要转化一下题目的思路!题目的目标是,分裂第i种细胞,当细胞数目能够均分到M个试管时,则记录第i种细胞的最少耗时,然后求出n种细胞的最小耗时。 试管数量M=pow(m1,m2),细胞数目第1s为s个,第2s为pow(s,2)个,第3s为pow(s,3)个,……设细胞数目为s,要求s能够均分到M中,则M必须能够整...

2020-04-17 21:25:22 604

原创 n! 中质因数的指数(加证明过程) 质因数分解

提出问题:求阶乘的标准分解式中素因数的指数?先说结论,定理如下:简单证明设 pow(p,k-1)<= n < pow(p,k)有: m = p*t[1]+r[1] (0<=r[1]<p) (除法的基本原理,t[1] r[1] 中的[1]代表下标,下同) t[1] = p*t[2]+r[2] (0<=r[1]<p) …...

2020-04-14 21:56:51 2819

原创 洛谷p2789 直线交点数 求方案总数

题目分析题目难度:普及+/提高小学二年级知识: n条直线相交(没有三点共线),能够得到的最大结点数目为n(n-1)/2

2020-04-14 18:04:40 694

原创 洛谷p1403 约数研究 ([1,n]中所有数的各个因数的和)

备忘:1. 将n!质因数分解后,中某个质因数出现的次数2. 【1,n】中某个约数出现的次数(不一定为质数)2.2 筛法筛选因数,j+=i的做法

2020-04-14 08:42:35 404

原创 洛谷p2651 添加括号III (最大公约数gcd)

题目分析题目难度:普及-题目的问题是:添加一系列括号之后是否可以使得a1/a2/a3/a4/……/an是整数。添加括号的的方法是任意的,所以不能暴力的去想如何填括号,应从更深层次的角度来考虑最普遍解,首先a1一定在分子上,a2一定在分母上,那么可以通过添加一系列的括号,使得a3 a4……an都放在分子上即a1/(a2/a3/a4/……/an)。这是一种类似于贪心的想法,如果将所有能放到分...

2020-04-13 16:04:54 270

原创 洛谷p1414 又是毕业季II (最大公约数gcd)

题目分析题目难度:普及/提高-题目含义就是 从n个数中选k个,找出这很多组k个数的最大的最大公约数!显然不能用搜索暴力去找,那样时间复杂度肯定不允许,那么根据lzn给出的思路,可以这么来做:对于输入的每一个能力值,对其进行因数分解,用一个数组来存储每一个因数出现的次数,如果一个因子是某数的平方根,则只记录一次,不重复记录。然后寻找答案时,k从1到n进行遍历,因子从输入能力值的最大值...

2020-04-13 11:40:56 296

原创 洛谷p1835 素数密度 (线性欧拉筛,埃式筛)

题目分析难度:普及+/提高暴力40分做法: 从L到R进行枚举,然后判断是否为素数!但这样显然是不对的,要结合筛法来解决此题,虽然L,R的范围是整个int的取值,但是两者的差值为1e6,可以从此突破!预备知识 (解决一个问题:求出不大于n的素数的个数)朴素筛法:时间复杂度 O(n根号n)//普通朴素算法 求质数 ( n根号n的时间复杂度 ) void Or_Prime(int n)...

2020-04-09 22:52:29 568 1

原创 洛谷p1029 最大公约数与最小公倍数问题

题目分析题目难度:普及-朴素暴力的想法是来一个二重循环,但显然会TLE,所以要寻求最大公约数gcd与最小公倍数lcm之间的关系。预备知识设x=gcd(p,q),y=lcm(p,q)则 x*y = p*q证明:设 A=p/x,B=q/x,则A与B互质(A与B互质,即gcd(A,B)=1。如果两者不互质,则说明A与B之间的最大公约数会大于x,与前提矛盾)然后有 y=A*B*x (想一...

2020-04-09 22:16:10 163

原创 洛谷p1017 进制转换(负进制)

传送门:p1017题目分析题目难度:普及-/提高负进制和正进制本质上是相同的,都有“模一个数取余,然后倒序输出”的特点。但区别在于,整数n%(-2)时可能会出现余数mod为负的情况,那么就需要进行转换设 n÷R = a……mod此时的mod<0,则需要mod+|R|变为正数,即mod-R,则式子变为n = a*R+mod-R+R = (a+1)*R+mod-R 所以接下来...

2020-04-06 09:51:01 226

原创 洛谷p1100 高低位交换

参考:洛谷p1100题目分析题目难度:普及-做法1:自己动手模拟做法2:位运算的各种操作1. x<<1表示二进制表示下的x左移一位,低位补0,高位自动溢出。即x = x*2;2. x>>1表示二进制表示下的x右移一位,高位补0,低位略去,即x = x/2,向下取整;3. 0xffff0000表示32位的二进制数,前16位均为1,后16位均为0.4. x&a...

2020-04-04 17:37:57 296

原创 洛谷p1469 找筷子

题目介绍经过一段时间的紧张筹备,电脑小组的“RP餐厅”终于开业了,这天,经理LXC接到了一个定餐大单,可把大家乐坏了!员工们齐心协力按要求准备好了套餐正准备派送时,突然碰到一个棘手的问题,筷子!CX小朋友找出了餐厅中所有的筷子,但遗憾的是这些筷子长短不一,而我们都知道筷子需要长度一样的才能组成一双,更麻烦的是CX找出来的这些筷子数量为奇数,但是巧合的是,这些筷子中只有一只筷子是落单的,其余都成双...

2020-04-04 17:09:08 967

原创 洛谷p1143 进制转换(简单模拟)

题目描述请你编一程序实现两种不同进制之间的数据转换。n为进制数(2<=n<=16)题目分析最简单的思路,先转化为十进制,再转化为对应的进制题目难度:普及–AC代码#include<bits/stdc++.h>using namespace std;int n,m;char ans[100];void chg(int n,string s1){ i...

2020-04-03 20:21:11 587

原创 洛谷p1032 字串变换 (bfs)

题目概述链接:洛谷P1032字符串的子串(必须连续与子序列不同)有至多六种变化规则,若在10步(包含10步)以内能将A变换为B,则输出最少的变换步数;否则输出"NO ANSWER!"题目分析关键词“最少的变换步数”,那么首选的是广度优先遍历,从字符串A开始,遍历每一种变化规则,然后生成新的字符串入队列。同时要有一个map映射,确定以前出现过的字符串不能再次出现题目难度:普及+/提高AC...

2020-04-03 16:56:50 228

原创 卷中窥变——浅析期末考试之马克思主义基本原理概论(陕师大1819马原期末考试真题回顾)

本文将通过对比马原18和19两年的期末考试试卷来让你更稳妥地备战马原滴期末考试一.真题再现18年:① 名词解释: 马克思主义 社会意识 商品二重性 资本循环 国家垄断资本主义② 简答题:1.简述马克思主义的鲜明特征2.简述真理的相对性和绝对性3.简述价值规律及其作用4.根据社会的主要矛盾及其转化原理和其对新时代中国...

2020-03-25 09:56:03 1184

原创 bfs 求解迷宫最短路径问题

问题描述下图给出了一个迷宫的平面图,其中标记为 1 的为障碍,标记为 0 的为可以通行的地方。010000000100001001110000迷宫的入口为左上角,出口为右下角,在迷宫中,只能从一个位置走到这 个它的上、下、左、右四个方向之一。对于上面的迷宫,从入口开始,可以按DRRURRDDDR 的顺序通过迷宫, 一共 10 步。其中 D、U、L、R 分别表示向下、向上、向左、向右走。...

2020-03-24 16:46:37 612

原创 牛客小白月赛23 题解

官方题解:biu参考资料:biuB 阶乘给定一个正整数 p,求一个最小的正整数 n,使得 n! 是 p 的倍数(p<=10^9)题目分析p的值是非常大的,不能通过枚举n的阶乘来求解。如果p是素数,那么n的答案就是p。如果p不是素数,那么p就是合数,对p进行质因数分解p=p1p2p3*……pk,记录每一个质因数pi和出现的次数num,然后从1~p进行二分查找,对【1,p】之间的某...

2020-03-24 08:13:20 836

原创 洛谷p2392-考前临时抱佛脚 (搜索)(01背包)

题目传送kkksc03考前临时抱佛脚题目分析题目难度:普及-4科的习题集每1科的计算方法都是一样的,研究一科的题集即可。本题要注意的是kkk的脑子可以同时计算两个题目,所以从深度优先搜索的角度来看每一个题目都有两种选择,去左脑or右脑。很显然当所有题目都集中到一边的时候花费时间是最大的,然后再一科一科的往另一边放,逐渐减少时间的花费。经过分析可以得出,每一科的习题集所花费的最少时间为 总...

2020-03-21 12:36:58 727 2

原创 洛谷p1443-马的遍历(bfs)

题目概述有一个n*m的棋盘(1<n,m<=400),在某个点上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步?输出格式一个n*m的矩阵,代表马到达某个点最少要走几步(左对齐,宽5格,不能到达则输出-1)题目分析难度界定:普及/提高-默认这是一个中国象棋的棋盘,马走“日”,即马在棋盘上能够走的位置有八个,根据广度优先搜索的思想,从第一个点(即马的坐标)开始,搜索马能...

2020-03-21 12:21:45 452

原创 洛谷p1020-导弹拦截(简单dp 最长上升子序列)

题目概况某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度数据是≤50000的正整数),计算这套系统最多能拦截多少导弹,如果要拦截所有导弹最...

2020-03-11 20:12:52 284

空空如也

空空如也

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

TA关注的人

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