08 2022 档案

摘要:前言 题目传送门! 更好的阅读体验? 感觉挺不错的一道图论转化题。(其实也和图论关系不大。) 思路 对于每个条件 auav=x,二进制拆掉 x。如果 x 的二进制位 j1,说明 auav 中,当前位也肯定有至少一个为 1。标记一下 阅读全文
posted @ 2022-08-27 13:20 liangbowen 阅读(19) 评论(0) 推荐(0) 编辑
摘要:前言 题目传送门! 更好的阅读体验? 看起来挺难,其实一分钟就能想出来。 思路 首先考虑什么时候无解。由于 $k \times \left\lfloor\dfrac{a}{k}\right\rfloor \le a \le \left\lfloor\dfrac{a}{k}\right\rfloor 阅读全文
posted @ 2022-08-27 13:19 liangbowen 阅读(22) 评论(0) 推荐(0) 编辑
摘要:前言 题目传送门! 更好的阅读体验? 简单的数学题。 思路 每次只变一个数,因此考虑在短时间内计算:每个位置的数产生的贡献。 容易发现以下的条件: 不管 ai 是什么,当它作为一个子串的首项时,块数一定会加一。共有 (ni+1) 个串的首项是 ai。 如果 $a_i \ne 阅读全文
posted @ 2022-08-27 13:18 liangbowen 阅读(32) 评论(0) 推荐(0) 编辑
摘要:前言 题目传送门! 更好的阅读体验? 感觉 D1 和 D2 不是同一个难度档次的呀...... 思路 设 aji<aij,这意味着数字 aji 中,从个位起前 k 位和 aij 相同,之后第 k+1 位就不同 阅读全文
posted @ 2022-08-27 13:17 liangbowen 阅读(29) 评论(0) 推荐(0) 编辑
摘要:前言 题目传送门! 更好的阅读体验? 赛时瞎胡了个结论,然后就过了。 思路 Megan 从左下角到右上角,至少也得要 (n+m1) 步。于是考虑让 Stanley 少走几步。 如图,容易看出他最少走 min(n1,m1) 步。 答案就是 $n + m - 1 + \ 阅读全文
posted @ 2022-08-27 13:17 liangbowen 阅读(19) 评论(0) 推荐(0) 编辑
摘要:前言 题目传送门! 更好的阅读体验? 做法:ST 表加尺取。 思路 看到同余,立刻想到作差。我们建立差分数组 ci=|aiai1|,注意取了绝对值。 此时,我们只需在 ci 中寻找最长区间 [l,r],使得 $\gcd(c_l, c_{l+ 阅读全文
posted @ 2022-08-27 13:16 liangbowen 阅读(19) 评论(0) 推荐(0) 编辑
摘要:前言 题目传送门! 更好的阅读体验? 有点思维难度的 DP 优化题。 小知识 在做这道题之前,你需要知道:xy,yxxyx+y。 证明非常简单,利用异或的性质即可。 思路 容易想到类似 LIS 的东西。设 dpi 表示以 i 下标元 阅读全文
posted @ 2022-08-27 13:16 liangbowen 阅读(22) 评论(0) 推荐(0) 编辑
摘要:前言 题目传送门! 更好的阅读体验? 赛时锁题后看别人代码,怎么都和我想法不一样?幸好没有被 hack。 思路 以下把 L 字形的覆盖网格,直接称为 L。 贪心思考,我们想让每次 L 覆盖的 1 的数量少一些。 手玩一遍样例,我们发现:第一次 L 可能会覆盖多几个 1,之后每次必定可以只覆盖 阅读全文
posted @ 2022-08-27 13:16 liangbowen 阅读(19) 评论(0) 推荐(0) 编辑
摘要:前言 题目传送门! 更好的阅读体验? 比赛时,这题写了一个 O(n3) 算法,然后就过了。 以为是数据水,实际上可以证明时间复杂度是 O(n) 的。 思路 关键是一个结论:当 i<j<k 时,若 ai,aj,ak 单调不降或单调不升,则三元组 $(a_i, i), 阅读全文
posted @ 2022-08-27 13:14 liangbowen 阅读(21) 评论(0) 推荐(0) 编辑
摘要:前言 题目传送门! 更好的阅读体验? 和官方题解稍有不一样。貌似代码更好理解? 思路 我们假设 a 乘上 xb 乘上 y,就能相等,即 axby=cd。 化简:axd=byc。也就是 $x \cdot(ad) = y \cdo 阅读全文
posted @ 2022-08-27 13:14 liangbowen 阅读(17) 评论(0) 推荐(0) 编辑
摘要:前言 题目传送门! 更好的阅读体验? 普及组月赛第二题。特殊数据好恶心啊,考试差点丢分了。 思路 贪心题,先给 a 数组排个序。 首先,肯定是买小于等于 w 的最大价格的物品。如果买不到,直接输出 0。 上面一点可以使用二分实现,速度快一点(直接用 STL 就行)。 然后,按价格从小到大 阅读全文
posted @ 2022-08-27 13:13 liangbowen 阅读(14) 评论(0) 推荐(0) 编辑
摘要:前言 题目传送门! 更好的阅读体验? 校内考试题目。写一篇题解。 思路 首先记录每个字符出现了多少次,然后创建单调栈。 看当前字符是否入栈,如果没有入栈,就不停 pop(),直到: 栈空了。 栈顶字典序大于当前字符。 栈顶元素已经被删掉了(因为栈外面用 cnt[i] 记录了每个数的次数)。 满足单调 阅读全文
posted @ 2022-08-27 13:13 liangbowen 阅读(18) 评论(0) 推荐(0) 编辑
摘要:前言 题目传送门! 更好的阅读体验? 校内比赛题。赶紧补篇题解。 思路 经典的二分加搜索。 由于 hi,j 范围很小,考虑二分答案。 二分答案的范围应该是 [0,110]。 对于 check() 函数,可以暴力枚举所有差为 mid 的数对 阅读全文
posted @ 2022-08-26 02:03 liangbowen 阅读(15) 评论(0) 推荐(0) 编辑
摘要:前言 题目传送门! 更好的阅读体验? 本题是简单的双端队列练手题。 思路 题意大致如下: 执行双端队列 push_front() 操作。 执行双端队列 push_back() 操作。 查询 minmpxL,Rmpx,其中 mpx 表示 x 元素的对应下标。 由于 阅读全文
posted @ 2022-08-26 02:03 liangbowen 阅读(15) 评论(0) 推荐(0) 编辑
摘要:前言 题目传送门! 更好的阅读体验? 比赛时考到了这一题,于是写一篇题解纪念一下。 思路 设 dpi,j 表示前 i 张钞票分给两人,两人差尽可能接近 j 的情况下,获得的总钱数。此时不考虑赌场操作。 显然可以分三种情况讨论: 不用第 i 张钞票:即 $dp_{i-1, j} 阅读全文
posted @ 2022-08-26 02:01 liangbowen 阅读(11) 评论(0) 推荐(0) 编辑
摘要:前言 题目传送门! 更好的阅读体验? 这题题解都写得特别复杂,蒟蒻看不懂。因此,我补一篇简单的贪心题解。 思路 题目等同于求最小的 p 使得 f(p)>n,则 (p1) 就是答案。 若 f(p)>n,首先要保证 p 的位数大于等于 n 的位数。根据贪心思想,我们让末尾不 阅读全文
posted @ 2022-08-26 02:01 liangbowen 阅读(20) 评论(0) 推荐(0) 编辑
摘要:前言 题目传送门! 更好的阅读体验? 普及组月赛第一题。别的题解语言有点高深,我补篇题解。 思路 显然,lx,l+1x,,rx 阅读全文
posted @ 2022-08-26 02:01 liangbowen 阅读(47) 评论(0) 推荐(0) 编辑
摘要:前言 题目传送门! 更好的阅读体验? 本题是练习 bfs 的好题。 思路 结合代码进行思路讲解。 首先是读入部分,我们可以用 bool 存下地图,节省空间开销。 需要注意,数据比较烂,起始点可能有障碍。 我们可以霸气地把起始点的障碍消掉。 const int N = 1005; bool a[N][ 阅读全文
posted @ 2022-08-26 02:00 liangbowen 阅读(16) 评论(0) 推荐(0) 编辑
摘要:前言 题目传送门! 更好的阅读体验? 这一题内部比赛时考到了,个人觉得是一道二分答案好题。 本题时间很宽松,导致 O(nlog2n) 的代码可以跑过去。 但是,我内部比赛的时限是 1 秒,这就导致需要 O(nlogn) 的代码了。 思路一 显然是一道二分答案题目。 二分答案 阅读全文
posted @ 2022-08-26 01:59 liangbowen 阅读(17) 评论(0) 推荐(0) 编辑
摘要:前言 题目传送门! 更好的阅读体验? 这是一道简单的字符串练手题。 思路 每次暴力计数,是否为元音。最后判断是否满足题意即可。 重点是字符串读入问题。 由于字符串读入部分含有空格,因此使用 getline(cin, str) 读入,其中 str 是字符串。 我们把 getlin 阅读全文
posted @ 2022-08-26 01:59 liangbowen 阅读(19) 评论(0) 推荐(0) 编辑
摘要:前言 题目传送门! 更好的阅读体验? 本次比赛第二题,好像没有人抢题解,那我来一发。 思路还是挺巧妙的。 10 pts 思路 深搜求解即可。 最坏情况,时间复杂度 O(n!)。 #include <iostream> #include <cstdio> using name 阅读全文
posted @ 2022-08-26 01:58 liangbowen 阅读(17) 评论(0) 推荐(0) 编辑
摘要:前言 题目传送门! 更好的阅读体验? 这题显然没有蓝的难度。 其他题解代码不好看,而且没有讲清楚,那我补一发吧。 题目简述 有两个数 ab,每次操作可以给 ab 除以 235。 问最少操作数使得 a=b。无解输出 1。 思路 设最后,两数都需要等 阅读全文
posted @ 2022-08-26 01:57 liangbowen 阅读(22) 评论(0) 推荐(0) 编辑
摘要:前言 题目传送门! 更好的阅读体验? 这题是一道挺好的 dp 题啊,但大家的题解都写得不够详细。 所以,我来补一篇 LATEX 题解,希望能帮助大家。 思路 首先是读入,为了方便,我让字符串下标从 1 开始。 string a; int n; //字符串长度。 voi 阅读全文
posted @ 2022-08-26 01:56 liangbowen 阅读(19) 评论(0) 推荐(0) 编辑
摘要:前言 题目传送门! 或许更好的阅读体验? 这题非常简单,考察读入读出,以及较简单的代数运算。 思路 我们可以利用代数解这道题目。 设一共有 n 个大盒子,m 个小盒子。 得出:大盒子一共可以装 3n 个蛋糕,小盒子一共可以装 8m 个蛋糕。 所以:一共有 $ 阅读全文
posted @ 2022-08-26 01:55 liangbowen 阅读(14) 评论(0) 推荐(0) 编辑
摘要:前言 题目传送门! 更好的阅读体验? 这题是常规的二分答案。 前置知识:二分答案 教大家一个小技巧:如何判断一题是否可以使用二分答案,以及如何编写程序? 设计 f(x) 函数,确认其是否满足单调性。 如果不满足单调性,可能是 f(x) 函数设计错了,但更有可能是本题无法使用二分答案。 在给定 阅读全文
posted @ 2022-08-26 01:55 liangbowen 阅读(17) 评论(0) 推荐(0) 编辑
摘要:前言 状态压缩 DP,简称状压 DP。 之前一直觉得状压特别难,学了一下,发现基本形态挺简单的。 在学习之前,你需要掌握: 简单 DP(如线性 DP,背包) 基本二进制运算:& 运算、| 运算、 运算、左右移运算符。 什么是状压 DP 状态压缩,顾名思义,就是对当前的状态压缩。 怎么 阅读全文
posted @ 2022-08-26 01:54 liangbowen 阅读(127) 评论(0) 推荐(0) 编辑
摘要:前言 快速幂很有用哦!! 目前本文还没有例题,因为没有什么好题啊。 以后看一下能不能找一些题目。 什么是快速幂 幂,也就是次幂,可以理解为计算 xy。 由于 xy 会特别大,所以一般都是求 xymodp。 朴素的做法如下: #define LL long long LL s 阅读全文
posted @ 2022-08-26 01:53 liangbowen 阅读(52) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2022-08-26 01:52 liangbowen 阅读(7) 评论(0) 推荐(0) 编辑
摘要:### 前言 题目传送门 see in my blog 这题作为本次比赛的 T1,难度感觉还行,算是一道结论题。 已经尽量讲得简单一些,没有用复 阅读全文
posted @ 2022-08-26 01:52 liangbowen 阅读(25) 评论(0) 推荐(0) 编辑
摘要:前言 题目传送门! 或许更好的阅读体验? 这题算是一道中模拟? 码量不会很高,大概只有 100150 行。 思路 输入地图。 注意,还不能读入蛇的行动指令,因为我们不知道有几条蛇。 使用广搜得出每条蛇的信息。 这个就是搜连通块,惟一不同的是,要使用队列存下这条蛇。 写一个死亡函数,处理 阅读全文
posted @ 2022-08-26 01:52 liangbowen 阅读(20) 评论(0) 推荐(0) 编辑
摘要:### 前言 题目传送门 see in my blog 在学校比赛时遇到了这一题,写一篇题解纪念一下。 本题是最短路好题。 思路 此题明显是最短 阅读全文
posted @ 2022-08-26 01:51 liangbowen 阅读(16) 评论(0) 推荐(0) 编辑
摘要:目录 什么是 ST 表 建造 ST 表 ST 表查询操作 ST 表的适用范围与数据结构的对比 模板题 结语&参考文献 什么是 ST 表 ST 表,即 Sprase Table,也叫稀疏表。 它主要用于解决 RMQ(Range Minimum/Maximum Query,区间最值查询)问题。 更生动地 阅读全文
posted @ 2022-08-26 01:50 liangbowen 阅读(523) 评论(0) 推荐(1) 编辑
摘要:前言 在学习这篇文章之前,你需要了解的算法有: 基本图论知识 链式前向星(图的一种存储方式) 了解 队列、栈 等简单数据结构的实现,用 STL 也行。 什么是拓扑排序 AOV网的定义 在了解拓扑排序(topo sort)之前,我们还得了解一个东西:AOV 网。 AOV 网(Activity On V 阅读全文
posted @ 2022-08-26 01:47 liangbowen 阅读(145) 评论(0) 推荐(0) 编辑
摘要:### 前言 题目传送门 see in my blog 这题并不困难,代码也挺短的,题目理解稍有困难。 题目大意 有 (n+1) 家商店,也 阅读全文
posted @ 2022-08-26 01:43 liangbowen 阅读(15) 评论(0) 推荐(0) 编辑
摘要:题目传送门! 更好的阅读体验? 这题显然可以使用贪心的思想解决。 由于头和尾一定不用更改,所以只需从 a2 枚举到 an1。 贪心原则下,我们更改的数应该要与相邻的数相等。 按照上面的原则,如果你更改了 ai,则下一个可能需要更改的数至少是 ai+2。 所以,如果此 阅读全文
posted @ 2022-08-26 01:41 liangbowen 阅读(15) 评论(0) 推荐(0) 编辑
摘要:前言 题目传送门! 更好的阅读体验? 这题是假灰题,建议加上翻译并评红。 题意 给定 nk,求 n 的因数中,所有不能整除 k 的数的和。 思路 枚举 n 所有因数 i,如果 i0(modk),就统计。 但是,如果用 O(n) 的时间硬枚 阅读全文
posted @ 2022-08-26 01:41 liangbowen 阅读(19) 评论(0) 推荐(0) 编辑
摘要:题目传送门 see in my blog 小学生又双叒叕来写题解啦! 其他题解的代码都是 O(1) 的,对于小学生来说,这也太难分类讨论了。 阅读全文
posted @ 2022-08-25 00:34 liangbowen 阅读(31) 评论(0) 推荐(0) 编辑
摘要:题目传送门 see in my blog 小学生又双叒叕来写题解啦! 这题还是很简单的,甚至不需要像其他题解一样在最后扫全排列,按顺序计算即可。 阅读全文
posted @ 2022-08-25 00:32 liangbowen 阅读(22) 评论(0) 推荐(0) 编辑
摘要:题目传送门 see in my blog 看到题解里没有用双指针往中间靠的写法的,果断来一发。 思路上是贪心,贪心原则如下。 任何时候保证蓝色元 阅读全文
posted @ 2022-08-25 00:31 liangbowen 阅读(24) 评论(0) 推荐(0) 编辑
摘要:题目传送门 see in my blog 小学生又双叒叕来写题解啦! 这题是 x 进制转 10 进制的模板题。 如何计算呢,我在此引用一 阅读全文
posted @ 2022-08-25 00:30 liangbowen 阅读(95) 评论(0) 推荐(0) 编辑
摘要:题目传送门 see in my blog 小学生又双叒叕来写题解啦! 看到 n105 这一数据范围,容易想到时间复杂度可能是 $ 阅读全文
posted @ 2022-08-25 00:30 liangbowen 阅读(8) 评论(0) 推荐(0) 编辑
摘要:题目传送门 see in my blog 小学生又双叒叕来写题解啦! 这题就是 10 进制转 x 进制的模板题。 我们可以使用短除法加倒 阅读全文
posted @ 2022-08-25 00:29 liangbowen 阅读(96) 评论(0) 推荐(0) 编辑
摘要:题目传送门 see in my blog 小学生又双叒叕来写题解啦! 这题难度并不高,是一个简单的模拟。 题目大意: 有两台服务器。 向服务器发 阅读全文
posted @ 2022-08-25 00:28 liangbowen 阅读(16) 评论(0) 推荐(0) 编辑
摘要:题目传送门 see in my blog 小学生又双叒叕来写题解啦! 看到其他题解描述得并不清晰,我就来一发。 这道题实际上不困难,重点就是贪心 阅读全文
posted @ 2022-08-25 00:20 liangbowen 阅读(9) 评论(0) 推荐(0) 编辑
摘要:题目传送门 小学生又双叒叕来写题解啦! 我还是很自豪的,因为我是第一个通过这题的人(其实是因为大家都没做这题啦),而且翻译也是我交的。 这题考的是数学知识,每组测试数据都是可以 O(1) 过的。 我们可以列个方程试一试。 解:设原序列有 y 个元素,原序列所有数的和为 z。 $\begi 阅读全文
posted @ 2022-08-25 00:19 liangbowen 阅读(17) 评论(0) 推荐(0) 编辑
摘要:题目传送门 小学生又双叒叕来写题解啦! 这是一个关于概率的模拟问题。 游戏分两步,我们先看第一步。 投色子,显然,投中一个 [1,n] 的数,概率是 1n 没错吧。 那么,我们重点思考第二步。 想获胜的唯一办法是:一直抛到正面,直到分数大于等于 k 了。 这就好办了 阅读全文
posted @ 2022-08-25 00:18 liangbowen 阅读(20) 评论(0) 推荐(0) 编辑
摘要:题目传送门 小学生又双叒叕来写题解啦! 大家使用的都是 while 循环,那我来一个 for 循环版本! 我的思路是贪心。 怎么个贪心法呢? 由于最多只能执行一百次,那我们就得多用三。 准确的说,就是按三二一的顺序,一个不行就轮到下一个。 为什么可以这样也很简单。 比方说你减了三,如果你不减三,还是 阅读全文
posted @ 2022-08-25 00:17 liangbowen 阅读(16) 评论(0) 推荐(0) 编辑
摘要:题目传送门 小学生又双叒叕来写题解啦! 这题的题面有误,讨论区有人提出来了,望管理员修改一下。 我就不发正确的题目描述了,自己去讨论区看看。 不说闲话,我看到题目的第一反应是:直接模拟不就好了! 于是写出了如下代码: #include <iostream> #include <cstdio> #in 阅读全文
posted @ 2022-08-25 00:17 liangbowen 阅读(14) 评论(0) 推荐(0) 编辑
摘要:题目传送门 小学生又双叒叕来写题解啦! 题意简单地说,就是:将两个数组用某种方法排列后,上下比较取最小值,问这些最小值的和的最大值是几。 比赛时看到子任务一,就直接无脑深度优先搜索将六十分拿了。 由于部分分的解比正解还难,代码就不给出来了,反正我拿六十分到手了。 不说废话,思考正解。 注意到数组都是 阅读全文
posted @ 2022-08-25 00:16 liangbowen 阅读(13) 评论(0) 推荐(0) 编辑
摘要:题目传送门 小学生又双叒叕来写题解啦! 翻了一下大家的思路,怎么都一样? 当数量达到 107 时,题解代码全爆掉! 你问为什么,时间效率 O(n) 不稳过吗? 对,可是空间复杂度呢,显然爆掉。 因此,我使用滚动数组。 由于需要关注两个相邻的数,我们自然就只需用两个变量代替数组。 其他思路还 阅读全文
posted @ 2022-08-25 00:15 liangbowen 阅读(28) 评论(0) 推荐(0) 编辑
摘要:题目传送门 小学生又双叒叕来写题解啦! 这题就是个小模拟,只要你把路线图画好,再按照你的路线去模拟即可。 有多种方法,但必须是内圈加外圈的形式。 附上我的~~几何画板弄的~~路线图: 箭头都标好方向了,自己走一遍。 手动模拟完了吗,那就写代码吧。 送上满分代码: #include <iostream 阅读全文
posted @ 2022-08-25 00:15 liangbowen 阅读(14) 评论(0) 推荐(0) 编辑
摘要:题目传送门 做题的第一件事就是看范围。 注意到范围,想到应该要使用 O(n×logn) 的办法。 进而联想到排序与二分。 事实证明的确要使用排序与二分。 不说废话,我的思路是读入时顺便给三个数组排序,当然是从小到大。 然后,我们枚举第二个数组。 为什么枚举第二个呢? 因为它和另外 阅读全文
posted @ 2022-08-25 00:14 liangbowen 阅读(18) 评论(0) 推荐(0) 编辑
摘要:题目传送门 这题可以线性效率过,有位大神用哈希表虐橙题,太~~恶心~~厉害了,然而根本不需要。 我使用双指针做这题,同样是线性效率! 两个指针都是从零开始,分别指向两个字符串。 每一次,前缀字符串的那个指针都加一,直到超过范围才跳出。 当指针对应的字符相等时,才给后缀字符串指针加。 显然,这样就是在 阅读全文
posted @ 2022-08-25 00:13 liangbowen 阅读(13) 评论(0) 推荐(0) 编辑
摘要:题目传送门 小学生又双叒叕来写题解啦! 每个数都不受限制的可以变成三个数,那我们就用数组存每个数的变身情况,每次都给那三个数对应的计数器加一即可。 然后呢? 大家的思路都是在最后再遍历一次数组,并找最大值。 实际上根本不需要这一个重新搜的动作,只需在每次加计数器时都比较一次即可。 这样就对常数做了优 阅读全文
posted @ 2022-08-25 00:11 liangbowen 阅读(11) 评论(0) 推荐(0) 编辑
摘要:题目传送门 小学生又双叒叕来写题解啦! 出布永远不会亏,所以只要能出布就出布。 这就变成了个模拟题。 需要记录石头的数量、布的数量、总分。 送上满分代码: #include <iostream> #include <cstdio> using namespace std; int main() { 阅读全文
posted @ 2022-08-25 00:10 liangbowen 阅读(17) 评论(0) 推荐(0) 编辑
摘要:题目传送门 小学生又双叒叕来写题解啦! 我来介绍一种与众不同的~~跑得更慢的~~方法,那就是排序加二分。 排序的作用是为了二分,因为二分的前提是数组有序。 因此读入完数据后排序一下。 然后调用算法库的二分函数。 二分函数指这些,不会的童鞋自己了解。 思路是先算出第一个问题的数量,即使用二分卡出范围。 阅读全文
posted @ 2022-08-25 00:10 liangbowen 阅读(14) 评论(0) 推荐(0) 编辑
摘要:题目传送门 小学生又双叒叕来写题解啦! 这题的翻译貌似不完整。 所谓怪兽与英雄的对决,就是双方同时扣同样的血,直到一方为零。 弄懂题后,你会发现,这题不是考贪心,而是模拟。 写一个函数用于模拟怪兽与英雄的对决。 再遍历所有英雄,对攻击范围内的怪物进行对决。 累加一下总伤害即可。 送上满分代码: #i 阅读全文
posted @ 2022-08-25 00:09 liangbowen 阅读(16) 评论(0) 推荐(0) 编辑
摘要:题目传送门 小学生又双叒叕来写题解啦! 这题的关键就是贪心。 看到 N 的范围,瞬间明白可能要排序。 所以我们靠着排序来想。 我们来思考一下怎样安排顺序。 对于两个时间限制,时间限制短的那个任务要先做。 为什么呢? 显然,它们所需的总时间是相等的,开始的时间也是相等的。 所以,用时间限制长的来卡总时 阅读全文
posted @ 2022-08-25 00:08 liangbowen 阅读(7) 评论(0) 推荐(0) 编辑
摘要:题目传送门 小学生又双叒叕来写题解啦! 翻了一下大家的思路,都用了数组,其实根本不用,可以一边读入一边判断。 由于只需考虑前后两个数,所以只用两个变量就能实现滚动数组。 若前数大于后数,由于前数已经执行过操作,而后数无法改变大小关系,因此直接爆掉。 若前数等于后数,再改变后数时便不符合要求,所以什么 阅读全文
posted @ 2022-08-25 00:07 liangbowen 阅读(16) 评论(0) 推荐(0) 编辑
摘要:题目传送门 显然是贪心题。 对于每张优惠券,我们应该给当前最大的物品使用。 如果使用普通的数组,每次都找最大值太慢了。 因此,我们使用传说神器:优先队列。 其他题解都没有说优先队列的用法,那么我来告诉大家。 送上满分代码: #include <iostream> #include <cstdio> 阅读全文
posted @ 2022-08-25 00:05 liangbowen 阅读(21) 评论(0) 推荐(0) 编辑
摘要:题目传送门 小学生又双叒叕来写题解啦! 个人认为这题就考你的理解能力,因此,得先把题读懂。 寿司就是 01 或 10 字符的组合,减少拆开寿司的次数,本质上就是保留完整的寿司。 因此,只需去枚举目标寿司塔中完整寿司的个数即可。 送上满分代码: #include <iostream> #include 阅读全文
posted @ 2022-08-25 00:04 liangbowen 阅读(10) 评论(0) 推荐(0) 编辑
摘要:题目传送门 小学生又双叒叕来写题解啦! 翻了一下大家的代码,都好长好复杂,其实直接模拟就好了。 先说一个巨坑:发现坐标与我们平时不同,所以进行修改。 写一个函数,函数作用为找出下一位密码。 函数需要八种不同情况的判断,有点繁琐,唯一要注意的是边界方向的修改。 再次声明,代码有大量空间压行,但没必要, 阅读全文
posted @ 2022-08-25 00:03 liangbowen 阅读(18) 评论(0) 推荐(0) 编辑
摘要:题目传送门 小学生又双叒叕来写题解啦! 我的思路是,先统计招牌与材料包中不同字母的数量。 然后,枚举二十六个字母。 对于每个字母,用招牌字母数除以材料包字母数,再向上取整。 这样可以得到单个字母所需的材料包数量。 取这些数中最大值即可。 还有两个问题。 一是如何判断无解。 只需在枚举过程中检查,若招 阅读全文
posted @ 2022-08-25 00:02 liangbowen 阅读(14) 评论(0) 推荐(0) 编辑
摘要:题目传送门 小学生又来写题解啦! 刚看到范围,觉得不能枚举。 仔细想一下,其实可以,因为第一组解应该离左边界较近,很快可以出答案。 所以,我们可以尝试暴力枚举。 最大公约数就用辗转相除法,写成一个函数,大家应该都会。 找到解就结束程序。 送上满分代码: #include <iostream> #in 阅读全文
posted @ 2022-08-25 00:01 liangbowen 阅读(25) 评论(0) 推荐(0) 编辑
摘要:题目传送门 小学生又来写题解啦! 本题显然是字符串模拟,认真维护好每个要求即可。 首先先判断是情况一还是情况二,如果同时出现,输出报错信息。 我们可以用一个函数实现上述功能。 若是情况一,枚举下划线位置,再加以判断是否报错。 若是情况二,枚举大写字母位置。 若什么情况都不是,直接输出原字符串。 其中 阅读全文
posted @ 2022-08-25 00:00 liangbowen 阅读(16) 评论(0) 推荐(0) 编辑
摘要:题目传送门 小学生又来写题解啦! 你可能会认为,能够使用杯座人数的最大值,就是杯座数量。 但结合样例一,若杯座数量大于总人数,只能输出总人数。 下一个问题是如何计算杯座数量。 边读入边计算即可,若是普通座位,计数器直接加。 若是爱心座位,见到第一个座位时,计数器直接加,并标记已经记过了这个双人座。 阅读全文
posted @ 2022-08-25 00:00 liangbowen 阅读(18) 评论(0) 推荐(0) 编辑
摘要:小学生又来写题解啦! 容易想到,范围内七五三数不会很多,因此尝试暴力搜索,即深搜。 参数除了当前的数外,还有三个布尔类型的变量分别表示三、五、七有无出现。 每次都判断是否为七五三数即可,超出范围才跳出。 对了,还有一个魔鬼细节,在代码中会提到。 满分代码: #include <iostream> # 阅读全文
posted @ 2022-08-24 23:59 liangbowen 阅读(8) 评论(0) 推荐(0) 编辑
摘要:题目传送门 许多人使用栈,然而根本不需要。 先读入整个字符串,然后枚举每个字符。 如果当前字符是左括号,往后搜,有就匹配并消除。 然而消除这个动作太慢了,如果匹配到,只需把它标记为无用字符即可。 如果没有匹配到,表明右括号少了,对应计数器标记。 是右括号就往前搜,其余同理。 最后根据计数器补充输出。 阅读全文
posted @ 2022-08-24 23:58 liangbowen 阅读(21) 评论(0) 推荐(0) 编辑
摘要:题目传送门 小学生又双叒叕来写题解啦! 这题要用到因数个数定理,没学过的童鞋自己了解一下。 由于和质数有关,我使用质数筛法。 我使用较快的欧拉筛法算质数(想学就做这题)。 事实上,由于范围不大,使用普通的埃氏筛也行。 最后一个问题是:枚举质因数个数。 相信这不难,只需暴力分解质因数即可。 把上文提到 阅读全文
posted @ 2022-08-24 23:53 liangbowen 阅读(15) 评论(0) 推荐(0) 编辑
摘要:题目传送门 小学生来写题解啦! 先看数据范围,都很小,并且时间有两秒,因此选择暴力搜索,即深度优先搜索。 先将竹子分配给目标竹子使用。 想象你是一根竹子,你可以去选择为三根目标竹子做贡献,或不使用自己。 分配完每根竹子的工作后,就计算魔法值。 虽然有多种方法制作目标竹子,但魔法值是一样的。 所以,我 阅读全文
posted @ 2022-08-24 20:10 liangbowen 阅读(20) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示