09 2020 档案
摘要:Update 2020.11.24 对全文进行了重构与优化。 原题传送门 Description 有 \(n\) 个玩具小人围成一圈, 已知它们的职业和朝向。现在第 $1$ 个玩具小人告诉小南一个包含 \(m\) 条指令的谜題, 其中第 $z$条指令形如 “左数/右数第 \(s\) 个玩具小人”。你
阅读全文
摘要:原题传送门 \(Thinking\) 很简单的一道模拟题,主要想法是开一个$bool$数组,标记地雷和空格位置 \(Code\) #include<iostream> #include<cstdio> #include<string> using namespace std; inline void
阅读全文
摘要:原题传送门 \(Thinking\) 看到这么冗长的题面 这道题是一道纯模拟题,主要来看思路 思路也很简单: 开一个$win[i]$数组,来记录$Player\ 1$和$Player\ 2$的胜场数 for(int i=1;cin>>str&&str!='E';i++){ //单个字符读入&防止E及
阅读全文
摘要:快排是一种不稳定的排序算法,但其平均时间复杂度是$O(nlog_2n)$,最坏情况为$O(n^2)$,所以该排序方法被认为是目前最好的一种内部排序方法。 话说$sort$不香吗 #include<iostream> #include<cstdio> #include<algorithm> using
阅读全文
摘要:原题传送门 一道完全背包问题的模板题,和01背包问题一样,还是拥有两种思路 \(Solution\ 1\) 依然是一个朴实无华的二维数组 状态的表示:$f[i][j]$表示前$i$个总重量不超过$j$的最大价值 状态的转移:\(f[i][j]=max(f[i-1][j],f[i][j-w[i]]+c
阅读全文
摘要:原题传送门 一道01背包的入门 & 模板题,以下主要提供两种思路 \(Solution\ 1\) 看到这道题,首先想到的就是用二维数组来$DP$ 状态的表示:$f[i][j]$表示前$i$个总重量不超过$j$的最大价值 状态的转移:\(f[i][j]=max(f[i-1][j],f[i-1][j-w
阅读全文
摘要:原题传送门 这是一道求解**\(LCS\)(最长公共子序列)长度**的模板题 状态的定义:定义$dp[i][j]$是在$A$中$1$到$i$和$B$中$1$至$j$的$LCS$长度 状态的转移: \(A[i]=b[j]\) \(dp[i][j]=dp[i-1][j-1]+1\) \(A[i] \ne
阅读全文
摘要:原题传送门 0.前言 显然,这就是一道求解$LIS$(最长上升子序列的模板题) 1.思路 求解$LIS$,最常见~~(???),也是最好用(???)~~的办法是$DP$ 状态的表示:$dp[i]$表示到$i$位置在$a[i]$(输入序列)里$LIS$的长度 状态的转移:\(dp[i]=max(dp[
阅读全文
摘要:注:本文主要针对STL中的常用的操作进行总结 目录: 1.swap 2.sort 3.reverse 4.min,max(比较简单,暂且略过) 5._gcd 6.lower_bound && upper_bound 7.next_permutation 8.unique 1.swap (1)目的:交
阅读全文
摘要:原题传送门 0.前言 显然,这是一道**动态规划(\(DP\))**的入门题,也是一道非常经典的例题。 1.思路 $DP$和贪心主要就不同在:$DP$求全局最优解,贪心求局部最优解 这道题显然不是用贪心来做,因为当前的局部最优解可以不是全局最优解 \(Solution\ 1\) . 逆推 首先输入一
阅读全文
摘要:原题传送门 0.前言 一些奇奇怪怪的算法... 1.思路 第一眼看题的时候,感觉是一道红题 数据范围否定了我暴力的想法 但是还是有方法可以高效快速的解决 map 2.代码 #include<iostream> #include<cstdio> #include<map> using namespac
阅读全文
摘要:原题传送门 0.前言 简单的素数筛例题 1.思路 显然这是一道很简单的素数筛问题,我用埃氏筛来解决~~(我才不说我不会写欧拉筛)~~ 不会埃氏筛的同学可以戳这里——>link 2.代码 #include<iostream> #include<cstdio> #include<cstring> usi
阅读全文
摘要:求$b^p$%k **递归版 😗* #include<iostream> #include<cstdio> #define ll long long using namespace std; inline void read(ll &x){ int f=1; x=0; char ch=getcha
阅读全文
摘要:原题传送门 0.前言 你谷重题水题这么多...... 1.思路 这道题是P1331 海战的弱化版 ~~~~ 实际上就是一个DFS求联通块个数的问题 (这一篇题解看不懂的同学不妨看看P1331 海战的题解) 2.代码 #include<iostream> #include<cstdio> using
阅读全文
摘要:原题传送门 0.前言 码了好长时间啊...... 1.思路 很显然,是一道搜索(与回溯)的暴力题,思路也很简单: 在合法~~(奶牛不是营养不良)~~的情况下若当前的情况选出的维他命比原来的结果小,就更新 选当前饲料,就搜索一步 不选当前饲料,就回溯 代码到这里也很显然了 2.代码 #include<
阅读全文
摘要:原题传送门 0.前言 二叉树?暴力吧......数据好弱 1.思路 虽然题名告诉我们是二叉树,但是却并没有和二叉树有太大的关系 与二叉树有关的:前序遍历(先根遍历)顺序 根左右 思路很简单,就是一道直接的**暴力(搜索)**题 2.代码 #include<iostream> #include<cst
阅读全文
摘要:原题传送门 0.前言 今天无意中看到了这道题,就又想做一做~~(我才不说我为了刷咕值)~~,结果却意外翻车,特此纪念 1.思路 这是一道非常简单的数学题。主要考察的就是**唯一分解定理** 内容如下:算术基本定理(唯一分解定理)可表述为:任何一个大于1的自然数 N,如果N不为质数,那么N可以唯一分解
阅读全文
摘要:原题传送门 0.前言 依旧是一个简单的搜索训练呢... 1.算法 DFS或BFS均可(此处使用DFS) 2.思路 看见样例,依然还是一道简单的搜索题。 这道题在原先是 普及/提高- 的题,后来是不是因为太简单被调了 可以把这道题主要要完成的操作: 搜索+统计船的个数 判断是否有船相邻 其中第一个操作
阅读全文
摘要:原题传送门 0.前言 这几天一直在做简单的DFS呢... 1.算法 深度优先搜索(DFS) 2.思路 拿到题(尤其是看完样例之后),明确了这是一道搜索题。 算法也很简单。就是DFS。 这道题所有的DFS部分,尤其是上下左右遍历的部分,堪称经典 而输入的部分有个小技巧,可以一个个字符进行输入,然后转换
阅读全文
摘要:原题传送门 0.前言 这个题在咕了很久以后又做了一遍,也是卡了好几次,wtcl 1.算法 DFS(深度优先搜索) 2.思路 这道题拿到题之后会非常明显地发现是一道DFS的题,而且运用递归是这道题的核心,也是DFS的核心。 我们可以把这道题分为两个步骤 搜索 判断素数 搜索就是一个简单的板子类的代码,
阅读全文

浙公网安备 33010602011771号