做题记录
文章平均质量分 61
_qingche
永远保持求知欲和对知识的敬畏
展开
-
4440. 照相(acw每日一题)
迫切希望在郡县集市上赢得最佳奶牛摄影师的农夫约翰正在尝试为他的N头奶牛拍摄一张完美的照片。农夫约翰拥有两种品种的奶牛:更赛牛(Guernsey)和荷斯坦牛(Holstein)。为了使他的照片尽可能地艺术,他想把他的奶牛排成一排,使得尽可能多的更赛牛处于队列中的偶数位置(队列中的第一个位置是奇数位置,下一个是偶数位置,以此类推)。由于他与他的奶牛缺乏有效的沟通,他可以达到目的的唯一方法是让他的奶牛的偶数长的「前缀」进行反转(一个前缀指的是对于某个位置j,从第一头奶牛到第j头奶牛范围内的所有奶原创 2023-06-28 17:20:44 · 300 阅读 · 0 评论 -
题:接龙数列(dp+优化)
对于一个长度为 K 的整数数列:A1,A2,...,AK,我们称之为接龙数列当且仅当 Ai的首位数字恰好等于 Ai−1 的末位数字 (2≤i≤K)。例如 12,23,35,56,61,111 是接龙数列;12,23,34,56 不是接龙数列,因为 56 的首位数字不等于 34 的末位数字。所有长度为 1 的整数数列都是接龙数列。现在给定一个长度为 N 的数列 A1,A2,...,AN,请你计算最少从中删除多少个数,可以使剩下的序列是接龙序列?输入格式第一行包含一个整数 N。原创 2023-04-20 09:01:10 · 746 阅读 · 1 评论 -
密码脱落(思维+区间dp)
回文串实际上是以中间为准,左右对应相同的。也就是说,左右有几个不同,就需要增加/删除几个字符使他们相同,所以找到最长的回文字串后,用原来的长度减去回文串长度即是答案。如此,题目就变成了找最长的回文字串。原创 2023-01-13 10:49:57 · 426 阅读 · 0 评论 -
整数划分(满完全背包求方案数)
核心还是在于状态转移方程,从集合的角度来看,f [ i ][ j ]表示从前i个数中选,且总体积恰好为j的选法。总体上是相同的,只有初始化的边界值不同,本题因为恰好是求方案数,所以不合法的方案(选不满容量的方案)就置为0,在后续计算中不会影响最终结果。把n1、n2、...、nk看作数量无限的物品,问题就转化为:从1-n,n个物品中选,体积恰好为n的选法有多少种。一个正整数 nn 可以表示成若干个正整数之和,形如:n=n1+n2+…现在给定一个正整数 n,请你求出 n 共有多少种不同的划分方法。原创 2023-01-12 15:35:26 · 358 阅读 · 0 评论 -
题:删数问题(贪心)
首先,删除较大的几位数这个策略明显不对,越高位的数越小,最后的数才能越小。设当前还有m位数没选,贪心策略就是从第0位开始(原数列的最左边的一位),到n-m(因为要保证至少应该选够n-k位数)。这样就选好了第一位,然后再从第一位的数的下一个位置开始选,到n-m(注意此时m已经自减),按照这个策略选完为止。键盘输入一个高精度的正整数 N(不超过 250位),去掉其中任意 k个数字后剩下的数字按原左右次序将组成一个新的非负整数。编程对给定的 N 和 k,寻找一种方案使得剩下的数字组成的新数最小。原创 2022-12-29 22:44:14 · 179 阅读 · 0 评论 -
题:上课睡觉(暴力枚举)
你可以对石子堆进行合并操作,将两个相邻的石子堆合并为一个石子堆,例如,如果 a=[1,2,3,4,5],合并第 2,3 堆石子,则石子堆集合变为 a=[1,5,4,5]我们希望通过尽可能少的操作,使得石子堆集合中的每堆石子的数量都相同。有 N 堆石子,每堆的石子数量分别为 a1,a2,…本题一定有解,因为可以将所有石子堆合并为一堆。第一行包含整数 T,表示共有 T 组测试数据。第二行包含 N个整数 a1,a2,…第三组数据,我们什么都不需要做。每组数据第一行包含整数 N。每组数据输出一行结果。原创 2022-12-28 23:30:31 · 235 阅读 · 0 评论 -
题:数列分段 Section II(二分、贪心)
对于给定的一个长度为N的正整数数列 A_{1\sim N}A1∼N,现要将其分成 MM(M\leq NM≤N)段,并要求每段连续,且每段和的最大值最小。关于最大值最小:例如一数列 4\ 2\ 4\ 5\ 14 2 4 5 1 要分成 33 段。将其如下分段:第一段和为 66,第 22 段和为 99,第 33 段和为 11,和最大值为 99。将其如下分段:第一段和为 44,第 22 段和为 66,第 33 段和为 66,和最大值为 66。并且无论如何分段,最大值不会小于 66。原创 2022-12-27 20:19:11 · 624 阅读 · 0 评论 -
题:孤独的照片
Farmer John 最近购入了 NN 头新的奶牛,每头奶牛的品种是更赛牛(Guernsey)或荷斯坦牛(Holstein)之一。奶牛目前排成一排,Farmer John 想要为每个连续不少于三头奶牛的序列拍摄一张照片。然而,他不想拍摄这样的照片,其中只有一头牛的品种是更赛牛,或者只有一头牛的品种是荷斯坦牛——他认为这头奇特的牛会感到孤立和不自然。在为每个连续不少于三头奶牛的序列拍摄了一张照片后,他把所有「孤独的」照片,即其中只有一头更赛牛或荷斯坦奶牛的照片,都扔掉了。原创 2022-12-26 21:13:45 · 920 阅读 · 0 评论 -
题:A-B 数对(二分)
对于不同的A,B的个数可能有0、1、多个:排序后二分查找数组中第一个B出现的位置,若二分答案与B不等,则无答案;若二分答案与B相等,则继续二分查找最后一个B出现的位置,得到左右边界,答案+=B的个数即可。给出一串正整数数列以及一个正整数 CC,要求计算出所有满足 A - B = CA−B=C 的数对的个数(不同位置的数字一样的数对算不同的数对)。c已知,找A和B满足A-B=C,即枚举A,对于不同的A,找到B满足B=A-C即可。一行,表示该串正整数中包含的满足 A - B = CA−B=C 的数对的个数。原创 2022-12-25 18:15:31 · 966 阅读 · 0 评论 -
题:后缀表达式
给定NN个加号、MM个减号以及N+M+1N+M+1个整数A1,A2,⋅⋅⋅,AN+M+1A1,A2,···,AN+M+1,小明想知道在所有由这NN个加号、MM个减号以及N+M+1N+M+1个整数凑出的合法的后缀表达式中,结果最大的是哪一个?请你输出这个最大的结果。例如使用123+−123+−,则“23+1−”“23+1−”这个后缀表达式结果是44,是最大的。原创 2022-12-23 15:41:33 · 503 阅读 · 0 评论 -
题:付账问题
几个人一起出去吃饭是常有的事。但在结帐的时候,常常会出现一些争执。现在有 nn 个人出去吃饭,他们总共消费了 SS 元。其中第 ii 个人带了 aiai 元。幸运的是,所有人带的钱的总数是足够付账的,但现在问题来了:每个人分别要出多少钱呢?为了公平起见,我们希望在总付钱量恰好为 SS 的前提下,最后每个人付的钱的标准差最小。这里我们约定,每个人支付的钱数可以是任意非负实数,即可以不是 11 分钱的整数倍。你需要输出最小的标准差是多少。标准差的介绍:标准差是多个数与它原创 2022-12-17 10:30:41 · 408 阅读 · 0 评论 -
题:雷达设备
简单的勾股定理可知岛屿(x,y)在雷达覆盖范围是d的条件下,覆盖该岛屿的雷达可建设区间在[x-sqrt(d*d-y*y) , x+sqrt(d*d-y*y)]。雷达装置均位于海岸线上,且雷达的监测范围为 dd,当小岛与某雷达的距离不超过 dd 时,该小岛可以被雷达覆盖。因此,该题就转化为:给定 n 个区间,在 x 轴上选择尽量少的点,使得所有区间至少包含一个点。如果当前区间不包含最后一个选择的点,则在当前区间的右端点的位置选一个新的点。假设海岸是一条无限长的直线,陆地位于海岸的一侧,海洋位于另外一侧。原创 2022-12-16 17:26:43 · 206 阅读 · 1 评论 -
第五届“传智杯”全国大学生计算机大赛(练习赛)
传智杯第五届练习赛原创 2022-11-20 22:47:19 · 1432 阅读 · 0 评论 -
题:地牢大师
其中, 充满岩石障碍的单元格用”#”表示,不含障碍的空单元格用”.”表示,你的起始位置用”S”表示,终点用”E”表示。如果能够逃脱地牢,则输出”Escaped in x minute(s).”,其中X为逃脱所需最短时间。每组数据第一行包含三个整数 L,R,CL,R,C 分别表示地牢层数,以及每一层地牢的行数和列数。向北,向南,向东,向西,向上或向下移动一个单元距离均需要一分钟。你不能沿对角线移动,迷宫边界都是坚硬的岩石,你不能走出边界范围。当输入一行为”0 0 0”时,表示输入终止。请问,你有可能逃脱吗?原创 2022-11-16 10:52:35 · 115 阅读 · 0 评论 -
题:交换瓶子
每次操作可以分裂环或者合并环,最小步数的话每次操作都是分裂环。当环数==点数时交换完成。把当前的位置的 a[i]连向我们本该在的位置的 a[i],成环。对于这么简单的情况,显然,至少需要交换 22 次就可以复位。有 NN 个瓶子,编号 1∼N1∼N,放在架子上。第二行包含 NN 个整数,表示瓶子目前的排列状况。输出一个正整数,表示至少交换多少次,才能完成排序。要求每次拿起 22 个瓶子,交换它们的位置。第一行包含一个整数 NN,表示瓶子数量。你可以通过编程来解决。原创 2022-11-09 17:27:14 · 146 阅读 · 0 评论 -
题:航班时间
小 hh 的女朋友发现小 hh 上午十点出发,上午十二点到达美国,于是感叹到“现在飞机飞得真快,两小时就能到美国了”。保证输入时间合法(0≤h≤23,0≤m,s≤590≤h≤23,0≤m,s≤59),飞行时间不超过24小时。对于每一组数据输出一行一个时间hh:mm:ss,表示飞行时间为hh小时mm分ss秒。注意,当时间为一位数时,要补齐前导零,如三小时四分五秒应写为03:04:05。每组数据包含两行,第一行为去程的起降时间,第二行为回程的起降时间。假设飞机来回飞行时间相同,求飞机的飞行时间。原创 2022-11-08 19:46:11 · 204 阅读 · 1 评论 -
递增三元组
数据范围十万,n或nlogn,只能枚举ABC中的一组。枚举AC后都会剩下两组,互相约束,因此枚举B。另外,前缀和、dp等需要用到下标-1操作的算法,在存数据时下标++,避免额外处理一些边界情况。排序A、C,枚举B, 在A二分找小于Bi的元素个数,在C中找大于Bi的元素个数,加和。第二行包含 NN 个整数 A1,A2,…第三行包含 NN 个整数 B1,B2,…第四行包含 NN 个整数 C1,C2,…cnt [ i ]表示在A中,i这个值出现多少次。表示在A中,0~i出现多少次。第一行包含一个整数 NN。原创 2022-11-06 16:27:55 · 189 阅读 · 0 评论