UVA 10821 - Constructing BST(贪心构造)
来源:互联网 发布:阿里云搭建代理服务器 编辑:程序博客网 时间:2024/05/10 12:24
UVA 10821 - Constructing BST
题目链接
题意:有1 - n的数字,要构造一棵高度不超过h的BST,并且要字典序最小的,输出序列
思路:贪心构造,既然字典序最小,那么每个子树的根都要尽量小,那么也就是右子树尽量填满,按照这个策略去dfs构造即可
代码:
#include <cstdio>#include <cstring>#include <algorithm>using namespace std;int n, h;void dfs(int s, int n, int h) { if (h == 0 || n == 0) return; int tmp = max(0, n - (1<<(h - 1))); printf(" %d", s + tmp + 1); dfs(s, tmp, h - 1); dfs(s + tmp + 1, n - tmp - 1, h - 1);}int main() { int cas = 0; while (~scanf("%d%d", &n, &h) && n || h) {printf("Case %d:", ++cas);if ((1<<h) - 1 < n) { printf(" Impossible.\n"); continue;}dfs(0, n, h);printf("\n"); } return 0;}
1 0
- UVA 10821 - Constructing BST(贪心构造)
- uva 10821 - Constructing BST(BSF)
- UVA10821--Constructing BST(贪心+二分)
- UVA 668 - Parliament(贪心构造)
- UVA 502 - DEL command(贪心构造)
- 二叉排序树(BST)构造与应用
- #163 – Constructing FrameworkPropertyMetadata(构造FrameworkPropertyMetadata)
- Algorithm:BST(Binary Search Tree)构造
- Codeforces 675D Tree Construction【构造,BST】
- uva 1264 - Binary Search Tree(BST)
- UVA 11020 Efficient Solutions(BST multiset实现)
- UVA Binary Search Tree(BST+计数问题)
- CF232A-cycles 构造,贪心
- poj1659(贪心构造图)
- Codeforces_394C_Dominoes(贪心构造)
- sgu279:Bipermutations(贪心构造)
- Codeforces401C Team【构造+贪心】
- hdu 5573贪心构造
- STVP下载提示“Warning: Old ST-Link firmware version detected”
- java的锁机制
- 解决SpringMVC返回Json数据格式不严谨报异常的问题(草稿未完成)
- ubuntu字符界面下显示中文和调整分辨率
- 基本管理(1)
- UVA 10821 - Constructing BST(贪心构造)
- Flex中Tree组件默认展开某一层
- 浅谈handler使用机制
- oracle temp tablespace
- 润乾报表使用文件数据源的方法及改进
- 基本管理(2)
- thrift for python部署<转>
- IE 11关闭后提示停止工作
- 基本管理(3)