![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
AcWing寒假每日一题
文章平均质量分 79
马看到什么是人决定的
在校学生,软件设计师,算法领域博主,阿里云专家博主,CSDN/掘金平台创作者,喜欢记录学习问题,分享笔记,热爱算法。
展开
-
【寒假每日一题·2024】AcWing 4966. 填充(补)
【寒假每日一题·2024】AcWing 4966. 填充(补)原创 2024-01-31 10:19:00 · 317 阅读 · 0 评论 -
【寒假每日一题·2024】AcWing 5415. 仓库规划(补)
【寒假每日一题·2024】AcWing 5415. 仓库规划(补)原创 2024-01-29 21:51:31 · 549 阅读 · 0 评论 -
【寒假每日一题·2024】AcWing 5307. 小苹果(补)
2024AcWing寒假每日一题。原创 2024-01-26 22:38:54 · 488 阅读 · 0 评论 -
【寒假每日一题·2024】AcWing 4965. 三国游戏(补)
2024AcWing寒假每日一题。原创 2024-01-25 22:56:10 · 746 阅读 · 0 评论 -
【寒假每日一题·2024】AcWing 5396. 棋盘(补)
2024AcWing寒假每日一题。原创 2024-01-19 19:27:05 · 427 阅读 · 0 评论 -
【寒假每日一题】AcWing 4261. 孤独的照片(补)
如果队伍中的第 i 头奶牛是更赛牛,则字符串的第 i 个字符为 G。Farmer John 最近购入了 N 头新的奶牛,每头奶牛的品种是更赛牛(Guernsey)或荷斯坦牛(Holstein)之一。在为每个连续不少于三头奶牛的序列拍摄了一张照片后,他把所有「孤独的」照片,即其中只有一头更赛牛或荷斯坦奶牛的照片,都扔掉了。的子串均恰好包含一头更赛牛或荷斯坦牛——所以这些子串表示孤独的照片,并会被 Farmer John 扔掉。给定奶牛的排列方式,请帮助 Farmer John 求出他会扔掉多少张孤独的照片。原创 2023-02-06 09:09:05 · 510 阅读 · 12 评论 -
【寒假每日一题】AcWing 4818. 奶牛大学(补)
(2)如果收取的学费没有超过奶牛愿意支付的费用,则奶牛可以入学。求取入学奶牛数量就转化为了要求取奶牛愿意支付的费用序列中大于等于学费的个数,而学费可以不是整数。在奶牛入学数量一定时,我们希望学费在能满足这个入学数量的情况下,越大越好,也就是让学费恰好和当前入学数量中愿意支付钱数最少的那个奶牛所愿支付的钱数相等。而如果不是这样的话,我们的学费一定不是在满足这样入学数量时最大的。(3)问题就转换成了:我们枚举(1)中序列的各个费用分别作为学费,来求此时的收益,其中收益最大即为所求,而学费就是求得此收益的学费。原创 2023-02-02 13:06:35 · 191 阅读 · 0 评论 -
【寒假每日一题】AcWing 4729. 解密(补)
给定一个正整数 k,有 k次询问,每次给定三个正整数 ni,ei,di,求两个正整数 pi,qi,使。,a不为0,且a,b,c均为实数,且存在根,则有 x1+x2=-b/a。,我们可以根据上述两式来构造一个一元二次方程,二元方程的解就是对应的。接下来 k行,第 i 行三个正整数 ni,di,ei。,可据此构造一个一元二次方程使得该方程的解为 x1。2)模拟上述过程,输出相应结果,即为所求。第一行一个正整数 k,表示有 k次询问。行,每行两个正整数 pi,qi。,通过高亮表示的两式不难联想到。原创 2023-01-21 21:13:07 · 1463 阅读 · 2 评论 -
【寒假每日一题】AcWing 4728. 乘方
在大多数机器上,int 类型能表示的最大数为 2^31-1,因此只要计算结果超过这个数,她的程序就会出现错误。因此她希望你在 a^b 的值超过 10^9 时,输出一个 -1 进行警示,否则就输出正确的 a^b 的值。:pow()函数返回值类型为浮点型,而C++中默认采用科学计数法来输出较大的浮点数,所以我们需要利用。a^b 即 b 个 a 相乘的值,例如 2^3 即为 3 个 2 相乘,结果为 2×2×2=8。输出共一行,如果 a^b 的值不超过 10^9,则输出 a^b 的值,否则输出 -1。原创 2023-01-19 20:14:41 · 1550 阅读 · 1 评论 -
【寒假每日一题】AcWing 4510. 寻宝!大冒险!
也可以先统计出B中树的数目,然后再在A中对应的B范围内的树来依次判断B中对应的点是否也是树,如果满足此条件,而且A中对应的B范围内的树的数量和输入的B中树的数量相等,可以判定这个树的坐标作为B[0][0]满足题目要求。简单地说,西西艾弗岛绿化图可以视作一个大小为 (L+1)×(L+1) 的 01 矩阵 A,地图左下角(坐标 (0,0))和右上角(坐标 (L,L))分别对应 A[0][0] 和 A[L][L]。,最先输入的是 B[S][0]⋯B[S][S]一行,B[0][0]⋯B[0][S]一行最后输入。原创 2023-01-17 23:41:15 · 861 阅读 · 5 评论 -
【寒假每日一题】AcWing 4455. 出行计划
小 C 按时间顺序列出接下来的 n 项出行计划,其中第 i 项(1≤i≤n)可以概括为:ti 时刻进入某场所,该场所需持有 ci 个单位时间内的核酸检测结果入内,其中 0原创 2023-01-16 23:20:02 · 622 阅读 · 1 评论 -
【寒假每日一题】AcWing 4700. 何以包邮?
2)该问题就可以转化为一个背包问题,即从n件物品中选择几件来放入容量为sum-x的背包中,使背包价值越大越好,而针对本题,物品为书,而书的重量和价值均为书的价格,背包容量则为可以删掉的书的总价格。3)按照0-1背包问题进行模拟即可,最终可以求得可删除的书的最大总价格,用购物车中原来全部书的总价格减去可删除书的最大总价格,得到的便是满足包邮条件的最小花费,输出结果,即为所求。1)总共有n本书,每本书都有两种选择,删或者不删即0或1来代表,可以用长度为n位的二进制数来表示所有的情况数即2^n种情况。原创 2023-01-15 20:18:04 · 580 阅读 · 3 评论 -
【寒假每日一题】AcWing 4699. 如此编码
已知某次测验包含 n 道单项选择题,其中第 i 题(1≤i≤n)有 ai 个选项,正确选项为 bi,满足 ai≥2 且 0≤bi原创 2023-01-12 21:15:49 · 306 阅读 · 1 评论 -
【寒假每日一题】AcWing 4509. 归一化处理
输出共 n 行,每行一个浮点数,依次表示按上述方法归一化处理后的数据 f(a1),f(a2),⋯,f(an)。且输入的 n 个整数 a1,a2,⋯,an 满足:方差 D(a)≥1。2)pow(double x,double y):求x的y次方的结果。第二行包含空格分隔的 n 个整数,依次表示 a1,a2,⋯,an。3)fabs(double x):对double型数据取绝对值。这里假定需要处理的数据为 n 个整数 a1,a2,⋯,an。1)sqrt(double x):求x开平方后的结果。原创 2023-01-11 21:41:09 · 508 阅读 · 1 评论 -
【寒假每日一题】AcWing 4454. 未初始化警告
3)我们可以开辟一个数组来记录变量是否出现过,如果出现过将数组中对应的元素赋值为1,否则默认为0,这样可以把每次查询右值是否出现过的时间控制在O(1),所以我们只需要通过O(n)的输入变量的时间内,在每次输入后查询,如果符合条件,答案+1,否则不进行任何操作,这样就把总时间控制在O(n)级别。2)根据题意我们可知当输入的yi为0时,yi为常量,该赋值语句一定正确,不符合题目中的未初始化问题,我们在统计答案的过程中注意。全部的测试数据满足 0原创 2023-01-10 20:49:19 · 321 阅读 · 1 评论 -
【寒假每日一题】AcWing 4656. 技能升级(难到飞起)
1)原始思路中因为我们每次都选择的是提升攻击力最多的,我们可以假设每个技能每次所能增加的攻击力是一个递减的等差数列,而我们每次都是选择最大的,也就是从这N个等差序列的头部进行选择,所以我们每次都是能够保证是从最初的技能开始一步步升级的,不会越级升级,因为针对某个技能在把它升到下一级之前,它一定是已经达到了下一级的前一个级别,因为我们每次都选择攻击力提升幅度最大的技能进行升级,而针对某个技能,它的攻击力提升是逐渐下降的,所以我们按照原贪心思路得到的解一定是正确的,下面我们需要对这个算法实现方法进行优化。原创 2023-01-10 00:02:55 · 856 阅读 · 1 评论 -
【寒假每日一题】AcWing 4653. 数位排序(补)
根据sort对pair的默认排序规则,可以简化代码:将每个pair的first存当前元素数位和,second存当前元素的值。例如,2022 排在 409 前面,因为 2022 的数位之和是 6,小于 409 的数位之和 13。1)创建一个每个元素都是pair类型的数组,其中每个元素记录当前元素的值和当前元素的数位和。当两个数各个数位之和不同时,将数位和较小的排在前面,当数位之和相等时,将数值小的排在前面。1到 13 的排序为:1,10,2,11,3,12,4,13,5,6,7,8,9。原创 2023-01-07 16:47:35 · 1060 阅读 · 1 评论 -
【寒假每日一题】AcWing 4644. 求和(补)
1)直接枚举,暴力求解时间复杂度为O(n^2),最坏情况要循环10^10左右,所以必定超时,无法暴力。给定 n个整数 a1,a2,⋅⋅⋅,an,求它们两两相乘再相加的和,即。对于所有评测用例,1≤n≤200000,1≤ai≤1000。对于 30% 的数据,1≤n≤1000,1≤ai≤100。第二行包含 n个整数 a1,a2,⋅⋅⋅,an。3)优化后的算法的时间复杂度为O(n)。2)通过对式子简单分析可知,总和为。输出一个整数 S,表示所求的和。输入的第一行包含一个整数 n。,然后再求和,就可得到总和。原创 2023-01-07 15:18:19 · 630 阅读 · 1 评论 -
【寒假每日一题】AcWing 3443. 学分绩点(补)
既将学生的实际考分根据不同的学科的不同学分按一定的公式进行计算。总评绩点 = 所有学科学分绩点之和 /所有课程学分之和。北京大学对本科生的成绩施行平均学分绩点制(GPA)。现要求你编写程序求出某人 AA的总评绩点(GPA)。输出有一行,总评绩点,精确到小数点后 2 位小数。第二行,相应课程的学分(两个学分间用空格隔开);一门课程的学分绩点 ==该课绩点 × 该课学分。2)注意数据应为浮点型,最后保留2位小数。第三行,对应课程的实际得分;此处输入的所有数字均为整数。第一行,总的课程数 n;原创 2023-01-07 13:13:54 · 646 阅读 · 1 评论 -
【寒假每日一题】AcWing 3400. 统计次数(补)
给定两个正整数 n 和 k,求从 1 到 n 这 n 个正整数的十进制表示中 k 出现的次数。从 1 到 12 这些整数中包含 1 的数字有 1,10,11,12,一共出现了 5 次 1。2)获取每个数各个位上的数字,如果等于k,则出现次数+1。共一行,包含两个整数 n 和 k。3)循环结束,输出sum即为所求。输出一个整数,表示答案。1)直接遍历枚举每个数。时间复杂度为O(n)原创 2023-01-07 12:28:15 · 128 阅读 · 1 评论 -
【寒假每日一题】AcWing 4655. 重新排序(补)
4)题目要求和最大,利用排序不等式可知,两数组“顺序”相乘和最大,所以对两数组进行,相同的排序操作,然后再求每项相乘再求和的结果,即为所求和最大,记为sum。差分数组第一个元素与原数组第一个元素相同,对于之后每一个元素都有第i个元素等于原数组第i个元素值-原数组第i-1个元素的值,大小与需要处理的数组大小一致。3)对原数组和2)中求得的数组,每项相乘再求和,即可得到m次询问中,原数组的所询问区间中的数的和sum0。对于所有评测用例,1≤n,m≤10^5,1≤Ai≤10^6,1≤Li≤Ri≤n。原创 2023-01-07 10:33:56 · 591 阅读 · 7 评论 -
【寒假每日一题】AcWing 4652. 纸张尺寸
在 ISO 国际标准中定义了 A0纸张的大小为 1189mm×841mm,将 A0纸沿长边对折后为 A1 纸,大小为 841mm×594mm,在对折的过程中长度直接取下整(实际裁剪时可能有损耗)。2)因为是向下取整,所以正好符合整型数据的除法,综上,为输入的字符A定义一个字符变量,来存它的值,为输入的数字定义一个整型变量,来存它的值。1)因为只有九种情况,所以而且每个输入样例都是以A开头,所以定义一个字符变量就行,没必要弄成字符串,以免后续还需将字符串转为整型。输入纸张的名称,请输出纸张的大小。原创 2023-01-06 19:24:13 · 665 阅读 · 4 评论