【暴力】vijos P1897 学姐吃牛排
判断堆:递归判断每个节点的孩子是否都比其父亲大(小)。
判断BST:中序遍历是否有序。
#include<cstdio>
using namespace std;
#define lc (rt<<1)
#define rc (rt<<1|1)
int T,n,a[],b[],en;
void Mid(int rt)
{
if(lc<=n) Mid(lc);
b[++en]=a[rt];
if(rc<=n) Mid(rc);
}
bool is_BST()
{
bool f1=,f2=; en=; Mid();
for(int i=;i<=n;i++) if(b[i]<b[i-]) {f1=; break;}
if(f1) return ;
for(int i=;i<=n;i++) if(b[i]>b[i-]) {f2=; break;}
if(f2) return ;
return ;
}
bool is_Heap(int rt)
{
if(lc<=n)
{
if(a[lc]>a[rt]) return ;
if(!is_Heap(lc)) return ;
}
if(rc<=n)
{
if(a[rc]>a[rt]) return ;
if(!is_Heap(rc)) return ;
}
return ;
}
bool is_Heap_2(int rt)
{
if(lc<=n)
{
if(a[lc]<a[rt]) return ;
if(!is_Heap_2(lc)) return ;
}
if(rc<=n)
{
if(a[rc]<a[rt]) return ;
if(!is_Heap_2(rc)) return ;
}
return ;
}
int main()
{
scanf("%d",&T);
for(int i=;i<=T;i++)
{
printf("Case #%d: ",i);
scanf("%d",&n);
for(int j=;j<=n;j++) scanf("%d",&a[j]);
bool flag1=,flag2=;
if(is_BST()) flag1=;
if(is_Heap()) flag2=;
if((!flag2)) if(is_Heap_2()) flag2=;
if(flag1&&flag2) puts("Both");
else if(flag1) puts("BST");
else if(flag2) puts("Heap");
else puts("Neither");
}
return ;
}
【暴力】vijos P1897 学姐吃牛排的更多相关文章
- 【vijos1900】 学姐吃寿司
https://vijos.org/p/1900 (题目链接) 题意 给出一个01环,问最少经过多少次相邻互换使得所有的0聚在一坨,所有的1聚在一坨. Solution 源自:LCF Solution ...
- CDOJ 1292 卿学姐种花 暴力 分块 线段树
卿学姐种花 题目连接: http://acm.uestc.edu.cn/#/problem/show/1292 Description 众所周知,在喵哈哈村,有一个温柔善良的卿学姐. 卿学姐喜欢和她一 ...
- 嘉馨学姐又双叒叕来吃包子了 QDUOJ 模拟 尺度法
嘉馨学姐又双叒叕来吃包子了 QDUOJ 模拟 尺度法 点我进入OJ题目详情 题意 给你一串数,让你求长度最长的子串,这个字串满足里面没有重复出现的数字. 解题思路 使用一个标记数组,来标记每个数的第一 ...
- vijosP1903学姐的实习工资
描述 学姐去实习了, 一共实习了N天, 每一天都可以得到实习工资V[i], 这里V[1..N]被看作是整数序列.因为学姐很厉害, 所以V[1..N]是不下降的.也就是说学姐每天的工资只会越来越多, 不 ...
- qwb与学姐 (带秩并查集)
qwb与学姐 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 149 Solved: 54[Submit][Status][Web Board] Des ...
- UESTC 1324:卿学姐与公主(分块)
http://acm.uestc.edu.cn/#/problem/show/1324 题意:…… 思路:卿学姐的学习分块例题. 分块是在线处理区间问题的类暴力算法,复杂度O(n*sqrt(n)),把 ...
- cdoj 1328 卿学姐与诡异村庄 Label:并查集 || 二分图染色
卿学姐与诡异村庄 Time Limit: 4500/1500MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit ...
- Vijos1901 学姐的钱包
描述 学姐每次出门逛街都要带恰好M元钱, 不过她今天却忘记带钱包了.可怜的doc只好自己凑钱给学姐, 但是他口袋里只有一元钱.好在doc的N位朋友们都特别有钱, 他们答应与doc作一些交换.其中第i位 ...
- cdoj 1329 卿学姐与魔法 优先队列
卿学姐与魔法 Time Limit: 1200/800MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit Sta ...
随机推荐
- Spring Boot(一)
1.注解 @EnableAutoConfiguration 官方文档:The @EnableAutoConfiguration annotation is often placed on your ...
- 栈与递归的实现(Hanoi塔问题等等)
函数中有直接或间接地调用自身函数的语句,这样的函数称为递归函数.递归函数用 得好,可简化编程工作.但函数自己调用自己,有可能造成死循环.为了避免死循环,要 做到两点: (1) 降阶.递归函数虽然调用自 ...
- html中offsetTop、clientTop、scrollTop、offsetTop各属性介绍(转载)
HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth scrollHeight: 获取对象的滚动高度. scrollLeft: 设置或获取位于 ...
- Java并发(8)- 读写锁中的性能之王:StampedLock
在上一篇<你真的懂ReentrantReadWriteLock吗?>中我给大家留了一个引子,一个更高效同时可以避免写饥饿的读写锁---StampedLock.StampedLock实现了不 ...
- c++ 批量初始化数组 fill和fill_n函数的应用
转自c++ 如何批量初始化数组 fill和fill_n函数的应用 std::fill(a+,a+,0x3f3f3f3f);///从下标2到下标10 前闭后开 共8个 std::fill_n(a+,,0 ...
- 12.22笔记(关于CALayer//Attributes//CALayer绘制图层//CALayer代理绘图//CALayer动画属性//CALayer自定义子图层//绘图pdf文件//绘图渐变效果)
12.22笔记 pdf下载文件:https://www.evernote.com/shard/s227/sh/f81ba498-41aa-443b-81c1-9b569fcc34c5/f033b89a ...
- HDU 2554 N对数的排列问题 ( 数学 )
题目链接 Problem Description 有N对双胞胎,他们的年龄分别是1,2,3,--,N岁,他们手拉手排成一队到野外去玩,要经过一根独木桥,为了安全起见,要求年龄大的和年龄小的排在一起,好 ...
- JavaScript DOM编程艺术 读书笔记
2. JavaScript语法 2.1 注释 HTML允许使用"<!--"注释跨越多个行,但JavaScript要求这种注释的每行都必须在开头加上"< ...
- 智能合约安全-parity多重签名钱包安全漏洞
漏洞原因: 因为initWallet函数是公开函数( public function) , 攻击者调用initWallet,重新初始化钱包会把之前合约钱包所有者覆盖, 即可改变钱包所有者. 漏洞代码: ...
- date "+Y-%m-%d %H:%M"
date "+Y-%m-%d %H:%M" date | awk '{print "Year:"$6 "\t month:"$2 ...