Acwing每日一题
暑期每日一题打卡
Sophia@FF
小白
展开
-
Acwing 每日一题3807 构造字符串
3807. 构造字符串 难度级别【简单】 题目描述 给定两个整数 n 和 k,请你构造一个长度为 n 的字符串 s。 字符串 s 需满足: s 由前 k 个小写字母构成,且前 k 个小写字母均在 s 中出现至少一次。 前 k 个小写字母中,出现次数最少的字母的出现的次数尽可能多。 输出任意满足条件的字符串 s。 样例 3 7 3 4 4 6 2 算法1 思路分析 贪心,即按照题意从a开始分配前k个再按顺序循环分配n-k个(每次k个),即k=3时,abcabcabc… C++ 代码 #include<原创 2021-08-17 19:35:19 · 129 阅读 · 0 评论 -
Acwing 3806 最小化字符串 [贪心]
Acwing 3806 最小化字符串 难度级别【简单】 题目描述 给定一个包含 n 个小写字母的字符串 s。 现在,你可以将其中的最多一个字符移除(也可以不移除任何字符),你的目标是使这个字符串在字典序上尽可能小。 输出你可以得到的字典序上最小的字符串。 输入样例 2 3 aaa 5 abcda 输出样例 aa abca 算法思想 字典序最小即指abc,bcd,dca,abd这四哥字符串中字典序最小的为abc。 题目的意思即去除一个字符使得字典序最小,例如adca原创 2021-08-16 20:45:09 · 92 阅读 · 0 评论 -
Acwing 消灭数组 3802
题目描述 给定一个长度为 n 的数组,如果它不是非降序的,那么就将它的前半部分或后半部分消灭。 不断重复这个消灭一半数组的过程,直至数组变为升序为止。 请问,得以幸存的数组的最大可能长度是多少? 输入样例 3 4 1 2 2 4 8 11 12 1 2 13 14 3 4 4 7 6 5 4 输出样例 4 2 1 分析 1.注意题目中最大长度,即消除两边后都需计算,因此转化为两个子问题使用递归求两边求较大值 2.二分法注意左右边界,中间取left+(right-left)/2 C++ 代码 #include原创 2021-08-15 20:57:02 · 90 阅读 · 1 评论 -
Acwing 每日一题 3799送糖果
每日一题 Acwing 3799 送糖果 难度级别[简单] 题目描述 Vladik 有 a 个糖果,Valera 有 b 个糖果。 两个人回合制的互送礼物给对方。 第一轮,Vladik 送给 Valera 1 个糖果。 第二轮,Valera 送给 Vladik 2 个糖果。 第三轮,Vladik 送给 Valera 3 个糖果。 以此类推,两人轮流给对方送糖果,且每轮送出的糖果数量都比上一轮多一个。 当某一轮,轮到某人送糖果时,如果糖果数量不够了,则停止互送礼物。 请问,是谁的糖果率先不够? 注意,每个人原创 2021-08-15 20:53:52 · 109 阅读 · 0 评论