自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2023 数据结构复习

关于坑点就是对父母的性别,当父母为可考的时候,要赋上性别,为后面追溯同祖先并查集准备。还有就是pta上只能c,c的结构体和c++设置有一点点不一样(所以就需要用二分法来解决;用到了查找精确值的二分法。于是就借鉴网上的ac了嘤嘤嘤嘤QAQ。后来发现在大规模输入的时候不能过。五代人需要用追溯,dfs。一开始用的是数组方法。6-1 顺序表基本操作。循环遍历就会导致超时。

2023-01-06 19:34:45 763 1

原创 2022天梯赛练习集(2022.9-2022.10)

没有加(int)过不了。

2022-11-27 22:35:40 609

原创 2022-10洛谷

list不支持

2022-11-08 14:55:16 445

原创 2022-9 洛谷准备重刷

综上,罗伯法适用于奇数阶幻方,最适合于连续自然数,但对一个等差数列则要求记住九个数字的顺序,否则容易出错。作为构造幻方的一种经典方法,自当学习和掌握之。, 但又因为旋转的规则是将最后一个放最前再去复制前缀,所以初始字符位置应该是。这题坑有点多,实数a,b,c,d 要用double,精度值应在要求的多一位。构造一个三阶幻方,首先建立一个3×3的矩阵,然后按照以下口诀填数。第四个是又第三个变的巴拉巴拉,设串长为L,初始字符为。将旋转三次的以及不旋转直接复制三次的拿来对比。使用勘根定理以及二分来写。

2022-10-24 20:34:15 932

原创 2022-9 做题时查漏补缺QVQ

位运算符有:&(按位与)、|(按位或)、^(按位异或)、~ (按位取反)。优先级从高到低,依次为~、&、^、|

2022-09-19 12:49:46 184

原创 2022 - 8 洛谷

倍增。

2022-09-01 21:16:01 373

原创 程序设计入门竞赛

然后,求d的时候不要掉进坑以为最小的差值就是公差 No!要是最小数值刚好是公差两倍不就错了是吧,所以这个时候就要求各个值之间的最大公因数!懂了吧,这才是本题解题的关键。这道题首先要知道求等差数列的公式。难绷,掉坑里了QAQ。

2022-08-24 17:07:02 783 2

原创 2022- 7 - 8做题时忽略的知识

C++中有两个函数可进行快速变换大小写,tolower()函数是把字符串都转化为小写字母;touppre()函数是把字符串都转化为大写字母。

2022-08-17 23:06:10 275

原创 sort升、降序

sort一般都是升序排序。若要使用降序排序两种方法。

2022-08-15 00:16:36 244

原创 动态中位数( 堆 )

依次读入一个整数序列,每当已经读入的整数个数为奇数时,输出已读入的整数构成的序列的中位数。输入格式第一行输入一个整数 P,代表后面数据集的个数,接下来若干行输入各个数据集。每个数据集的第一行首先输入一个代表数据集的编号的整数。然后输入一个整数 M,代表数据集中包含数据的个数,M 一定为奇数,数据之间用空格隔开。数据集的剩余行由数据集的数据构成,每行包含 10 个数据,最后一行数据量可能少于 10 个,数据之间用空格隔开。输出格式。...

2022-08-09 21:51:18 95

原创 天才的记忆 (

,在你看过一遍之后,它便消失在你面前,随后问题就出现了,给你 M 个询问,每次询问就给你两个数字 A,B,要求你瞬间就说出属于 A 到 B 这段区间内的最大数。一天,一位美丽的姐姐从天上飞过,看到这个问题,感到很有意思(主要是据说那个宝藏里面藏着一种美容水,喝了可以让这美丽的姐姐更加迷人),于是她就竭尽全力想解决这个问题。),如果谁能轻松回答出这个问题,便可以继承他的宝藏。从前有个人名叫 WNB,他有着天才般的记忆力,他珍藏了许多许多的宝藏。输出共 M 行,每行输出一个数,表示对一个问题的回答。...

2022-08-08 22:50:32 85

原创 最佳牛围栏( 二分 + 前缀和 + 双指针 )

农夫约翰的农场由 N 块田地组成,每块地里都有一定数量的牛,其数量不会少于 1 头,也不会超过 2000 头。约翰希望用围栏将一部分连续的田地围起来,并使得围起来的区域内每块地包含的牛的数量的平均值达到最大。接下来 N 行,每行输入一个整数,第 i+1 行输入的整数代表第 i 片区域内包含的牛的数目。在给定条件下,计算围起区域内每块地包含的牛的数量的平均值可能的最大值是多少。围起区域内至少需要包含 F 块地,其中 F 会在输入中给出。第一行输入整数 N 和 F,数据间用空格隔开。......

2022-08-08 17:58:04 104

原创 增减序列( 差分 )

假设p >= q ,那么我们要求正数p都减成0,所以最少要进行p次操作,所以方案数就是p,q的最小值 + p,q之间的差的绝对值 = p,q之间的最大值 即最少操作数:min(p,q) + abs(p - q);当正数减为0或者负数加为0了,那么就需要进行第二种或者第三种操作,所弥补的就是p与q之间差,可以只选第二种或者第三种,然后多一种0次的方案(即 不对b1 进行操作那么a1就不会改变):abs(p- q) + 1。尽量选择第一种:选择两个数进行操作,正数的和为p,负数的和为q,第一行输入正整数 n。.

2022-08-08 00:08:53 182

原创 激光炸弹( 二维前缀和 )

接下来 N 行,每行输入一组数据,每组数据包括三个整数 Xi,Yi,Wi,分别代表目标的 x 坐标,y 坐标和价值,数据用空格隔开。这道题目还有一个重点,就是要注意,坐标x,y都要加1,因为这题的坐标是从0开始的,而我们处理是从一开始的。激光炸弹的投放是通过卫星定位的,但其有一个缺点,就是其爆炸范围,即那个正方形的边必须和 x,y轴平行。地图上有 N 个目标,用整数 Xi,Yi 表示目标在地图上的位置,每个目标都有一个价值 Wi。输出一个正整数,代表一颗炸弹最多能炸掉地图上目标的总价值数目。...

2022-08-07 22:07:58 93

原创 费解的开关( 递推 + 位运算 ) + 费解的开关

这道题我写的时候一直卡着的地方就是没想出来要把第一行32种情况枚举一遍,因为第一行的开关情况决定了最后要走多少步,所以需要枚举每一种情况来确定最小步数。一共输出 n 行数据,每行有一个小于等于 6 的整数,它表示对于输入数据中对应的游戏状态最少需要几步才能使所有灯变亮。游戏者改变一个灯的状态会产生连锁反应:和这个灯上下左右相邻的灯也要相应地改变其状态。给定一些游戏的初始状态,编写程序判断游戏者是否可能在 6 步以内使所有的灯都变亮。每一个灯都有一个开关,游戏者可以改变它的状态。各组数据间用一个空行分隔。..

2022-08-05 22:10:19 88

原创 64位整除法( 位运算 )

第一行输入整数a,第二行输入整数b,第三行输入整数p。求 a 乘 b 对 p 取模的值。

2022-08-05 17:05:39 294

原创 英雄哪里来 位运算

代码】Power of Two 2的幂。

2022-08-04 19:13:39 191

原创 钞票和硬币( 顺序结构 )

在此之后,将该值分解为多种钞票与硬币的和,每种面值的钞票和硬币使用数量不限,要求使用的钞票和硬币的数量尽可能少。硬币的面值是 1,0.50,0.25,0.10,0.05 和 0.01。参照输出样例,输出每种面值的钞票和硬币的需求数量。读取一个带有两个小数位的浮点数,这代表货币价值。钞票的面值是 100,50,20,10,5,2。输入一个浮点数 N。...

2022-08-03 20:15:59 135

原创 int, long long 等数据范围以及做题注意事项

int最小 0x8fffffff(-7fffffff) 最大0x7fffffff,32位,十六进制表示8位。一般累计求和sum的时候就需要考虑long long。正常oj运算次数在1e8到1e7左右,超过后考虑优化。long long 上限2e20左右。2的m次方简单表示 1...

2022-08-03 18:57:24 682

原创 距离( 顺序结构 )

显然,快车与慢车的距离会不断拉开,每过一个小时(60 分钟),两车的距离就拉开 30 公里。现在,告诉你两车之间的距离为 L 公里,请你求出两车已经行驶了多长时间?一辆车的速度为 60 km/h,另一辆车的速度为 90 km/h。先乘60再除30的,这样会爆int,需要用long long。所以答案应该为 L / 0.5 即 L * 2;两辆汽车在同一地点,同时,沿同一方向前进。输入包含一个整数 L,表示两车之间的距离。,其中 X 为已经行驶的时间,单位为分钟。此时可以采用位运算的方法, L ...

2022-08-03 18:49:20 169

原创 最大值 / 最小值

有些题有小坑,使用max函数,比如max(a,0)时,若a是long long 类型,就会报错,需要将0改成0ll。当a >= b时,max(a, b) = (a + b + a - b) / 2 = a;当a < b时,max(a, b) = (a + b + b - a) / 2 = b;头文件下有 max( )、min( )

2022-08-03 18:34:07 1096

原创 加权平均数

比重也称为权重,数据的权重反映了该变量在总体中的相对重要性,每种变量的权重的确定与一定的理论经验或变量在总体中的比重有关。依据各个数据的重要性系数(即权重)进行相乘后再相加求和,就是加权和。请你计算学生的平均分,其中 A 的成绩的权重为 3.5,B 的成绩的权重为 7.5。输入占两行,每行包含一个浮点数,第一行表示 A,第二行表示 B。读取两个浮点数 A 和 B 的值,对应于两个学生的成绩。成绩的取值范围在 0 到 10 之间,且均保留一位小数。是具有不同比重的数据(或平均数)的算术平均数。...

2022-08-03 17:05:50 917

原创 计数问题(动态规划 + 数位dp )

给定两个整数 a 和 b,求 a 和 b 之间的所有数字中 0∼9 的出现次数。每个结果包含十个用空格隔开的数字,第一个数字表示。每组测试数据占一行,包含两个整数 a 和 b。y总课上的这个思路弄明白了那就差不多能理解了。每组数据输出一个结果,每个结果占一行。时,表示输入终止,且该行不作处理。出现的次数,第二个数字表示。出现的次数,以此类推。输入包含多组测试数据。...

2022-08-03 16:37:34 102

原创 最短Hamilton路径( 二进制 + 状态压缩dp)

给定一张 n 个点的带权无向图,点从 0∼n−1 标号,求起点 0 到终点 n−1 的最短 Hamilton 路径。Hamilton 路径的定义是从 0 到 n−1 不重不漏地经过每个点恰好一次。输入格式第一行输入整数 n。接下来 n 行每行 n 个整数,其中第 i 行第 j 个整数表示点 i 到 j 的距离(记为 a[i,j])。对于任意的 x,y,z,数据保证 a[x,x]=0,a[x,y]=a[y,x] 并且 a[x,y]+a[y,z]≥a[x,z]。输出格式。......

2022-08-02 19:24:01 84

原创 蒙德里安的梦想( 动态规划 + 状态压缩dp )

例如当N=2,M=4时,共有5种方案。当N=2,M=3时,共有3种方案。求把N×M的棋盘分割成若干个1×2的长方形,有多少种方案。当输入用例N=0,M=0时,表示输入终止,且该用例无需处理。每组测试用例占一行,包含两个整数N和M。这个解析写的好清楚啊!每个测试用例输出一个结果,每个结果占一行。输入包含多组测试用例。......

2022-08-01 22:57:10 1045 1

原创 二进制左右移位

例如20的二进制为00010100,那么10右移3为就是00000010,结果就是2。比如1n就是1右移n位。n>>1就是n右移1位。1

2022-08-01 21:21:30 2999

原创 练手小题目(乌龙局

哈哈哈哈哈哈一开始以为就是打印一行的意思,后来发现是自带回车的orz就出现下面的意外了哈哈哈哈。

2022-08-01 20:24:10 41

原创 前篇 + 入门

java变量存放在JVM管理的内存中,C语言变量存放在内存(某些时候需要手动释放内存,而java会自动帮助清理变量占据的内存)java没有指针,是一种强类型语言,只有明确变量之后才能使用,一旦被指定某个数据类型将被始终认为是对应的类型。计算机中的二进制表示。...

2022-08-01 17:00:23 57

原创 逻辑运算符 【&& || ! 】笔记

运行结果100。

2022-07-30 23:56:52 108

原创 耍杂技的牛( 贪心 )

代码】耍杂技的牛(贪心)

2022-07-30 22:55:59 63

原创 货仓选址( 排序 + 快速选择算法 + 贪心 + 绝对值不等式 )

代码】货仓选址(排序+快速选择算法+贪心+绝对值不等式)

2022-07-29 21:51:06 137

原创 排队打水( 贪心 + 排列不等式 )

代码】排队打水(贪心+排列不等式)

2022-07-29 21:01:56 62

原创 合并果子( 贪心 + 二叉堆 + Huffman树 )

代码】合并果子(贪心+二叉堆+Huffman树)

2022-07-29 19:45:46 81

原创 区间覆盖( 贪心 )

代码】区间覆盖(贪心)

2022-07-29 19:43:42 47

原创 区间分组( 贪心 )

top()是当前优先队列的最小值。

2022-07-29 12:23:39 117

原创 区间选点 + 最大不相交区间数量( 贪心 )

代码】区间选点(贪心)

2022-07-28 22:37:34 206

原创 滑雪( 动态规划吗 + 记忆化搜索 )

现在给定你一个二维矩阵表示滑雪场各区域的高度,请你找出在该滑雪场中能够完成的最长滑雪轨迹,并输出其长度(可经过最大区域数)。一个人从滑雪场中的某个区域内出发,每次可以向上下左右任意一个方向滑动一个单位距离。当然,一个人能够滑动到某相邻区域的前提是该区域的高度低于自己目前所在区域的高度。矩阵中第i行第j列的点表示滑雪场的第i行第j列区域的高度。给定一个R行C列的矩阵,表示一个矩形网格滑雪场。在给定矩阵中,一条可行的滑行轨迹为24−17−2−1。0≤矩阵中整数≤10000。...

2022-07-28 19:41:41 82

原创 没有上司的舞会( 动态规划 + 树形dp )

在满足这个条件的前提下,主办方希望邀请一部分职员参会,使得所有参会职员的快乐指数总和最大,求这个最大值。接下来N−1行,每行输入一对整数L,K,表示K是L的直接上司。现在要召开一场周年庆宴会,不过,没有职员愿意和直接上司一起参会。他们的关系就像一棵以校长为根的树,父节点就是子节点的直接上司。每个职员有一个快乐指数,用整数Hi给出,其中1≤i≤N。接下来N行,第i行表示i号职员的快乐指数Hi。Ural大学有N名职员,编号为1∼N。输出最大的快乐指数。...

2022-07-28 18:40:54 157

原创 整数划分( 动态规划 + 计数类dp )

一个正整数nn可以表示成若干个正整数之和,形如n=n1+n2+…+nk,其中n1≥n2≥…现在给定一个正整数n,请你求出n共有多少种不同的划分方法。由于答案可能很大,输出结果请对109+7取模。我们将这样的一种表示称为正整数n的一种划分。共一行,包含一个整数,表示总划分数量。感觉将其想为完全背包的更好理解。共一行,包含一个整数n。...

2022-07-28 17:26:11 71

原创 石子合并( 动态规划 + 区间dp )

每次只能合并相邻的两堆,合并的代价为这两堆石子的质量之和,合并后与这两堆石子相邻的石子将和新堆相邻,合并时由于选择的顺序不同,合并的总代价也不相同。,最后一次合并代价为11,总代价为4+7+11=22。问题是找出一种合理的方法,使总的代价最小,输出最小代价。设有N堆石子排成一排,其编号为1,2,3,…,再合并得到11,总代价为4+9+11=24;如果第二步是先合并2,3堆,则代价为7,得到。,我们可以先合并1、2堆,代价为4,得到。,又合并1,2堆,代价为9,得到。......

2022-07-27 23:45:05 168

空空如也

空空如也

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

TA关注的人

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