摘要: 题单链接:专题训练2-DP - Virtual Judge (vjudge.net) A - 拦截导弹 题目 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹 阅读全文
posted @ 2022-01-27 13:14 blockche 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 专题链接:专题学习1 - Virtual Judge (vjudge.net) B - 全排列 题目 思想 这道题可以用DFS进行求解,但是一看到全排列,其实可以立刻想到一个STL函数:next_permutation(x.begin(),x.end()) (头文件#include <algorit 阅读全文
posted @ 2022-01-20 22:24 blockche 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 前言 关于c++11的新特性:for循环中的auto,可以遍历各种容器。 例如:for(auto x : a) cout << x << endl; a为a数组,相当于是使用临时变量x遍历了a数组,并全部输出了一遍。 使用此特性使用起来很方便,可以减少代码的长度,看起来更简洁。 使用 如果只是for 阅读全文
posted @ 2021-12-23 17:05 blockche 阅读(3621) 评论(1) 推荐(3) 编辑
摘要: 题目:Problem - D - Codeforces 题解 此题是给数组排序的题,操作是选取任意三个数,然后交换他们,确保他们的位置会发生改变。 可以交换无限次,最终可以形成一个不下降序列就输出“YES”,否则“NO”。 只需要注意以下两点即可解出此题: 1.如果数组中存在两个相同的元素,那么就一 阅读全文
posted @ 2021-12-16 19:54 blockche 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 前言 对于一颗二叉树,我们如果知道了它的中序和后序,就可以求出它的先序;同样的,我们如果知道了它的中序和先序,也可以求出它的后序;但是注意,知道先序和后序是不能求出唯一中序的。 在求后序前,我们可以先学习一下如何求先序,因为求先序比较好理解; 求先序 题目:[P1030 NOIP2001 普及组] 阅读全文
posted @ 2021-12-09 17:00 blockche 阅读(435) 评论(0) 推荐(0) 编辑
摘要: 题目:奇怪的电梯 - 洛谷 (luogu.com.cn) 因为此题数据范围较小,有dfs及bfs等多种做法。 DFS 比较正常的dfs,注意vis数组一定要回溯,不然会漏情况 例如这个数据 11 1 5 1 5 20 1 20 20 3 20 20 1 7 有无回溯vis数组结果不一样 代码: #i 阅读全文
posted @ 2021-12-08 20:08 blockche 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 题目:P4715 【深基16.例1】淘汰赛 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 这道题因为数据范围不大,所以做法可以非常简单,使用一个vector加上pair就可以了; (实际上可以预处理2的次方数,但因为懒就直接用pow()了) 做法就是每次按顺序比较当前国家数的一半 阅读全文
posted @ 2021-12-07 20:02 blockche 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 题目:P1443 马的遍历 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 记录一下第一道ac的bfs,原理是利用队列queue记录下一层的所有点,然后一层一层遍历; 其中: 1.pair<,>可以将两个数据类型压缩成一个数据压进队列里,在表示二维坐标时好用。 2.setw()可以 阅读全文
posted @ 2021-12-07 11:23 blockche 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 题目:Problem - C - Codeforces 本题的优解是二分答案,但我其实不会二分,本质是用了两个指针作为边界,然后不断对半缩小范围来快速确定答案。 神奇的二分法 代码: #include <iostream> using namespace std; typedef long long 阅读全文
posted @ 2021-12-02 20:34 blockche 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 题目:P1996 约瑟夫问题 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 可恶啊,本来是一道不算难的题,硬是因为cin,cout同步流卡了我一天qwq 关闭cin,cout同步流后,就无法输出vector了 vector的erase时间复杂度是大于O(1)但小于O(n)的,总体 阅读全文
posted @ 2021-12-02 17:07 blockche 阅读(86) 评论(0) 推荐(0) 编辑