随笔分类 - 紫书第6章
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 可以先确定当前这棵子树的dfs序的范围。 然后第一个元素肯定是这棵子树的根节点。 那么只要在这棵子树的范围里面枚举节点。 看看有没有下一个bfs序的节点即可。 如果有的话,那么就说明这个根节点有多个子树。 则加入到它的儿子里面去
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 发牌的那个牌堆用一个deque,7个牌堆用vector来模拟。 然后按照题意模拟就好。 不难。 【代码】 cpp / 1.Shoud it use long long ? 2.Have you ever test several
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 链表模拟即可。 1pile不能加s... 【代码】 cpp include using namespace std; const int N = 60; string s[N]; int l[N], r[N]; vector v
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 写两个dfs模拟就好。 注意每12个数字输出一个换行。。 【代码】 cpp / 1.Shoud it use long long ? 2.Have you ever test several sample(at least th
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 模拟就好 【代码】 cpp / 1.Shoud it use long long ? 2.Have you ever test several sample(at least therr) yourself? 3.Can you
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 枚举一个秤砣的重量不变。 某一个秤砣的重量不变之后。 所有秤砣的重量就固定了。 因为它的兄弟节点的重量要和它一样。 则父亲节点的重量就是这个节点的两倍了。 以此类推可以得到所有节点的重量的值。 第i层应该的重量都是相同的。 用一
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 设dis[x][y][z]表示到(x,y)连续走了z个墙的最短路 bfs一下就ok 【代码】 cpp / 1.Shoud it use long long ? 2.Have you ever test several sampl
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 bfs模板题 【代码】 cpp / 1.Shoud it use long long ? 2.Have you ever test several sample(at least therr) yourself? 3.Can y
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 递归题 【代码】 cpp include using namespace std; const int N = 300; string s1, s2; int n, idx; int g[N][2]; int dfs(int l
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 dfs模拟一下就好。 先预处理一个dfs. 搞出来x叶子节点它的值是什么 【代码】 cpp / 1.Shoud it use long long ? 2.Have you ever test several sample(at
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 括号匹配。 栈模拟就好。 多种括号也是一样可以做的。 【代码】 cpp include using namespace std; const int N = 150; stack sta; string s; int main(
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 记录每个物品它的依赖有哪些,以及它被哪些东西依赖就可以了。 显式安装的东西不能被隐式删除删掉(就是remove item,然后删除item的依赖的过程叫隐式删除,而删除item本身叫显式删除); 而只能被显式删除。 隐式安装的依
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 逆向做一遍bfs. 得到终点到某个点的最短距离。 这样,我们从起点顺序的时候。 就能知道最短路的下一步是要走哪里了。 这样,我们从起点也开始做一遍bfs. 然后根据逆序的bfs得知下一步该往哪些点走。 每次优先走最小的字典序边即
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 旋转和翻转,会发现。 如果可以顺着某个方向一直放的话。 总是能转换成往下或者往右连的。 则只要能够出现一个连接顺序的循环,则总是有解的。 转化成图论模型 如果一个正方形有A+ 另外一个正方形有A B+C+D 那么从A+连3条边分
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 模拟+递归 【代码】 cpp include using namespace std; const int N = 200; string s[N+10]; int n; bool is(char key){ if (key!=
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 入度减去出度个数为1的点和为 1的点各有1个,然后其他点入度减去出度为0 或者全都是入度为0的点即可。 【代码】 cpp include using namespace std; const int N = 300; int n
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 拓扑大水题 【代码】
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 每个图案里面的“洞”的个数都是不同的。 则可以根据这个判别每个图像是什么。 先用dfs确定轮廓之后。 再从每个白点出发dfs,遇到的黑点且没有到达过边界,那么它就是所遇到的黑点里面的“洞”; 计算每个轮廓有多少个"洞"就好 【代
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 dfs.. 【代码】 cpp include using namespace std; const int N = 100; const int dx[8] = { 1, 1, 1,0,0,1,1,1}; const int d
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 发现根本不用存节点信息。 遇到了叶子节点且为黑色,就直接覆盖矩阵就好(因为是并集); 【代码】 cpp include using namespace std; const int N = (1 s; pos = 0; dfs(
阅读全文