- 博客(51)
- 收藏
- 关注
原创 P1149 [NOIP2008 提高组] 火柴棒等式
给你n根火柴棍,你可以拼出多少个形如ABC的等式?等式中的ABC是用火柴棍拼出的整数(若该数非零,则最高位不能是0用火柴棍拼数字0∼9的拼法如图所示:ABABCBACABC≥0n。
2024-07-27 06:46:13
702
原创 P1088 [NOIP2004 普及组] 火星人
人类终于登上了火星的土地并且见到了神秘的火星人。人类和火星人都无法理解对方的语言,但是我们的科学家发明了一种用数字交流的方法。这种交流方法是这样的,首先,火星人把一个非常大的数字告诉人类科学家,科学家破解这个数字的含义后,再把一个很小的数字加到这个大数上面,把结果告诉火星人,作为人类的回答。火星人用一种非常简单的方式来表示数字――掰手指。火星人只有一只手,但这只手上有成千上万的手指,这些手指排成一列,分别编号为123⋯。火星人的任意两根手指都能随意交换位置,他们就是通过这方法计数的。
2024-07-25 10:02:41
1066
原创 P3143 [USACO16OPEN] Diamond Collector S
Ndiamonds (N≤50000KK). GivenK奶牛Bessie很喜欢闪亮亮的东西(Baling),所以她喜欢在她的空余时间开采钻石!她现在已经收集了N颗不同大小的钻石(N<=50,000),现在她想在谷仓的两个陈列架上摆放一些钻石。Bessie想让这些陈列架上的钻石保持相似的大小,所以她不会把两个大小相差K以上的钻石同时放在一个陈列架上(如果两颗钻石的大小差值不大于K,那么它们可以同时放在一个陈列架上)。
2024-07-19 14:43:47
580
原创 [蓝桥杯 2018 省 B] 递增三元组(两种解法)
给定三个整数数组AA1A2⋯ANBB1B2⋯BNCC1C2⋯CN。请你统计有多少个三元组ijk1≤ijk≤NAiBjCk。
2024-07-17 14:34:39
1278
原创 P1102 A-B 数对(双指针解法)
出题是一件痛苦的事情!相同的题目看多了也会有审美疲劳,于是我舍弃了大家所熟悉的 A+B Problem,改用 A-B 了哈哈!
2024-07-15 00:26:34
1202
原创 acwing数组元素的目标和
给定两个升序排序的有序数组 A 和 B,以及一个目标值 x。数组下标从 0 开始。请你求出满足 A[i]+B[j]=x 的数对 (i,j)。数据保证有唯一解。
2024-07-15 00:25:45
573
原创 P1163 银行贷款
当一个人从银行贷款后,在一段时间内他(她)将不得不每月偿还固定的分期付款。这个问题要求计算出贷款者向银行支付的利率。假设利率按月累计。
2024-07-13 10:54:31
708
原创 P1182 数列分段 Section II
对于给定的一个长度为N的正整数数列A1∼N,现要将其分成MM≤N)段,并要求每段连续,且每段和的最大值最小。关于最大值最小:例如一数列42451要分成3段。42451第一段和为6,第2段和为9,第3段和为1,和最大值为9。42451第一段和为4,第2段和为6,第3段和为6,和最大值为6。并且无论如何分段,最大值不会小于6。所以可以得到要将数列42451要分成3。
2024-07-13 09:23:56
1200
原创 P3853 [TJOI2007] 路标设置
B 市和 T 市之间有一条长长的高速公路,这条公路的某些地方设有路标,但是大家都感觉路标设得太少了,相邻两个路标之间往往隔着相当长的一段距离。为了便于研究这个问题,我们把公路上相邻路标的最大距离定义为该公路的“空旷指数”。
2024-07-12 07:06:10
1071
原创 P2678 [NOIP2015 提高组] 跳石头
最小值最大问题:首先,用二分来枚举答案,用check函数判断,check函数中i<n+1是前提条件,目的是确保不出界,cnt用来存储跳跃的次数,now为跳跃到位置。为了提高比赛难度,组委会计划移走一些岩石,使得选手们在比赛过程中的最短跳跃距离尽可能长。块岩石(不含起点和终点的岩石)。在比赛过程中,选手们将从起点出发,每一步跳向相邻的岩石,直至到达终点。这些岩石按与起点距离从小到大的顺序给出,且不会有两个岩石出现在同一个位置。,分别表示起点到终点的距离,起点和终点之间的岩石数,以及组委会至多移走的岩石数。
2024-07-12 06:49:16
1247
原创 P1678 烦恼的高考志愿
计算机竞赛小组的神牛 V 神终于结束了高考,然而作为班长的他还不能闲下来,班主任老 t 给了他一个艰巨的任务:帮同学找出最合理的大学填报方案。可是 v 神太忙了,身后还有一群小姑娘等着和他约会,于是他想到了同为计算机竞赛小组的你,请你帮他完成这个艰巨的任务。
2024-07-11 06:45:27
961
原创 P1024 [NOIP2001 提高组] 一元三次方程求解
ax3bx2cxd0这样的一个一元三次方程。给出该方程中各项的系数(abcd均为实数),并约定该方程存在三个不同实根(根的范围在−100至100之间),且根与根之差的绝对值≥1。要求由小到大依次在同一行输出这三个实根(根与根之间留有空格),并精确到小数点后2位。提示:记方程 f(x)=0,若存在 2 个数 x1和x2 ,且x1<x2 ,f(x1)×f(x2)<0,则在 (x1,x2) 之间一定有一个根。
2024-07-10 10:35:59
825
原创 P1873 [COCI 2011/2012 #5] EKO / 砍树
伐木工人 Mirko 需要砍M米长的木材。对 Mirko 来说这是很简单的工作,因为他有一个漂亮的新伐木机,可以如野火一般砍伐森林。不过,Mirko 只被允许砍伐一排树。Mirko 的伐木机工作流程如下:Mirko 设置一个高度参数H(米),伐木机升起一个巨大的锯片到高度H,并锯掉所有树比H高的部分(当然,树木不高于H米的部分保持不变)。Mirko 就得到树木被锯下的部分。例如,如果一排树的高度分别为201510和17,Mirko 把锯片升到15米的高度,切割后树木剩下的高度将是15。
2024-07-10 10:35:26
1011
原创 P1102 A-B 数对
出题是一件痛苦的事情!相同的题目看多了也会有审美疲劳,于是我舍弃了大家所熟悉的 A+B Problem,改用 A-B 了哈哈!
2024-07-09 06:54:43
2049
原创 P2249 【深基13.例1】查找
输入n个不超过109的单调不减的(就是后面的数字不小于前面的数字)非负整数a1a2an,然后进行m次询问。对于每次询问,给出一个整数q,要求输出这个数字在序列中第一次出现的编号,如果没有找到的话输出−1。
2024-07-09 06:54:03
1097
原创 原码、反码、补码以及lowbit运算
可以用来计算正数加减,正数的原码、反码、补码都一样。第一位为符号位,符号位0为正数,1为负数(32位字符,这里用4位来举例子,后面皆是用4位来举例子,其中第一位是符号位)。
2024-07-08 08:30:59
405
原创 atcoder ABC 357-D题详解
本题使用快速幂,先拼接,可以发现是等比数列,然后使用等比数列求和公式,因为数太大会爆ll,所以使用欧拉定理和飞马小定理分别化简式子来优化时间复杂度,最后答案也要先mod后乘,不然会爆ll。暴力直接写,re和tle。
2024-07-02 19:03:37
534
原创 用质因数求解最大公约数(gcd)和最小公倍数(lcm)
1、质因数:(素因数或质因子)他指的是能整除给定正整数的质数。例如:36可以分解为223*3,其中2和3就是质因数。2、质因数求解最大公约数:对每个数进行质因数分解;找出所有数的共有质因数,并取每个共有质因数的最低次幂;将这些最低次幂的质因数想乘,得到的结果就是这些数的最大公约数。gcd(a,b)=pi的min(ai,bi)次方 * pj的min(aj,bj)次方。
2024-07-02 08:57:30
238
原创 c++STL中的全排列函数next_permutation详解
在 C++ 的 库中,next_permutation 是一个用于计算给定范围内元素的下一个排列的函数。这个函数特别适用于对整数序列或可以比较的元素进行全排列的生成。
2024-07-01 19:23:16
221
原创 atcoder ABC 360-A题详解
本题只要R在M的左边就可以了,可以分两种情况,第一,当R在最左边的话他是一定符合的,第二,当R在中间则需要判断是否符合,并且只差一个数字(即i与i➕1)。
2024-07-01 07:36:25
522
原创 杨辉三角和组合数
杨辉三角,又称贾宪三角或帕斯卡三角,是中国古代数学的杰出研究成果之一。它将二项式系数图形化,直观地展示了组合数的一些代数性质。杨辉三角的构成遵循以下规律:每行端点与结尾的数为1。每个数等于它上方两数之和。每行数字左右对称,由1开始逐渐变大。第n行的数字有n项。前n行共有[(1+n)n]/2个数。
2024-07-01 07:25:42
413
原创 筛质数(暴力法、埃氏筛、欧拉筛)
直接双for循环来求解质数如果不设置标记只是简单地执行了break会导致内部循环(由j控制)而不是立即打印i或者跳过它。如果打印语句写到内部循环中,也会导致每个非素数也被打印出来多次(在找到其因子之前)。
2024-06-22 22:08:10
729
原创 atcoder ABC 358-B题详解
本题需要求解每一个人需要的时间,a是解答问题的时间,需要求上一个人的时间加a和当前值加a取最大值,即可以求得每一个人的时间。
2024-06-16 19:36:24
710
原创 高精度加、减、乘、除法
由于要存储的数超出基本数据类型的范围,我们通常需要用数组或字符串来存储每一位数字,我们会采用从低位到高位存储的方法,即对于一个数如果是1234,存储方法为a[0]=1,a[1]=3,a[2]=2,a[3]=4。进位处理:如果a[0]+b[0]的和大于等于10,那就会产生进位,需要将进位值加到下一位的运算中。(我们可以使用一个额外的变量来记录进位值,并在每次相加时更新它)逐位相加:从最低位(数组末尾)开始,逐位将两个加数相加,并加上之前的进位值。
2024-06-10 16:05:50
909
DFS入门题单,适合零基础,此题单全是DFS题目可以学习以及巩固DFS算法
2024-07-03
数据结构期末复习速成知识点附带习题
2024-06-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人