洛谷
未读![题解:P14731 [ICPC 2022 Seoul R] Parentheses Tree](/img/2026/top_img1.webp)
P14731 [ICPC 2022 Seoul R] Parentheses Tree
题目传送门
前置知识STL 中的 stack 容器提供了一众成员函数以供调用,其中较为常用的有:
定义
头文件 $\color{green}\textbf{<stack>}$。
元素访问
st.top() 返回栈顶。
修改
st.push() 插入传入的参数到栈顶。
st.pop() 弹出栈顶。
容量
st.empty() 返回是否为空。
st.size() 返回元素数量。
部分内容来自 栈 - OI Wiki。
总体分析核心:用栈匹配括号并在叶节点累加距离。
思路引导提问如何对左括号进行判断是否为叶节点?
成功当 $s_i$ 为 ( 时,如果栈非空,将栈顶替换为 false,再将 true 入栈。
提问如何将答案进行累加?
成功当 $s_i$ 为 ) 时,如果栈顶 ( 是叶子节点,先累加栈内元素数量,再弹出栈顶。
警告不开 long long 见祖宗。
核心代码1234567891011121314151617cin>>s;for(c ...
生活
未读追忆我常常追忆过去。
生命瞬间定格在脑海。我将背后的时间裁剪、折叠、蜷曲,揉捻成天上朵朵白云。
云朵之间亦有分别:积云厚重,而卷云飘渺。生命里震撼的场景掠过我的思绪便一生无法忘怀,而更为普通平常的记忆在时间的冲刷下只留下些许残骸。追忆宛如入梦,太过清楚则无法愉悦自己的幻想,过分模糊却又坠入虚无。只有薄雾间的山水,面纱下的女子,那恰到好处的朦胧,才能满足我对美的苛求。
追忆总在不经意间将我裹进泛黄的纸页里。分别又重聚的朋友,推倒又重建的街道,种种线索协助着我从一个具体的时刻出发沿时间的河逆流而上。曾经的日子无法重来,我只不过是一个过客。但我仍然渴望在每一次追忆之旅中留下闲暇时间,在一个场景前驻足,在岁月的朦胧里瞭望过去的自己,感受尽可能多的甜蜜。美好的时光曾流过我的身体,我便心满意足。
过去已经凝固,我带着回忆向前,只是时常疏于保管,回忆也在改变着各自的形态。这给我的追忆旅程带来些许挑战。
我该在哪里停留?我问我自己。
洛谷
未读![题解:P14730 [ICPC 2022 Seoul R] Palindrome Type](/img/2026/top_img1.webp)
P14730 [ICPC 2022 Seoul R] Palindrome Type 题解
纯享阅读区题目传送门
总体分析核心:修改字符串 $s$ 使其成为回文串,记最小次数为 $k$,如果 $k\leq3$,输出 $k$,否则输出 -1 。
因此,可以从 $k=0\sim3$ 依次进行 DFS 搜索,只要有一次成功,输出 $k$,结束。
思路引导提问如何 DFS 搜索修改过程算出 $k$?
DFS 函数使用 双指针。
当 $l<r$ 时:
如果左指针 $l$ 和右指针 $r$ 对应的 $s_l=s_r$,那么这部分已经是回文的,$l$ 向右移,$r$ 向左移。
否则:
如果剩余次数 $step=0$,无法继续修改,返回无法完成。
如果删除 $l+1$ 或 $r+1$ 可完成,返回可以完成。
否则返回无法完成。
返回无法完成。
警告如果 $k\leq 3$ 都不可以,最后输出 -1 。
核心代码12345678910111213bool dfs(int l, int r, int step){ while(l< ...
洛谷
未读
AT_joi2024_yo1c_b 桁 (Digit)题解题目传送门
题目大意给出 $a, b$,求 $a+b$ 的位数。
思路引导提问如何统计 $a+b$ 的位数?
成功我们将 $a+b$ 转化为字符串函数大法好,输出 $a+b$ 的长度即可。
核心代码12345678910#include<bits/stdc++.h>using namespace std; int a, b; int main() { cin>>a>>b; cout<<to_string(a+b).size();//需使用洛谷IDE中C++14 (GCC 9)及以上版本,蓝C++会CE return 0;}
洛谷
未读
CF2139B Cake Collection 题解(全题解区最短代码)安利一下博客 🥳🎆🎉祝大家 2026 新年快乐!
纯享阅读区
题意分析核心:用 $m$ 秒去拿 $n$ 个烤好的蛋糕,要拿的尽量多。用 贪心 算法。
思路引导
如何保证能选到最好的方案? 对数组 $a$ 从大到小进行排序,如果 $n \le m$,则可以把所有烤箱中的蛋糕都拿一遍,生产蛋糕越多的越晚拿,且后面会给出证明:早拿一次再晚拿一次和直接晚拿一次一样,不如直接晚拿一次简单。否则 $n>m$,就直接拿排序后最好($a_i$ 较大)的烤箱中的蛋糕,同样,生产蛋糕越多的越晚拿。
综上,取个 $\min {n, m}$ 即可。 从大到小进行排序不用手写 cmp 了!使用 greater<int>() 可以直接大到小进行排序。 示例代码:
1sort(a+1,a+n+1,greater<int>());//对数组 a 从大到小进行排序
如何证明早拿一次再晚拿一次同一个烤箱,和直接晚拿一次一样? 证明: 设早拿的时间为 $p_1$,晚拿的时间为 $p_2$,烤箱每秒 ...
其他
未读博客迁移分流说明在我的第一个博客陪伴大家 $4$ 个月后,由于当时技术较差,不会使用 git 命令行和 node.js,所以不够美观,现决定将信息技术类文章迁移至此,将生活小记保留原博客,望周知。
谢谢你们的支持!
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment
