摘要: 开始看的时候以为是个背包,看了一眼标签,发现没有背包两个字,觉得可能是漏加上去了,但背包死活想不出思路,看了眼题解,原来是 \(dp\) 加单调队列优化,然后开始看题解,看了大半天没看懂,照着题解的框架打了一遍才半懂,大致思路是用单调队列维护炉子里的和还没进炉子里的原料的顺序?然后发现照着题解打的 阅读全文
posted @ 2022-05-14 22:19 Jason142 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 这题是昨天做的,写到一半打模拟赛了,断了网,没有存,顺带吐槽洛谷博客没有草稿箱,再加上今天上午也有模拟赛,所以咕咕咕到了现在才来写做题笔记。开始看题时一脸懵逼,可能是因为平时做 dp 题想太少且看题解太多的原因吧,经常想不出状态转移方程,只好看来题解,题解里有两种做法,一种递归,一种递推,由于递归过 阅读全文
posted @ 2022-05-13 07:46 Jason142 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 题目: 传送门 思路: 判断数据中有没有 \(0\),如果数据中有 \(0\) 就统计数据中 \(0\) 的数量 \(t\),操作次数为 \(n-t\);若数据中没有 \(0\),就找有没有相同的数字,如果有就用一次操作把其中一个数变成 \(0\),然后就用 \(n-1\) 次操作把其他数全部变成了 阅读全文
posted @ 2022-05-12 21:20 Jason142 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 以前做过两次这题,但都没学会,只是照着题解打了一边,于是重做,第一眼以为 \(O(n^2)\) 的的做法能过,看了眼数据范围发现 \(n \le 10^5\),被卡了,然后看了题解,发现是 \(n \log n\) 的做法,具体就是输入时预处理 \(a_i\) 的位置,数组存储最长公共子序列,然后输 阅读全文
posted @ 2022-05-11 09:45 Jason142 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 题目:传送门 思路: 区间 dp,用 \(s_{i,j}\) 表示第 \(i\) 到第 \(j\) 次派对至少需要的衣服数,则结果为 \(s_{i,j}\) 若第 \(i\) 次和第 \(j\) 次需要的衣服种类相同,则可以使用相同的衣服,第 \(i+1\) 次到第 \(j-1\) 次派对所需要的衣 阅读全文
posted @ 2022-05-01 20:41 Jason142 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 题目:传送门 思路: 存储当前数串的长度和上一数串的长度,每输入一个数就判断和前一个是否相等,若相等则当前数串长度加一,否则比较当前数串和上一数串长度是否相等(记得特判第一个数串的情况),若相等则数串长度重置为 \(1\),若不相等则直接输出 NO 并 return。循环结束后需判断最后一个数串,若 阅读全文
posted @ 2022-04-22 10:24 Jason142 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 题目:传送门 思路: 哈希+排序,先分类讨论长度为 \(3\) 和 \(4\) 的回文字符串,求出其哈希值,再对哈希值排序,最后循环依次比较哈希值是否不同即可。(求哈希值时需处理两个回文串是否包含)(详见代码) 代码: #include <bits/stdc++.h> using namespace 阅读全文
posted @ 2022-04-04 21:52 Jason142 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 首先审题: 若前三个字符为 “101” ,则转换为字母; 若前三个字符为 “111” ,则输出空格; 若第一个字符为 ‘0’,则转换为数字; 否则输出 “Error”; 需要注意的是: 如果输入内容的总长度不是8的倍数,则需输出 “Error”; 如果输入的内容中有不是 ‘0’ 或 ‘1’ 的字符, 阅读全文
posted @ 2022-03-23 20:34 Jason142 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 题目:传送门 思路: 由于题目保证存在答案,所以对于每颗珍珠一定存在与其相配对的一颗颜色不同的珍珠,所以易得单种颜色的珍珠数量必定小于等于珍珠总数的一半,将珍珠按颜色存入数组中后配对输出即可。(详见代码) 代码: #include <bits/stdc++.h> using namespace st 阅读全文
posted @ 2022-03-23 20:33 Jason142 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 题目:传送门 思路: 根据题目要求输入各项数据,输入字符型时要注意换行符哈,然后按照输入的数字进行输出或移动,若为移动则按照移动结果的类型(怪兽或药水)进行计算。(详见代码) 代码: #include <bits/stdc++.h> using namespace std; int n,m,a,b, 阅读全文
posted @ 2022-03-23 20:32 Jason142 阅读(27) 评论(0) 推荐(0) 编辑