4610: [Wf2016]Ceiling Functi

题目连接:

http://www.lydsy.com/JudgeOnline/problem.php?id=4610

Description

给出n个长度为k的数列,每个数列模拟堆的操作,问有多少种形态不同的堆。

Input

第一行包含两个数n(1<n<=50)代表堆的数量,k(1<=k<=20)代表每个堆的插入序列长度。

接下来n行每行包含k个数代表每个堆的插入序列。

Output

输出不同堆的形态数。

Sample Input

12 7

291388 78619 945367 867244 966006 445425 648278

593908 292543 111985 66151 846350 93727 765366

790325 950781 514834 937591 3749 922704 723259

788203 256144 944013 558440 591881 795482 173898

324286 386153 624883 475996 120001 18438 300906

819238 889730 825701 320745 611539 492070 410382

528593 425310 458894 528505 488435 192846 682984

564357 635943 41024 396434 286305 274829 196124

851238 206925 126110 537002 246374 859835 936366

729469 815045 965455 104000 364877 151376 759750

670021 748323 53559 609778 106547 151277 766524

561059 895615 951857 781815 378082 703670 620446

Sample Output

12

Hint

题意

题解:

数据范围很小,模拟一下,然后按照dfs的顺序hash一下,扔到一个set里面看看就好了

代码

#include<bits/stdc++.h>
using namespace std;
const int maxn = 1005;
set<string> S;
struct node{
int l,r,x;
int flag;
}a[maxn];
int cnt;
void add(int x,int v)
{
if(a[x].flag==0){
a[x].x=v;
a[x].flag=1;
return;
}
if(v<=a[x].x)
{
if(a[x].l==0)
a[x].l=++cnt;
add(a[x].l,v);
}
else
{
if(a[x].r==0)
a[x].r=++cnt;
add(a[x].r,v);
}
}
string ans;
void get(int x)
{
if(a[x].flag==0)return;
if(a[x].l!=0)ans+="L",get(a[x].l);
if(a[x].r!=0)ans+="R",get(a[x].r);
ans+="D";
}
int main()
{
int n,k;
scanf("%d%d",&n,&k);
for(int i=0;i<n;i++)
{
memset(a,0,sizeof(a));
ans="";cnt=0;
for(int j=0;j<k;j++)
{
int x;scanf("%d",&x);
add(0,x);
}
get(0);
S.insert(ans);
}
cout<<S.size()<<endl;
}

BZOJ 4610: [Wf2016]Ceiling Functi 水题的更多相关文章

  1. BZOJ4610——[Wf2016]Ceiling Functi

    水题一道,不是很懂为啥没人做... 1.题意:纠正一下..bzoj的题意不是很对...注意不是堆,是不平衡的二叉树,就是非旋转的treap, 另外...插入的时候,小于插在左边..大于等于插在右边 2 ...

  2. BZOJ 1303 CQOI2009 中位数图 水题

    1303: [CQOI2009]中位数图 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 2340  Solved: 1464[Submit][Statu ...

  3. bzoj 4610 Ceiling Functi

    bzoj 4610 Ceiling Functi Description bzoj上的描述有问题 给出\(n\)个长度为\(k\)的数列,将每个数列构成一个二叉搜索树,问有多少颗形态不同的树. Inp ...

  4. BZOJ USACO 银组 水题集锦

    最近刷银组刷得好欢快,好像都是水题,在这里吧他们都记录一下吧(都是水题大家一定是道道都虐的把= =)几道比较神奇的题到时再列出来单独讲一下吧= =(其实我会说是BZOJ蹦了无聊再来写的么 = =) [ ...

  5. 【BZOJ】初级水题列表——献给那些想要进军BZOJ的OIers(自用,怕荒废了最后的六月考试月,刷刷水题,水水更健康)

    BZOJ初级水题列表——献给那些想要进军BZOJ的OIers 代码长度解释一切! 注:以下代码描述均为C++ RunID User Problem Result Memory Time Code_Le ...

  6. 【BZOJ】3850: ZCC Loves Codefires(300T就这样献给了水题TAT)

    http://www.lydsy.com/JudgeOnline/problem.php?id=3850 题意:类似国王游戏....无意义.. #include <cstdio> #inc ...

  7. 【BZOJ】1603: [Usaco2008 Oct]打谷机(水题+dfs)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1603 这种水题... dfs没话说.. #include <cstdio> #inclu ...

  8. BZOJ两水题连发~(BZOJ1854&&BZOJ1191)

    前言:两题都是省选题不过水的惊人,且都可以用二分图最大匹配做哎--- 1854: [Scoi2010]游戏 Time Limit: 5 Sec  Memory Limit: 162 MBSubmit: ...

  9. BZOJ 2456: mode(新生必做的水题)

    2456: mode Time Limit: 1 Sec  Memory Limit: 1 MB Submit: 4868  Solved: 2039 [Submit][Status][Discuss ...

随机推荐

  1. 何凯文每日一句打卡||DAY9

  2. C++ 螺旋矩阵算法

    清理磁盘空间的时候翻出了多年前写过的螺旋矩阵,代码效率和水平较低,纪念一下,保存到博客园! // ConsoleApplication3.cpp : 定义控制台应用程序的入口点. // #includ ...

  3. 【hadoop】har://

    来源:http://hadoop.apache.org/docs/r1.0.4/cn/hadoop_archives.html 在hadoop代码中发现了一个很奇怪的路径,由har://开头.经查询, ...

  4. 细说MySQL备份的基本原理(系列一 ) 备份与锁

    数据库作为一个系统中唯一或者主要的持久化组件,对服务的可用性和数据的可靠性要求极高. 作为能够有效应对因为系统软硬件故障.人工误操作导致数据丢失的预防手段,备份是目前最为常见的数据库运维操作. 考虑到 ...

  5. 使用BigDecimal转换较长小数时候出现科学计数法的问题

    public static String divToString(double v1, double v2, int scale){ if (scale < 0) { throw new Ill ...

  6. c++中的前置声明

    引用google c++编码规范: When you include a header file you introduce a dependency that will cause your cod ...

  7. .NetCore 使用 Linq 动态拼接Expression表达式条件来实现 对EF、EF Core 扩展查询排序操作

    相信在使用EF的时候对查询条件或者排序上的处理令人心烦,下面我们就来动态拼接表达式解决这一问题 当我们在查询中使用Where的时候可以看到如下参数 下面我们就来扩展 Expression<Fun ...

  8. ASP.Net1

    一.Web应用程序与传统桌面应用程序的不同: 1.产品级的Web应用程序总是包括至少两台联网的机器:一台承载网站,另一台在Web浏览器中查看数据. 即:我们通过自己的电脑浏览Web程序,这个程序会向服 ...

  9. centos redis 自动重启

    配置init脚本 对于Centos,有一份https://gist.github.com/1335694 经过修改,如下: ########################## PATH=/usr/l ...

  10. Android studio2.3.3升级3.1.2坑

    原文:https://blog.csdn.net/qq_26361871/article/details/80255141 1.grade配置Error: Could not find com.and ...