2023 数据结构复习 关于坑点就是对父母的性别,当父母为可考的时候,要赋上性别,为后面追溯同祖先并查集准备。还有就是pta上只能c,c的结构体和c++设置有一点点不一样(所以就需要用二分法来解决;用到了查找精确值的二分法。于是就借鉴网上的ac了嘤嘤嘤嘤QAQ。后来发现在大规模输入的时候不能过。五代人需要用追溯,dfs。一开始用的是数组方法。6-1 顺序表基本操作。循环遍历就会导致超时。
2022-9 洛谷准备重刷 综上,罗伯法适用于奇数阶幻方,最适合于连续自然数,但对一个等差数列则要求记住九个数字的顺序,否则容易出错。作为构造幻方的一种经典方法,自当学习和掌握之。, 但又因为旋转的规则是将最后一个放最前再去复制前缀,所以初始字符位置应该是。这题坑有点多,实数a,b,c,d 要用double,精度值应在要求的多一位。构造一个三阶幻方,首先建立一个3×3的矩阵,然后按照以下口诀填数。第四个是又第三个变的巴拉巴拉,设串长为L,初始字符为。将旋转三次的以及不旋转直接复制三次的拿来对比。使用勘根定理以及二分来写。
程序设计入门竞赛 然后,求d的时候不要掉进坑以为最小的差值就是公差 No!要是最小数值刚好是公差两倍不就错了是吧,所以这个时候就要求各个值之间的最大公因数!懂了吧,这才是本题解题的关键。这道题首先要知道求等差数列的公式。难绷,掉坑里了QAQ。
动态中位数( 堆 ) 依次读入一个整数序列,每当已经读入的整数个数为奇数时,输出已读入的整数构成的序列的中位数。输入格式第一行输入一个整数 P,代表后面数据集的个数,接下来若干行输入各个数据集。每个数据集的第一行首先输入一个代表数据集的编号的整数。然后输入一个整数 M,代表数据集中包含数据的个数,M 一定为奇数,数据之间用空格隔开。数据集的剩余行由数据集的数据构成,每行包含 10 个数据,最后一行数据量可能少于 10 个,数据之间用空格隔开。输出格式。...
天才的记忆 ( ,在你看过一遍之后,它便消失在你面前,随后问题就出现了,给你 M 个询问,每次询问就给你两个数字 A,B,要求你瞬间就说出属于 A 到 B 这段区间内的最大数。一天,一位美丽的姐姐从天上飞过,看到这个问题,感到很有意思(主要是据说那个宝藏里面藏着一种美容水,喝了可以让这美丽的姐姐更加迷人),于是她就竭尽全力想解决这个问题。),如果谁能轻松回答出这个问题,便可以继承他的宝藏。从前有个人名叫 WNB,他有着天才般的记忆力,他珍藏了许多许多的宝藏。输出共 M 行,每行输出一个数,表示对一个问题的回答。...
最佳牛围栏( 二分 + 前缀和 + 双指针 ) 农夫约翰的农场由 N 块田地组成,每块地里都有一定数量的牛,其数量不会少于 1 头,也不会超过 2000 头。约翰希望用围栏将一部分连续的田地围起来,并使得围起来的区域内每块地包含的牛的数量的平均值达到最大。接下来 N 行,每行输入一个整数,第 i+1 行输入的整数代表第 i 片区域内包含的牛的数目。在给定条件下,计算围起区域内每块地包含的牛的数量的平均值可能的最大值是多少。围起区域内至少需要包含 F 块地,其中 F 会在输入中给出。第一行输入整数 N 和 F,数据间用空格隔开。......
增减序列( 差分 ) 假设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。.
激光炸弹( 二维前缀和 ) 接下来 N 行,每行输入一组数据,每组数据包括三个整数 Xi,Yi,Wi,分别代表目标的 x 坐标,y 坐标和价值,数据用空格隔开。这道题目还有一个重点,就是要注意,坐标x,y都要加1,因为这题的坐标是从0开始的,而我们处理是从一开始的。激光炸弹的投放是通过卫星定位的,但其有一个缺点,就是其爆炸范围,即那个正方形的边必须和 x,y轴平行。地图上有 N 个目标,用整数 Xi,Yi 表示目标在地图上的位置,每个目标都有一个价值 Wi。输出一个正整数,代表一颗炸弹最多能炸掉地图上目标的总价值数目。...
费解的开关( 递推 + 位运算 ) + 费解的开关 这道题我写的时候一直卡着的地方就是没想出来要把第一行32种情况枚举一遍,因为第一行的开关情况决定了最后要走多少步,所以需要枚举每一种情况来确定最小步数。一共输出 n 行数据,每行有一个小于等于 6 的整数,它表示对于输入数据中对应的游戏状态最少需要几步才能使所有灯变亮。游戏者改变一个灯的状态会产生连锁反应:和这个灯上下左右相邻的灯也要相应地改变其状态。给定一些游戏的初始状态,编写程序判断游戏者是否可能在 6 步以内使所有的灯都变亮。每一个灯都有一个开关,游戏者可以改变它的状态。各组数据间用一个空行分隔。..
钞票和硬币( 顺序结构 ) 在此之后,将该值分解为多种钞票与硬币的和,每种面值的钞票和硬币使用数量不限,要求使用的钞票和硬币的数量尽可能少。硬币的面值是 1,0.50,0.25,0.10,0.05 和 0.01。参照输出样例,输出每种面值的钞票和硬币的需求数量。读取一个带有两个小数位的浮点数,这代表货币价值。钞票的面值是 100,50,20,10,5,2。输入一个浮点数 N。...
int, long long 等数据范围以及做题注意事项 int最小 0x8fffffff(-7fffffff) 最大0x7fffffff,32位,十六进制表示8位。一般累计求和sum的时候就需要考虑long long。正常oj运算次数在1e8到1e7左右,超过后考虑优化。long long 上限2e20左右。2的m次方简单表示 1...