寒假每日一题
文章平均质量分 57
今年是2024年
陷入回忆的人
今天,你AC了吗
展开
-
消除游戏(寒假每日一题+模拟、优化)
从题目中可以清楚的看出,如果我们使用暴力做法的话会TLE,如果每一次只删除一个字符,那么时间复杂度:n、n-1、n-2、n-3……在一个字符串 S 中,如果 Si=Si−1 且 Si≠Si+1,则称 Si和 Si+1 为边缘字符。对于一个给定的串 S,一次操作可以一次性删除该串中的所有边缘字符(操作后可能产生新的边缘字符)。如果 Si≠Si−1 且 Si=Si+1,则 Si−1 和 Si 也称为边缘字符。对于 25% 的评测用例,|S|≤10^3,其中 |S|表示 S 的长度;其它的字符都不是边缘字符。原创 2024-01-19 23:39:13 · 408 阅读 · 0 评论 -
三国游戏(寒假每日一题+贪心、枚举)
该题目,主要看你是否能够理解题目,我们可以这样想,因为没有规定是必须哪个国家胜利,所以每个国家都可能胜利,故要枚举每个国家胜利的情形,将胜利的场次统计,最终选择其中的最大值。游戏有 n 个可能会发生的事件,每个事件之间相互独立且最多只会发生一次,当第 i个事件发生时会分别让 X,Y,Z 增加 Ai,Bi,Ci。注意,蓝桥杯官方给出的关于 Ai,Bi,Ci 的数据范围是 1≤Ai,Bi,Ci≤10^9,但是这与给出的输入样例相矛盾,因此予以纠正。例如,当 X>Y+Z时,我们认为魏国获胜。小蓝正在玩一款游戏。原创 2024-01-19 23:11:05 · 568 阅读 · 0 评论 -
仓库规划(寒假每日一题+枚举)
我们可以对其进行遍历,将仓库1与其他仓库进行比较,之后在将仓库1中的位置编码与其他仓库进行一一比较。如果有多个仓库均满足该要求,则选取其中编号最小的仓库作为仓库 i 的上级仓库;现给定 n个仓库的位置编码,试计算每个仓库的上级仓库编号。对于仓库2:(−1,−1) 来说,仓库1:(0,0) 和仓库3:(1,2) 均满足上级仓库的编码要求,因此选择编号较小的仓库 1 作为其上级。比如编码为 (1,1,1) 的仓库可以成为 (0,0,0)的上级,但不能成为 (0,1,0) 的上级。仓库 i 位置编码的对应元素。原创 2024-01-18 22:46:25 · 389 阅读 · 0 评论 -
松散子序列(寒假每日一题+DP)
给定一个仅含小写字母的字符串 s,假设 s 的一个子序列 t 的第 i 个字符对应了原字符串中的第 p(i) 个字符。我们定义 s 的一个松散子序列为:对于 i>1 总是有 p(i)−p(i−1)≥2。设一个子序列的价值为其包含的每个字符的价值之和(a∼z分别为 1∼26)。对于所有评测用例,1≤|s|≤10^6,字符串中仅包含小写字母。对于 70%70% 的评测用例,|s|≤5000;对于 40%40% 的评测用例,|s|≤300;对于 20%20% 的评测用例,|s|≤10;原创 2024-01-12 22:11:30 · 1029 阅读 · 1 评论 -
互质数的个数(寒假每日一题+欧拉和快速幂)
因为a^b太大,我们可以转化为a*a^(b-1),这样我们便可以先求出f(a),f(a^b)=a^(b-1)*f(a)更加题目要求,我们需要mod一个数,那么求a^(b-1)%MOD便可以使用快速幂,在logb-1的时间复杂度下求出。这样欧拉函数:f(x)=x*(1-1/q1)*(1-1/q2)*(1-1/q3)....,给定 a,b,求 1≤x原创 2024-01-12 22:34:36 · 827 阅读 · 1 评论 -
棋盘(寒假每日一题+二维差分)
接下来 m� 行每行包含四个整数 x1,y1,x2,y2�1,�1,�2,�2,相邻整数之间使用一个空格分隔,表示将在 x1�1 至 x2�2 行和 y1�1 至 y2�2 列中的棋子颜色取反。注意:当我们求他的前缀和的时候,会出现大于2或者是小于0的一些数,只要这输出结果的时候&1便可,我们可以将其看成奇数和偶数的情况,2&1=0、1&1=1、-1%1=1……对于所有评测用例,1≤n,m≤20001≤�,�≤2000,1≤x1≤x2≤n1≤�1≤�2≤�,1≤y1≤y2≤n1≤�1≤�2≤�。原创 2024-01-16 22:42:12 · 573 阅读 · 1 评论 -
翻转(寒假每日一题+思维训练)
小蓝决定,如果在 S中发现一个棋子和它两边的棋子都不一样,就可以将其翻转变成另一个颜色。根据题目给出的规则和例子,我们可以轻易推出,改变数字中的一位数不会对另一位造成影响,因此我们只要从左到右或者从右向左遍历一遍,将s中与t中的不同修改,如果发现不能修改便返回-1。后面 2D 行每行包含一个 01 串,每两行为一组数据,第 2i−1 行为第 i 组数据的 Ti,第 2i 行为第 i 组数据的 Si,Si 和 Ti 长度均为 ni。对于每组数据,输出一行包含一个整数,表示答案,如果答案不存在请输出。原创 2024-01-17 23:17:42 · 478 阅读 · 0 评论 -
平均(寒假每日一题+贪心)
从题目要求可以看出,数字只有0~9,要将其数组中的数字个数平均分配,比如有10个数,那么数组中0只能有一个,如果多出来了那么将多出来的0转换为其他缺少的数字,我们可以从图中看出,因为0转换为任意数字的花费是相同的且花费都是>0的,那么我们只要将所有数量大于平均数的数,将其花费排序,并取前(总数量-平均数量)的花费,便可以求出答案。只更改第 1,2,4,5,7,81,2,4,5,7,8 个数,需要花费代价 1+2+4+5+7+8=271+2+4+5+7+8=27。输入的第一行包含一个正整数 n。原创 2024-01-10 22:42:27 · 376 阅读 · 0 评论 -
保险箱(寒假每日一题+DP)
我们可以从样例入手,要想将a->b可以对其每个数字进行操作,当每个数字都相等的时候,就达到了目的——a==b;由于我们低位会向高位进位或者借位,这样当我们从左向右进行每个数处理的时候,会被进位所干扰,所以从右向左是解决这道题目的关键。当我们低位已经操作好之后,然后对高位进行操作,无论我们怎么对高位操作是不会影响已经操作好的低位,这样就确保了子问题不会对父问题产生影响,使用dp是较好的选择。对于所有评测用例,1≤n≤10^5,x,y 中仅包含数字 0 至 9,可能有前导零。输入的第一行包含一个整数 n。原创 2024-01-16 22:30:38 · 540 阅读 · 1 评论 -
蜗牛(寒假每日一题+dp)
为了快速到达目的地,它施展了魔法,在第 i和 i+1 根竹竿之间建立了传送门(0原创 2024-01-08 22:33:01 · 473 阅读 · 1 评论