★实验任务 小 F 很爱打怪,今天因为系统 bug,他提前得知了 n 只怪的出现顺序以及击 倒每只怪得到的成就值 ai.设第一只怪出现的时间为第 1 秒,这个游戏每过 1 秒 钟出现一只新怪且没被击倒的旧怪消失.小 F 决定发动一次技能,他的技能最多 维持 k 秒,他希望获得最大的成就值,请你帮他计算他发动技能的时间 l 和技能 结束时间 r(r-l+1<=k).当存在多种方案使得成就值最大时,选择技能发动时间 l 最小的方案,再选择技能持续时间 r-l+1 最小的方案. ★数据输入 输入第一行…
★实验任务 可怜的 Bibi 丢了好几台手机以后,看谁都像是小偷,他已经在小本本上记 下了他认为的各个地点的小偷数量. 现在我们将 Bibi 的家附近的地形抽象成一棵有根树.每个地点都是树上的 一个节点,节点上都标注了 Bibi 心中该地点的小偷数量.现在 Bibi 告诉你一个 节点 k,请你求出以该节点为根的子树中小偷数量的总和,以及子树中小偷最多 的节点的小偷数量. ★数据输入 输入第一行为一个正整数 n(1≤n≤100000)表示树的节点数目,树根的编号 总是为 1,且没有小偷. 接下来…
★实验任务 伊姐姐热衷于各类数字游戏,24 点.2048.数独等轻轻松松毫无压力.一 日,可爱的小姐姐邀请伊姐姐一起玩一种简单的数字 game,游戏规则如下: 一开始桌上放着 n 张数字卡片,从左到右按数字 1-n 放置,小姐姐按以下步 骤取卡片 小姐姐取出最左边的一张牌,藏于袖中: 小姐姐将此时剩余卡牌的最左边的 p 张移到最右边,假设桌上的牌为 1 2 3 4 5,移动最左边的两张卡片后结果为 3 4 5 1 2.注意当桌上卡片数量小于 p 时不 进行这步操作. 所有卡牌都被藏起来以后,游戏…
★实验任务 可怜的 Bibi 刚刚回到家,就发现自己的手机丢了,现在他决定回头去搜索 自己的手机. 现在我们假设 Bibi 的家位于一棵二叉树的根部.在 Bibi 的心中,每个节点 都有一个权值 x,代表他心中预感向这个节点走可能找回自己手机的程度(虽然 他的预感根本不准).当 Bibi 到达一个节点时,如果该节点有未搜索过的儿子节 点,则 Bibi 会走向未搜索过的儿子节点进行搜索,否则就返回父亲节点.如果 某节点拥有两个未搜索过的儿子节点,Bibi 会选择先搜索权值大的儿子节点. 假设 Bi…
1.题目: 2.代码: #include<iostream> #include<algorithm> using namespace std; struct Node { int left; int right; int father; int ord; } node[100010]; void preOrder(int m) { if(m!=-1) { cout<<m<<" "; preOrder(node[m].left); preO…
1.题目: 2.解题思路: 把每个点对应的两条半径求出,之后对d1进行升序排序,对应d2也改变位置.其中一个圆心的半径r1确定之后,除去第一个圆包围的点,在其余点中找到另外一个圆的最长的半径r2,此时r1+r2就是所求的包围所有点的半径之和,与最小值进行比较即可.要注意的是r1的半径可能是0,这种情况要另外考虑. 3.代码: #include<iostream> #include<algorithm> using namespace std; struct Node { int d…
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=3791 中文题不说题意. 建立完二叉搜索树后进行前序遍历或者后序遍历判断是否一样就可以了. 跟这次的作业第一题一模一样,输出输入改下就好 水的半死. 另外一题我以为是一定要一遍读入一边输出,被骗了,最后一起输出就好.等星期一再发那题的题解. #include<cstdio> #include<cstring> int cur; struct node { char c; node *lef…
问题描述 小 F 很爱打怪, 今天因为系统 bug, 他提前得知了 n 只怪的出现顺序以及击倒每只怪得到的成就值 ai. 设第一只怪出现的时间为第 1 秒,这个游戏每过 1 秒钟出现一只新怪且没被击倒的旧怪消失. 小 F 决定发动一次技能, 他的技能最多维持 k 秒, 他希望获得最大的成就值,请你帮他计算他发动技能的时间 l 和技能结束时间 r(r-l+1<=k). 当存在多种方案使得成就值最大时,选择技能发动时间 l最小的方案, 再选择技能持续时间 r-l+1 最小的方案. ★数据输入输入第一…
DFS的两种理解方式:1. 按照实际执行顺序模拟 (适合枚举型DFS,下节课内容)2. 按照DFS的定义宏观理解 (适合分治型DFS,本节课内容) 1 Convert BST to Greater Tree ; public TreeNode convertBST(TreeNode root) { dfs(root); return root; } void dfs(TreeNode root) { if (root == null) { return; } dfs(root.right); s…
区间类问题 1 Missing Interval public List<String> findMissingRanges(int[] nums, int lower, int upper) { List<String> res = new ArrayList<>(); ) { return res; } addRange(res, lower, (] - ); ; i < nums.length; i++) { addRange(res, (] + , ();…