摘要: 本文面向零基础算法竞赛生 1. 代码提交方法: 找到题目后,你会看到提交按键 之后请选择你的编程语言,粘贴代码,提交。openjudge支持的还是很多的 接下来你会看到你的程序跑完数据后的状态: 2. 每个状态是什么意思: 常见的状态有这么些: 答案错误(Wrong Answer, WA); 你的输 阅读全文
posted @ 2023-09-26 17:10 killerboom 阅读(454) 评论(0) 推荐(0)
摘要: 感谢大神的博客:STL map关于查找的坑——尽量不使用方括号[ ]查找_stl map 查找_sdudyl的博客-CSDN博客 今天在CF补了一道题,我开了map使用中括号查找,结果第二组就T了。 我百思不得其解,最后把map[x]换成map.count(x)就过了。 因为这样使用中括号查找x时, 阅读全文
posted @ 2023-05-04 12:01 killerboom 阅读(172) 评论(0) 推荐(0)
摘要: 这篇总结来源于本蒟蒻打了两道题目发现了这种类型题,却不知道怎么给它起名字...... 对一些已经看出来对区间进行操作和维护,但pushup操作不太容易想出来的题目来说,我们不妨尝试在两区间进行合并时,尝试对左或右区间进行递归,去除不正确的答案,维护区间的正解。 说起来的确很抽象(我甚至也不知道我在说 阅读全文
posted @ 2022-09-27 21:25 killerboom 阅读(31) 评论(0) 推荐(0)
摘要: 自定义排序题是一类贪心题。 题目要求找到一个满足某种要求的某个数组的顺序。 我们需要对sort十分熟悉,了解它的重载方式(例如写自定义排序函数对各种stl工具进行排序) 例题: acwing 2049.奶牛摄影 luogu P1842 奶牛玩杂技 阅读全文
posted @ 2022-05-18 17:19 killerboom 阅读(29) 评论(1) 推荐(0)
摘要: 容易证明,大于6的素数一定都在6的两侧,即6i + 1 或 6i - 1,而6i + 2 到 6i + 4 一定不是素数。因为6i + 2 = 2 (3i + 1), 6i + 3 = 3(2i + 1), 6i + 4 = 2(3i + 2)。 那么由这个结论,结合传统的判断素数方法(如下): b 阅读全文
posted @ 2022-03-16 18:14 killerboom 阅读(97) 评论(0) 推荐(0)
摘要: 经过研究,本蒟蒻对令人懵逼的二分答案有了一点心得。 二分的思想主要分三种: l和r代表的“成本值”均可行,且有一个ans变量记录当前的最优 l和r代表的“成本值”均可行,最后的答案是l或r l代表的“成本值”可行,r不可行,最后的答案是l 很多题目都可以转换为第一种思想。定义一个记录答案的变量即可。 阅读全文
posted @ 2021-11-18 17:55 killerboom 阅读(88) 评论(0) 推荐(1)
摘要: LeetCode 105.从前序与中序遍历序列构造二叉树 class Solution { public: int n; unordered_map <int ,int > mapp; //key是值,val是在inorder[]中的位置(下标) TreeNode* dfs(int rt,int l 阅读全文
posted @ 2021-11-05 19:37 killerboom 阅读(39) 评论(0) 推荐(1)
摘要: 回溯法是一种探索所有存在可能性,并找到解决方法的算法。一般来说,回溯法在每一步会确定解决方案中的一个值,然后继续寻找下一个解决方案。如果当前方案不是正确的方案,或不是最后一个正确的解决方案,则会通过修改上一步的值,继续寻找正确的方案。 做题时,若题目有关键词“所有的”出现,则要想到用回溯法来解决。 阅读全文
posted @ 2021-10-29 18:10 killerboom 阅读(56) 评论(1) 推荐(1)
摘要: LeetCode 剑指Offer II 119 一道水题,我首先想到的做法是暴力的枚举。 class Solution { public: int dp[100100],ans = 1; int longestConsecutive(vector<int>& nums) { int n = nums 阅读全文
posted @ 2021-10-22 20:51 killerboom 阅读(56) 评论(1) 推荐(0)