![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PTA
沐兮Krystal
这个作者很懒,什么都没留下…
展开
-
PTA 删数问题(贪心,顺序表元素的删除)
https://pintia.cn/problem-sets/1328155855122223104/problems/1328156043383558145思路 从高位到低位,如果当前的数字比后面的数字大,则删去当前数字;如果当前数字小于等于后面的数字,那么删去这个数字不如删除后面那个比它大的数字的解优。故贪心策略为:删除从高位到低位升序中的最后一个数字。#include <bits/stdc++.h>using namespace std;typedef long long ll;原创 2020-11-24 11:51:13 · 976 阅读 · 0 评论 -
回溯法:工作分配问题(dfs)
https://pintia.cn/problem-sets/1328156631236235264/problems/1328156672017461249#include <bits/stdc++.h>using namespace std;typedef long long ll;const int maxn=1e5+5;const int inf=0x3f3f3f3f;int n,c[20][20];//将工作i分配给第j个人所需要的费用 //每个人分配到一个对应的工作,原创 2020-11-22 15:56:46 · 491 阅读 · 0 评论 -
PTA 7-4 小字辈(dfs)
https://pintia.cn/problem-sets/1259041418971803648/problems/1259047109883162624(题目链接如上)题意:给定一个庞大家族的家谱,要请你给出最小一辈的名单。题解:结点设计:struct tnode{ int parent; int num; int level;//记录辈分,即在树的第几层}node[100005];思路:对每个结点,深搜直到它的祖先根节点返回,回溯的时候每一层的层数等于上一层的层数加一。如果搜原创 2020-05-23 23:11:59 · 607 阅读 · 0 评论 -
PTA 7-3 列出叶结点
https://pintia.cn/problem-sets/1259041418971803648/problems/1259046259496415233(题目链接如上)题解:1,用结构数组存储,注意char转换为int。2,利用vis数组记录出现过的孩子结点,则未出现过的即为根节点。3,最后再层序遍历(宽搜)输出叶子节点。AC代码:#include <iostream>#include <queue>using namespace std;int leave原创 2020-05-23 21:09:18 · 1378 阅读 · 0 评论 -
PTA 7-1 玩转二叉树
https://pintia.cn/problem-sets/1259041418971803648/problems/1259046259492220928(题目链接如上)题意:给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。利用中序遍历和前序遍历建树:node* buildPreInTree(int pl,int pr,int il,int ir){ if(il>ir) return NULL;原创 2020-05-23 11:53:17 · 2772 阅读 · 1 评论