自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 小鸟的设备

check函数:体中有一句话很关键——“从一个设备切换到另一个设备的时间忽略不计”,遇到这种切换时间忽略不计的,可以把所有设备看成一个整体。同时小鸟又有一个可以给任意一个设备充电的充电宝,每秒可以给接通的设备充能 p 个单位,充能也是连续的,不再赘述。设你的答案为 a,标准答案为 b,只有当 a,b 满足 ∣a−b∣/max(1,b)​≤10^−4 的时候,你能得到本测试点的满分。对于 100% 的数据,1≤n≤100000,1≤p≤100000,1≤ai​,bi​≤100000。

2024-09-07 12:04:56 410

原创 黑白格

对于样例 1,假设 (i,j) 代表第 i 行第 j 列,至少包含 5 个黑色格子的最小子矩形的四个顶点为 (2,4),(2,5),(4,4),(4,5),共包含 6 个格子。2.由于是二分,必须保证两头至少一个是true,不然会出错,所以要提前判断这个r1和r2的最大区间够不够k个,不够continue。之后 n 行,每行⼀个长度为 m 的 01 串,代表网格图第 i 行格子的颜色,如果为 0,则对应格子为白色,否则为黑色。搞一个二位前缀和暴力,打擂台,无了,但是O(n⁴),这道题数据小能过。

2024-09-06 11:50:15 411

原创 B-smooth 数

这也是由于埃氏筛法的一个性质,每一个数都会被他所有的质因子筛一遍(正版不是这样,后面会说到),所以经过覆盖,c数组中存的数就成了i的最大质因子。逆向思维:题目要求的是B-smooth数,我们可以求出非B-smooth数,用n减去这个数量。B-smooth数的定义是最大质因子不超过b,隐含了任何质因子都不超过b,于是非B-smooth数就是有至少一个质因子大于b就够了。虽然这样做效率会高一些,但效率高的原因是每个数只被最小质因子筛了,c数组里存的就成了最小质因子,所以需要省去这个优化才能得出正确结果。

2024-09-05 20:45:27 327

原创 小A点菜

看似是dfs,其实这是DP,记忆化搜索,DP本来就是一种递归思想的加强。餐馆有 N(N≤100) 种菜品,但每种菜只有一份,其中第 i 种售价 ai​ 元 (ai​≤1000)。小A奉行 “不把钱花光就不罢休” 的原则,所以他点的菜一定刚好把身上的所有钱花完。第二行起 N 个正整数 ai​(可以有相同的数字,每个数字均在 1000 以内)。小A口袋里只剩 M 元 (M≤10000),来到一家餐馆点菜吃饭。一个正整数,表示点菜方案数。第一行是两个数字,表示 N 和 M。

2024-07-28 16:25:12 337

原创 [BCSP-X2024.小高3] 学习计划

形式化地,给定序列 a[1∼n],b[1∼m],你需要把 1,2,...,n 这个序列分成首尾相连且非空的 m 段,假设每段的 a 之和为 s[1∼m],最大化 ∑i+1m​b[i]×s[i] 的值。例如 a=[6,3,5,10,5],b=[−8,−5,−5],最优策略是分成 [1],[2,3,4],[5] 三段,总收益为 −8×6−5×(3+5+10)−5×5=−163。对于所有数据,满足 1≤T≤20,1≤m≤n≤2000,−10^3≤a[i],b[i]≤10^3。对于测试点 1∼7:n≤10。

2024-07-26 17:28:14 791

原创 广度优先遍历2

题目描述给定一个由 m 个顶点 n 条边构成的无向连通图,输出它的BFS序列。BFS。

2024-07-21 16:22:38 302

原创 你猜

夏令营期间,李老师从小溪的上游走到下游,一共发现了 n 块规整圆润的石头,并将石头的位置按 1∼n 的顺序标记在了地图上,同时在该石头上写了一个数字 xi​(每块石头上的数字互不相同)。一共有 5 块石头,1 号石头上的数字为 3,2 号石头上的数字为 1,3 号石头上的数字为 5,4 号石头上的数字为 2,5 号石头上的数字为 4。为了加快查找的效率,请你编写一个程序将同学们解决这一个问题:如果所有的石头上存在有数字 yi​,则记录该石头的编号,若不存在,则记录。第一行一个整数 n,表示有 n 块石头。

2024-07-18 11:40:15 320

原创 奶牛晒衣服

所以在check里,可以遍历w数组,如果遇到在mid时间里不能自动晾干的衣服,就用烘干机,同时用ans加上它占用烘干机的时间。抠门的熊大妈买了 1 台烘衣机,使用烘衣机可以让你用 1 的时间使 1 件衣服除了自然晒干 A 点湿度外,还可以烘干 B 点湿度,但在 1 的时间内只能对 1 件衣服使用。N 件衣服因为种种原因而不一样湿,现在告诉你每件衣服的湿度,要你求出弄干所有衣服的最少时间(湿度为 0 时为干)。3.给q赋值时,a*mid会超int(2.说的),如果强转给q会溢出,要乘1ll。

2024-07-17 14:09:10 538

原创 雷达安装

题目描述假设海岸线是一条无限延伸的直线,它的一侧是陆地,另一侧是海洋,每一座小岛是在海面上的一个点。雷达必须安装在陆地上(包括海岸线),并且每个雷达都有相同的扫描范围 d(半径)。你的任务是建立尽量少的雷达站,使所有小岛都在扫描范围之内。数据使用笛卡尔坐标系,定义海岸线为 x 轴。在 x 轴上方为海洋,下方为陆地。

2024-07-16 15:20:54 676

原创 合并果子2

由于每次都是选出最小的两堆合并后再放回去,可以使用优先队列,而且它的复杂度也是O(nlogn),所以刚好合适。假定每个果子重量都为1,并且已知果子的种类 数和每种果子的数目,你的任务是设计出合并的次序方案,使多多耗费的体力最少,并输出这个最小的体力耗费值。合并果子1是贪心,由于每次合并都要消耗体力,所以贪心策略是:每次遍历,找出果子最少的两堆合并。对于100%的数据,1

2024-07-15 19:46:04 689

原创 2022 数对

这道题本来不是很难,但是UKE了,因为当时开的是桶数组,而下标会出现负数。中间一通加偏移一直不对劲,最后用的map就好了,还优化了一下,直接在输入时写完了。如果两个数之和为 2022,则称这两个数组成了一个 “2022 数对”。第二行 n 个整数 ai​,且 ai​ 的绝对值不超过 10000。输出一个整数,为 2022 数对的数量,不能重复统计。的整数,统计其中有多少对整数之和为 2022。第一行一个整数 n(2≤n≤10000)

2024-07-14 12:12:30 225

原创 [2002J4]过河卒

棋盘上 A 点有一个过河卒,需要走到目标 B 点。同时在棋盘上 C 点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。主要问题有:base,优先级,long long,等等,等等……现在要求你计算出卒从 A 点能够到达 B 点的路径的条数,假设马的位置是固定不动的,并不是卒走一步马走一步。棋盘用坐标表示,A 点 (0,0)、B 点 (n,m),同样马的位置坐标是需要给出的。对于 100% 的数据,1≤n,m≤20,0≤ 马的坐标 ≤20。一个整数,表示所有的路径条数。

2024-07-09 10:52:31 958

原创 [2005S1] 谁拿了最多奖学金

接下来的 N 行每行是一位学生的数据,从左向右依次是姓名,期末平均成绩,班级评议成绩,是否是学生干部,是否是西部省份学生,以及发表的论文数。例如姚林的期末平均成绩是 87 分,班级评议成绩 82 分,同时他还是一位学生干部,那么他可以同时获得五四奖学金和班级贡献奖,奖金总数是 4850 元。但它还有一个比较坑的地方:“如果有两位或两位以上的学生获得的奖金最多,输出他们之中在输入文件中出现最早的学生的姓名”。现在给出若干学生的相关数据,请计算哪些同学获得的奖金总数最高(假设总有同学能满足获得奖学金的条件)。

2024-07-04 20:17:38 447 2

原创 序列划分

且可以为空),对划分的 2 部分分别统计:左边部分的元素总和 sum1​、右边部分的元素总和 sum2​。今天交了三遍过的,第一遍错了,改了两个long long;样例 3 说明:sum1​=3+4=7,sum2​=(−3)+2+(−1)=−2。给定序列 A[1...N],将序列中的元素 A[i] 分为 2 部分(每部分。第一行包含一个整数 N(1≤N≤106),代表序列的长度。一个整数,代表 sum1​−sum2​ 的最大值。请你求出 (sum1​−sum2​) 的最大值。

2024-07-03 17:59:20 256

原创 百钱百鸡2

中国数学家张邱建(公元五世纪,其它资料不详),在他的《算经》中提出了著名的“百钱买百鸡”问题:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一。百钱买百鸡,问翁、母、雏各几何?你的任务是:根据给定的钱数 m,和买到的鸡数 n ,输出所有的方案。如果没有可行方案,输出None。没啥好说的,就是k直接算,不用循环了,算是剪枝。还有最后那个None要输出。每行 3 个数,表示一种可行方案,分别表示鸡翁、鸡母、鸡雏的数量。只有两个整数 m,n(0

2024-07-02 21:53:23 211

原创 八皇后

题目描述一个如下的 ​6*6 的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。上面的布局可以用序列 2 4 6 1 3 5 来描述,第 i 个数字表示在第 i 行的相应位置有一个棋子,如下:行号 ​1 2 3 4 5 6列号 2 4 6 1 3 5这只是棋子放置的一个解。请编一个程序找出所有棋子放置的解。并把它们以上面的序列方法输出,解按字典顺序排列。请输出前 ​3 个解。最后一行是解的总个数。

2024-07-01 20:06:13 1309 1

原创 游戏(迷宫)

李老师设定了一个小游戏:将 “马走日” 和 “象走田” 合并在一起,即马可以走 “日” 和 “田” 一共 12 个点。现给出 2 个起点位置 (x1,y1) 和 (x2,y2) ,请你分别计算出 2 个点走到 (1,1) 的最短步数。

2024-06-28 17:08:56 172

原创 连通块2

最开始一切正常,样例“仿佛”是对的。但是全WA了,我又研究样例。我发现样例“正确”是因为我把起点算上了,其实是错的。经过一番调试,我发现是判断是否出界时把m写成n了……李老师给定了一个由 m×n​ 个方格组成的迷宫,从左上角编号 ​(1,1) 至右下角编号 (m,n)。第一行两个整数 m 和 n ,且 1≤m,n≤50。接下来给定一个 m×n 的迷宫,由。,代表起点,剩余每个格点上标有。在所有的方格中,有个特殊的格点。开始,统计可以经过多少个。

2024-06-26 21:58:39 368

原创 01迷宫

当时超时了,所以定义了l数组,l[i][j]代表i行j列的位置能到多少个地方,因为有很多连通块,可以在dfs一遍后遍历,如果vis是true就把他的l也改为cnt。若你位于一格 0 上,那么你可以移动到相邻 4 格中的某一格 1 上,同样若你位于一格 1 上,那么你可以移动到相邻 4 格中的某一格 0 上。接下来 m 行,每行 2 个用空格分隔的正整数 i,j,对应了迷宫中第 i 行第 j 列的一个格子,询问从这一格开始能移动到多少格。对于 100% 的数据,n≤1000,m≤105。

2024-06-22 12:17:31 789

原创 迷宫Ⅱ

.和#,前者表示可以通行后者表示不能通行。同时当Extense处在某个格点时,他只能移动到东南西北(或者说上下左右)四个方向之一的相邻格点上,Extense想要从点 A 走到点 B,问在不走出迷宫的情况下能不能办到。如果起点或者终点有一个不能通行(为#),则看成无法办到。

2024-06-18 17:58:06 1055 1

原创 区间选点问题

--------------------------------------------------------------------------------------------------------------------------------(不知为何这道题粘过来的时候没有空四格)第11行,22个用空格隔开的整数n,k,表示区间个数为n,区间一定不会超出[1,k]范围;你有若干个区间,表示为[ai​,bi​],其中ai​,bi​为整数。输出共11行,11个整数,为所求的最少点数。

2024-06-05 20:46:08 486 2

原创 双是整数卡片

不用struct的时候,默认大根堆,而且改小根还特复杂。所以我开了一个vector,把要erase的下标都存了进去,最后再一块儿erase就好了。这道题我前面写的时候问题不大,结果后面写着写着发现超时了,我爸爸说是因为遍历map的时候没有erase。但是erase之后又RTE了,因为在用AUTO遍历的时候,是不能修改的,会影响红黑树的结构。老师评论了“整数卡片”之后,我用老师的方法又写了一编,果然方便多了。这种方法叫“离线算法”。题目见《整数卡片》《又是整数卡片》用的离线优先队列,比登天还难!

2024-06-02 17:34:30 446 2

原创 又是整数卡片

选择第1,2,4,101,2,4,10张卡改成30,数组变成 [30,30,10,30,100,10,52,33,13,30][30,30,10,30,100,10,52,33,13,30]。选择第1,3,61,3,6张卡改成10,数组变成 [10,8,10,7,100,10,52,33,13,5][10,8,10,7,100,10,52,33,13,5]。第1次操作:B1​=2,C1​=3,可以最多选2张卡改成3。第2次操作:B2​=1,C2​=5,可以最多选1张卡改成5。第1行,2个正整数N,M。

2024-05-31 16:11:40 557

原创 整数卡片

选择第1,2,4,101,2,4,10张卡改成30,数组变成 [30,30,10,30,100,10,52,33,13,30][30,30,10,30,100,10,52,33,13,30]。选择第1,3,61,3,6张卡改成10,数组变成 [10,8,10,7,100,10,52,33,13,5][10,8,10,7,100,10,52,33,13,5]。第1次操作:B1​=2,C1​=3,可以最多选2张卡改成3。第2次操作:B2​=1,C2​=5,可以最多选1张卡改成5。第1行,2个正整数N,M。

2024-05-29 22:04:46 511 2

原创 [USACO17OPEN] Paired Up S

有M(M为偶数)头奶牛,每头奶牛有一个产奶量,将这些奶牛两两配对,每对奶牛的产奶的时间为两头奶牛产奶量的总和。然后我先是用一个vector把所有产奶量记下来,如样例我会输入成8,5,5,2。结果,我的做法超时了,我爸爸说这是因为我是一个一个算最大值的,但这样算的东西一直一样,相当于白算了。这道题我先翻译了一下题意,他是想让我们把这些奶牛两两配对,让最大和最小,所以让第yi'ge一配倒数第一,第二配倒数第二就行了。让8和2配对,5和5配对,则产奶时间分别为10,10,所以这两对奶牛同时产奶的时间为10.

2024-05-27 21:11:07 382

空空如也

空空如也

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

TA关注的人

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