[AT2148] [arc063_c] Integers on a Tree】的更多相关文章

题目链接 AtCoder:https://arc063.contest.atcoder.jp/tasks/arc063_c 洛谷:https://www.luogu.org/problemnew/show/AT2148 Solution 注意到每次只能加一或减一,也就是奇偶性一定会变,那么我们可以黑白染色一波判无解. 对于权值我们直接对每个点记\(l[i],r[i]\)表示当前点可以取到的范围. 那么我们\(\rm dfs\)一边在回溯和下传的时候都更新下判无解就好了. 如果有解直接在范围内随便…
◇例题·III◇ 木と整数 / Integers on a Tree 只需要一个美妙的转换,这道题就会变得无比美妙…… 来源:+AtCoder 2148(ARC-063 E)+ ◆ 题目大意 给定一棵n个节点(节点被编号为1~n)的树,有K (1≤K≤n) 个节点已经被填上一个数字,现在你需要把剩余的节点填上数字,使得被同一条边相连的两个节点数值相差恰好为1. 若可以实现,先输出一行"Yes",接下来n行,每行输出一个整数,第i+1行表示节点i的数值:否则输出"No"…
题目传送门:https://arc063.contest.atcoder.jp/tasks/arc063_c 题目翻译 给你一个树,上面有\(k\)个点有权值,问你是否能把剩下的\(n-k\)个点全部填上权值,使得每条边链接的两个点权值相差\(1\),如果可以做到需要输出任意一组方案. 题解 我们考虑每条边权值为\(1\)或\(-1\),那么相当于黑白染色一样,所有点权值的奇偶性也都是确定的.如果与读入的\(k\)个点中某个点相冲突了就\(GG\).另外每个点的取值范围都可以转化成一段区间\([…
虽然有点难,但是这套题都挂了一个月了啊喂…… 网上模板好多……最后还是抄了kuangbin聚聚的,毕竟好多模板都是抄他的,比较习惯…… POJ 3468 题意:给n个数,两种操作,区间整体加一个数,或者区间求和. 题解:把区间的前一个数挪到根,区间后一个数挪到根的右子树,根的右子树的左子树就是要处理的区间... SplayTree是一个二叉排序树,它所保存的顺序是数字的编号,所以无论怎样旋转,编号的顺序都不会变... 在首尾各插入一个结点,这样求整个区间的时候也可以找到前一个数和后一个数...…
Description 给定一棵\(n\)个点的树,其中若干个点的权值已经给出.现在请为剩余点填入一个值,使得相邻两个点的差的绝对值恰好为1.请判断能否实现,如果能,请将方案一并输出. Solution 卡了一会,终于想出来了. 首先从深度奇偶性和权值奇偶性这一方面考虑:如果所有已知点的权值与深度的奇偶性关系不全一样,则一定无解. 然后考虑怎么构造.如果用已填点将树分成若干块,显然每一块是独立的,现在考虑单独一块. 直接想有一点困难,所以我们先尝试考虑每一个空点\(u\)能填什么数:考虑这一个块…
传送门 先考虑什么时候不合法. 第一是考虑任意两个特殊点的权值的奇偶性是否满足条件. 第二是考虑每个点的取值范围是否合法. 如果上述条件都满足的话就可以随便构造出一组解. 代码: #include<bits/stdc++.h> #define N 100005 #define inf 0x3f3f3f3f using namespace std; inline int read(){ int ans=0; char ch=getchar(); while(!isdigit(ch))ch=get…
Problem Link: https://oj.leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/ The basic idea is same to that for Construct Binary Tree from Inorder and Postorder Traversal. We solve it using a recursive function. First, we…
Problem Link: https://oj.leetcode.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/ This problem can be easily solved using recursive method. By given the inorder and postorder lists of the tree, i.e. inorder[1..n] and postorde…
Problem Link: http://oj.leetcode.com/problems/convert-sorted-array-to-binary-search-tree/ Same idea to Convert Sorted Array to Binary Search Tree, but we use a recursive function to construct the binary search tree. # Definition for a binary tree nod…
描述:递归 代码: class Solution: # @param num, a list of integers # @return a tree node def sortedArrayToBST(self, num): if len(num) == 0: return None mid_index = len(num) / 2 tmp_tree = TreeNode(num[mid_index]) tmp_tree.left = self.sortedArrayToBST(num[:mi…