02 2025 档案
摘要:#include<bits/stdc++.h> #define int long long using namespace std; // const int Size=(1<<20)+1; // char buf[Size],*p1=buf,*p2=buf; // char buffer[Size
阅读全文
摘要:#include<bits/stdc++.h> #define int long long using namespace std; int n,m; int root[1<<20]; int tree[5000001][2]; int vis[5000001]; int tot; int num[
阅读全文
摘要:快读: 取消输入输出缓存 ios::sync_with_stdio(0); cin.tie(0);cout.tie(0); 普通快读: inline int read() { int x=0,c=getchar(),f=0; for(;c>'9'||c<'0';f=c=='-',c=getchar(
阅读全文
摘要:原题:UVA10035 Primary Arithmetic 个人博客 题意: 求计算 \(a+b\) 时进位的次数。 思路: 由低位到高位判断是否进位。 用 \(nw\) 计算进位,若能进到下一位 \(ans\) 加一,不能即略过。 步骤: 当 \(a≠0\) 且 \(b≠0\) 时,计算 \(a
阅读全文
摘要:题目传送门 更好的阅读体验? 题意: 给定 \(n\) 和 \(n\) 个数,求最宽的山的宽度(其实就是最长单峰子序列, 但我不会)。 数据范围: $ 1 \leq n \leq 10^5 , 1 \leq h_i \leq 10^9 $ 做法: 注意:直接爆搜会超时!!! 建数组 \(h\) 存放
阅读全文
摘要:题目传送门 更好的阅读体验? 我的思路: 考了 \(0\) 分的选手不能参加面试,可以直接跳过。 其余选手的分数用数组存储,\(n\) 个分数全部输入后,将数组内的分数排序,方便以后进行分数线的判断。 在输入会场的最大可容纳人数的同时计算分数线,可以减少 \(O(q)\) 的时空复杂度。 当计算分数
阅读全文
摘要:题目传送门 更好的阅读体验? 思路: 分情况讨论: 买橘子时单个买需要的钱比配套买便宜或相等,这时直接单个买就可以,代码实现为 a*k。 买橘子时单个买需要的钱比配套买贵,又有两种情况: 配套买最多,再单个买,代码实现为 b*(k/l)+a*(k%l)。 剩下不能配套买全部,但可以再买一套,代码实现
阅读全文
摘要:题目传送门 更好的阅读体验? 求最大公因数与最小公倍数的一道好题。 做法: 和 \(z\)“完全一样”的数,就是每个机器人里的数与 \(z\) 的最大公因数的最小公倍数。 求最大公因数可以使用辗转相除法,也可以使用 \(\texttt{STL}\) 中的求最大公约数的函数,在 std 命名空间里,写
阅读全文
摘要:题目传送门 更好的阅读体验? 思路: 依照题意直接模拟即可,需要注意题目中的坑。特别注意,\(n\) 指的是积木数量,不是指令数,如果用数组模拟,还要特别注意细节(后面会说)。 (本题解使用自增自减运算符,不懂它们的同学可以先百度)。 代码拆分: 定义: 需要记忆 \(a\) 和 \(b\) 在哪一
阅读全文
摘要:题外话:这道题原来的题号是 \(\texttt{AT999}\)。 题目传送门 更好的阅读体验? 题意: 给一行一个字符串,其中只包含小写字母,空格和 @,@ 之后接字母的情况才合法,求被 @ 的人的名字。 注意:空串不算名字! 思路: \(1 \leq\) 字符串的长度 \(\leq 140\),
阅读全文
摘要:题目传送门 更好的阅读体验? 思路: \(1 \leq\) 行数和列数 \(\leq 1000\),可以直接暴力。 先输入要求判断的字符矩形,字符之间没有空格。 然后再记录每一列上有多少个 #,输出数量,两个数字之间一个空格隔开。 AT 的题最后要有换行。 代码: #include<bits/std
阅读全文
摘要:题目传送门 更好的阅读体验? 思路: 教室里一开始没有人。 当一个人进去时,他数出教室里现在有 \(m\) 个人,说明在这个人进去之前教室里已经进来了 \(m-1\) 个人,而这个人也就是第 \(m\) 个进教室的,可以直接在读入的时候记录答案。 AT 的题最后要有换行。 代码(最优解第一页): #
阅读全文
摘要:题目传送门 更好的阅读体验? 做法: 设给出时间的下一个整点为 \(x:00\)。 \(h\) 时 \(m\) 分时,距离 \(18:00\) 的分钟数为 60-m+60*(18-(h+1))(包括 \(m=0\) 时的情况),60-m 算出这个分钟距离 \(x:00\) 多长时间,60*(18-(
阅读全文
摘要:题目传送门 更好的阅读体验? 一个不太一样的思路: 直接算两个日期距离 \(1\) 月 \(1\) 日多少天,再用大的天数减去小的天数,即为题目所求。 代码: #include<bits/stdc++.h> using namespace std; int ma,da,mb,db,Daya,Dayb
阅读全文
摘要:题目传送门 更好的阅读体验? 思路: 使用 string 类型存给出的两个字符串,方便以后进行判断。 分情况讨论: 如果给出的两个字符串直接相等,输出 same。 否则,可以先判断这两个字符串长度是否相等,若不等就可以输出 different。 若长度也相等,再把这两个字符串中的所有大写字母转为小写
阅读全文
摘要:题目传送门 更好的阅读体验? 做法: 可以边输入边判断。 程序在读入字符时,是一个一个读入的,依照这个性质可以读一个就判断一个,省去存储字符的麻烦。 每读入一个字符,\(L\) 就减 \(1\),当 \(L\) 为 \(0\) 时就可以跳出循环(注意跳出时机)。 cin 读入失败返回值为 \(0\)
阅读全文
摘要:题目传送门 刚学会用 \(\text{map}\),发篇题解记录一下。 题意: 当 \(a_i\) 为正数时,提供一个为 \(a_i\) 的魔法物品。 当 \(a_i\) 为负数时,消耗一个为 \(-a_i\) 的魔法物品。 当 \(a_i\) 为 \(0\) 时,提供一个任意的魔法物品。 解法:
阅读全文
摘要:题目传送门 更好的阅读体验? 如果你看出来方法了,那这道题就是一道裸的全排序题。 思路: 因为数据范围是 \(1 \leq n \leq 10\),可以放心使用时间复杂度为 \(O(n!)\) 的全排列函数。题目由小到大编号,应选择 next_permutation。 ans 应该从 \(0\) 开
阅读全文
摘要:题目传送门 \(\texttt{Solution}\): 先算出来题目给定的字符串的价值。 对于插入字符,手玩样例可知每个字符可以插入无数次,使用贪心策略,每次挑选价值最大的字母插入。 注: 价值最大的字母可以边输入边记录,初始化最大值时应定义非正数,以便更新最大值。 在枚举时,要注意价值的计算方法
阅读全文
摘要:题目传送门 Solution: 并查集裸题。 从 \(1\) 到 \(m\) 枚举,判断编号为 \(i\) 两种物质是否反应过(是否在一个并查集里),是则跳过,反之将这两个点所在的集合合并,并更新答案。 注意: 要初始化并查集。 \(\text{ans}\) 初值要设为 \(1\),以后的 \(\t
阅读全文
摘要:题目传送门 题意: 给定一个字符串,在其中选出一段连续的子串并将子串进行反转,最多反转一次,反转后再放入原位置处得到的新的数字,如果新的数字比原来的数字小则算做一种方案。 求一共有多少种不同的子串选择方案。 注意:允许有前导零的存在。 解法: 数据范围:\(1 \le n \le 5000\),时间
阅读全文
摘要:题目传送门:P8661 [蓝桥杯 2018 省 B] 日志统计 提供一个与其他题解都不同的做法。 思路: 先把输入的日志先按编号从小到大排序,编号相同再按时间从小到大排序。 在排过序的结构体中,从 \(1\) 到 \(n\) 枚举区间右端点 \(r\),以帖子曾经是“热帖”的最小区间长度(最小点赞数
阅读全文
摘要:题目传送门:P4944 PION贪吃蛇 题目描述: 有一个 \(n \times m\) 的字符矩阵,其中,用 . 表示空地,用 # 表示蛇身,用 @ 表示蛇头,用 & 表示食物。 对于每条蛇,有 \(k\) 个操作,操作时需要遵守 \(8\) 条基本规则。 操作完后,按顺序(题目的输出格式中有描述
阅读全文
摘要:题目传送门:P8724 [蓝桥杯 2020 省 AB3] 限高杆 解决方法: 基本思想是分层图,但提供一个与众不同的做法(双倍经验 P1849)。 定义两个队列 \(q,q_2\),其中,\(q\) 是跑 Dijkstra 所用的队列,\(q_2\) 记录有限高杆的路通向的点和距离(具体实现参考代码
阅读全文
摘要:题目传送门:P4829 kry loves 2048 此题解不开 O2 能过。 解法: 双倍经验:P6033 合并果子 加强版 类似于合并果子的解法:最优方案一定是两个最小的数据进行合并,一共会合并 \(n-1\) 次。 先根据题意造好数据,建立两个队列 \(q_1,q_2\) 来模拟合并过程。 再
阅读全文
摘要:题目传送门:P4162 [SCOI2009] 最长距离 以 \(O(n^5)\) 暴力碾过,开 O2 拿到最优解 75 ms。 解法: 容易发现,从没有障碍的点开始枚举一定优于从有障碍的点开始枚举。 这个剪枝优化效果十分明显。 对于每个没有障碍的点,从这个点进行一次广搜。 然后暴力枚举从这个点开始可
阅读全文
摘要:题目传送门:P8724 [蓝桥杯 2020 省 AB3] 限高杆 解决方法: 基本思想是分层图,但提供一个与众不同的做法(双倍经验 P2939)。 定义两个队列 \(q,q_2\),其中,\(q\) 是跑 Dijkstra 所用的队列,\(q_2\) 记录有限高杆的路通向的点和距离(具体实现参考代码
阅读全文
摘要:P10294 [CCC 2024 J5] Harvest Waterloo My Blog Solotion: 由题可知,所求的是农夫所在的一个南瓜组成的连通块,不妨使用广度优先搜索(BFS)解决。 具体方法是:当队列非空时,进行循环,每次取出队首,并尝试从该点向上下左右进行扩展,若可以扩展,则更新
阅读全文
摘要:P10288 [GESP样题 八级] 区间 My Blog Solution: 由题可知,有 \(T\) 组数据,每组数据中给出 \(n\) 个数字,并伴随着 \(q\) 次询问,每次询问需要求区间 \([l,r]\) 内数字 \(x\) 的出现次数。 其中,\(1 \le T \le 5\),\(
阅读全文
摘要:快捷方式点开属性,在目标里,像如下这样写: D:\google\Chrome\Application\chrome.exe --user-data-dir="D:\google\Chrome\User Data"
阅读全文
摘要:题单: P3667 [USACO17OPEN] Bovine Genomics G P4591 [TJOI2018] 碱基序列 P3167 [CQOI2014] 通配符匹配 P4824 [USACO15FEB] Censoring S P3121 [USACO15FEB] Censoring G P
阅读全文

浙公网安备 33010602011771号