摘要:
高精度 有四种高精度如下 (低精度意为可用long long 或int存储的数 高精度一般用于数无法用int,long long表示出来的时候使用 其本质都是用数组存数的每一位,模拟加减乘除,最后从高位输出到低位 (模拟竖式加减乘除) 高精度加法 一般从数组第一位存个位,第二位十位,第三位..... 阅读全文
摘要:
#机器翻译 用队列模拟题意即可 #include<cstdio> #include<iostream> #include<cstring> using namespace std; int n,m; int head=0,tail=0; int s[1100]; long long ans=0; b 阅读全文
摘要:
因其两题具有相似的地方因此合为一篇题解 题记 #最佳牛围栏 思路: 二分答案 答案即为平均值 如何取check答案是否满足题意,判断一个满足题意的区间是否>=这个平均值 一般可以把序列都减去平均值,然后求出前缀和,判断区间是否大于0(转化为判定性问题) if(sum[i]-min(sum[0]~su 阅读全文
摘要:
六个小技巧 1.前缀和 2.差分 3.双指针 4.离散化 5.单调队列 6.单调栈 前缀和 前缀和顾名思义,前面的和,具体来说就是前n项的和 sum为前缀和数组 一维前缀和 第n项的前缀和等于第n-1项前缀和+第i项数之和 \(\sum_{1}^{n}a[i]=\sum_{1}^{n-1}a[i]+ 阅读全文
摘要:
#二分 二分顾名思义 其实就不断的把东西分为两半 二分自古就有 一尺之棰,日取其半,万世不竭 《庄子·杂篇·天下》 二分在数学中,也有应用,例如零点存在性定理 \(设y=f(x) 如果f(x)在 [a,b]上连续 且 f(a)*f(b)<0 则[a,b]之间存在零点\) 只需要通过不断的二分就可以找 阅读全文
摘要:
七个排序 这里介绍七个排序 ###选择排序 选择排序应该是最简单的排序之一 简单来说,找到剩余区间内的最小值然后放在一个有序区间的末尾 (不用纠结剩余区间什么意思,模拟一遍后你就会知道 模拟一下 假设给整个区间排序 区间内数为 4,3,6,9,8 先找整个区间中的最小值 为3,放在第一位,交换3和4 阅读全文
摘要:
均分纸牌 题目描述 有N堆纸牌,编号分别为 1,2,…,N每堆上有若干张,但纸牌总数必为N的倍数。可以在任一堆上取若干张纸牌,然后移动。 移牌规则为:在编号为1堆上取的纸牌,只能移到编号为2的堆上;在编号为N的堆上取的纸牌,只能移到编号为N−1的堆上;其他堆上取的纸牌,可以移到相邻左边或右边的堆上, 阅读全文
摘要:
目录 题解 异或性质 模拟 code 总结 题解 异或性质 1^1=0 1^0=1 0^1=1 0^0=0 简单来说,同为0,异为1 模拟 操作:任意三个数可以变成这三个数异或和 目的:使序列都相同 可以尝试先模拟 当n=3时 直接进行1次操作 当n=4时 [x,y,z,w] 1次操作后 设s=x 阅读全文
摘要:
目录 题解代码题目链接 题解 定义一种特殊的三元组:(x,y,z),其中x,y,z都代表纸带上格子的编号,这里的三元组要求满足以下两个条件: x y z是整数,x<y<z,y-x=z-ycolorx = colorz 通过第一个条件易得x,y一定是同奇同偶 第二个条件无非是在限制这个三元组中x,z颜 阅读全文
摘要:
P1807 最长路 思路 题目描述 设 G 为有 n 个顶点的带权有向无环图,G 中各顶点的编号为 1 到 n,请设计算法,计算图 G 中 <1,n> 间的最长路径。 有向无环图 这个条件可以告诉我们可以使用 拓扑排序 (当然可以用单源最短路径相关算法) 细节 一个变量sum,记录遍历过的所有点的总 阅读全文