给出一颗树以下方程序遍历的dfs序

used[1 ... n] = {0, ..., 0};procedure dfs(v):print v;used[v] = 1;for i = 1, 2, ..., n:if (a[v][i] == 1 and used[i] == 0):dfs(i);dfs(1);

问可以得到此序列的树的个数

观察发现同一子树处在相邻区间,且子树的根为该区间第一个元素,定义dp[l][r]为区间[l,r]的方案,则:
\[dp[l][r]=\sum_{i\in[l,r],i!=r||b[i+1]>b[l]} dp[l+1][i]*dp[i+1][r]\]

#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
const int mod = 1e9 + 7;
int n, b[505];
int f[505][505];
void ModAdd(int & x, int y) {x += y;if(x >= mod) x-= mod;
}
int DP(int l, int r) {
//  cerr << l << ' ' << r << endl;if(l >= r) return 1;int & res = f[l][r];if(res != -1) return res;res = 0;for(int i = l; i <= r; i++) {if(i != r && b[i + 1] <= b[l]) continue;ModAdd(res, (long long)DP(l + 1, i) * DP(i + 1, r) % mod);}return res;
}
int main() {scanf("%d", &n);for(int i = 1; i <= n; i++) scanf("%d", &b[i]);memset(f, -1, sizeof(f));printf("%d\n", DP(2, n));return 0;
}

转载于:https://www.cnblogs.com/ljzalc1022/p/9064263.html

CodeForces509F Progress Monitoring相关推荐

  1. 视觉语言导航综述Visual Language Navigation

    abstract: | 视觉语言导航任务(Visual Language Navigation) 是让智能体跟着自然语言指令进行导航,这个任务需要同时理解自然语言指令与视角中可以看见的图像信息,然后在 ...

  2. 【无人机】【2017.11】工程检查和地理空间制图用小型无人机系统

    本文为美国俄勒冈州立大学(作者:Farid Javadnejad)的博士论文,共168页. 携带消费级非测量相机的小型无人机系统(UAS)越来越多地被用来生成高分辨率的三维地理空间数据.无人机的低成本 ...

  3. 基于风险的测试方法(RBT)

    基于风险的测试方法(RBT) 基于风险的测试是根据影响的大小和失败的可能性,对被测应用程序的特性.模块和功能进行优先级排序.它涉及基于复杂性.业务关键性.使用频率.可见区域.缺陷易发区域等来评估风险. ...

  4. 软件流程和管理(五):Project Scheduling

    目录 1. The role of a project schedule 项目进度表的作用 1.1 Project Schedule 的定义 1.2 Project Schedule 的内容 1.3 ...

  5. 读书笔记《Hadoop权威指南第4版(Hadoop The Definitive Guide 4th)》

    Chapter 1 Meet Hadoop Data Storage and Analysis The problem is simple: although the storage capaciti ...

  6. opengl如何画出一个球_OpenGL-Controlling and Monitoring the Pipeline

    全球图形学领域教育的领先者.自研引擎的倡导者.底层技术研究领域的技术公开者,东汉书院在致力于使得更多人群具备内核级竞争力的道路上,将带给小伙伴们更多的公开技术教学和视频,感谢一路以来有你的支持.我们正 ...

  7. Unity2021稳定版+Directory Monitoring

    Unity2021稳定版+Directory Monitoring Directory Monitoring 更新来源 功能说明 常见警告 功能设置: Unity 2021 LTS 今日发布 关于C# ...

  8. 【跟我学oracle18c】第二十九天:Multitenant :19 Monitoring CDBs and PDBs

    全是数据字典 19 Monitoring CDBs and PDBs You can view information about CDBs and PDBs using SQL*Plus or SQ ...

  9. 6行Python代码实现进度条效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI库)

    目录 1.Progress库 2.tqdm库 3.alive-progress库 4.PySimpleGUI库 在项目开发过程中加载.启动.下载项目难免会用到进度条,如何使用Python实现进度条呢? ...

最新文章

  1. linux c一站式编程 pdf,《Linux·C编程一站式学习》·(宋劲杉)·文字版.pdf
  2. wsdd文件是怎么生成的_Axis WSDD文件参考文档
  3. 第1章 信息检索基础
  4. 电脑上显示没有其他服务器服务,电脑显示没有远程服务器地址
  5. html手机端全屏显示和溢出问题
  6. Producing Open Source Software
  7. flex 会使div撑满_如何讲清楚Flex弹性盒模型(中)?
  8. labuladong 的算法小抄_来自GitHub 68.8k star的硬核算法教程
  9. 【AI视野·今日CV 计算机视觉论文速览 第203期】Fri, 21 May 2021
  10. Android开发笔记(四十三)点击事件
  11. CCF NOI1117 排序
  12. 3.字符串(string)
  13. arduino 土壤温湿度传感器_三分钟告诉你Arduino是什么
  14. JAVA知识点(尚硅谷宋红康老师的b站授课自我整理)
  15. Ubuntu 重新安装声卡驱动
  16. 20172301 2017-2018-2 《程序设计与数据结构》第七周学习总结
  17. 经典编程题——回文问题
  18. 删除Windows10在语言栏出现“未知区域设置(qaa-latn)”
  19. matlab画全球参数分布图 绘制世界地图
  20. TypeScript中any与unknown的区别

热门文章

  1. 【收藏】Geomesa(三)图层的裁剪分析
  2. Linux parted分区工具使用示例
  3. linux deepin 升级内核命令
  4. docker安装nginx并进行-v挂载
  5. vue-router嵌套路由示例
  6. Java设计模式之组合Composite模式代码示例
  7. Linux head和tail指令
  8. Spring注解开发-初始化/销毁方法注解
  9. bib config_OEMAddressTable,config.bib详解
  10. pythoncharm快捷键_Pycharm最常用的快捷键及使用技巧