热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

bzoj1996[Hnoi2010]chorus合唱队

DescriptionInputOutputSampleInput41701170217031704SampleOutput8HINT一开始我也是没什么思路的……随便写了几个数据画

Description

Input

Output

Sample Input

4
1701 1702 1703 1704

Sample Output

8

HINT

 

一开始我也是没什么思路的……

随便写了几个数据画了画,结果发现其实每次新加入一个数的时候都是把当前的数列向左或者向右拓展一位

意思就是每次都是在一个区间上往两边加数。然后很显然区间dp啦

结合数据范围就更显然了

后来发现用二维的统计好像是有问题的,要三维

f[i][j][0/1]表示取到数列中从i到j的区间,上一个取到的是数列左边/右边的数

f[i][j][0]=f[i+1][j][0]*(a[i]

f[i][j][1]=f[i][j+1][0]*(a[j]>a[i])+f[i][j+1][1]*(a[j]>a[j-1])

#include
#define mod 19650827
inline int read()
{int x&#61;0,f&#61;1;char ch&#61;getchar();while(ch<&#39;0&#39;||ch>&#39;9&#39;){if(ch&#61;&#61;&#39;-&#39;)f&#61;-1;ch&#61;getchar();}while(ch>&#61;&#39;0&#39;&&ch<&#61;&#39;9&#39;){x&#61;x*10&#43;ch-&#39;0&#39;;ch&#61;getchar();}return x*f;
}
int n;
int a[1010];
int f[1010][1010][2];
int main()
{n&#61;read();for (int i&#61;1;i<&#61;n;i&#43;&#43;)a[i]&#61;read();for (int i&#61;1;i<&#61;n;i&#43;&#43;)f[i][i][0]&#61;1;for (int i&#61;n;i>&#61;1;i--)for (int j&#61;i&#43;1;j<&#61;n;j&#43;&#43;){if (a[i]a[i])f[i][j][1]&#43;&#61;f[i][j-1][0];if (a[j]>a[j-1])f[i][j][1]&#43;&#61;f[i][j-1][1];f[i][j][0]%&#61;mod;f[i][j][1]%&#61;mod;}printf("%d\n",(f[1][n][0]&#43;f[1][n][1])%mod);
}

 


转:https://www.cnblogs.com/zhber/p/4264674.html



推荐阅读
  • HDU 2537 键盘输入处理
    题目描述了一个名叫Pirates的男孩想要开发一款键盘输入软件,遇到了大小写字母判断的问题。本文提供了该问题的解决方案及实现方法。 ... [详细]
  • 使用jQuery与百度地图API实现地址转经纬度功能
    本文详细介绍了如何利用jQuery和百度地图API将地址转换为经纬度,包括申请API密钥、页面构建及核心代码实现。 ... [详细]
  • ED Tree HDU4812 点分治+逆元
    这道题非常巧妙!!!我们进行点分治的时候,算出当前子节点的所有子树中的节点,到当前节点节点的儿子节点的距离,如下图意思就是当前节点的红色节点,我们要求出红色节点的儿子节点绿色节点, ... [详细]
  • 本文详细介绍了跨站脚本攻击(XSS)的基本概念、工作原理,并通过实际案例演示如何构建XSS漏洞的测试环境,以及探讨了XSS攻击的不同形式和防御策略。 ... [详细]
  • 本文档旨在提供C语言的基础知识概述,涵盖常量、变量、数据类型、控制结构及函数定义等内容。特别强调了常量的不同类型及其在程序中的应用,以及如何正确声明和使用函数。 ... [详细]
  • 本文详细介绍了在PHP中如何获取和处理HTTP头部信息,包括通过cURL获取请求头信息、使用header函数发送响应头以及获取客户端HTTP头部的方法。同时,还探讨了PHP中$_SERVER变量的使用,以获取客户端和服务器的相关信息。 ... [详细]
  • 使用 ModelAttribute 实现页面数据自动填充
    本文介绍了如何利用 Spring MVC 中的 ModelAttribute 注解,在页面跳转后自动填充表单数据。主要探讨了两种实现方法及其背后的原理。 ... [详细]
  • 我在尝试将组合框转换为具有自动完成功能时遇到了一个问题,即页面上的列表框也被转换成了自动完成下拉框,而不是保持原有的多选列表框形式。 ... [详细]
  • 本文将作为我硕士论文的一部分,但鉴于其内容的独特性和趣味性,决定单独发布。文中将定义一些皮亚诺公理,并介绍如何使用这些公理进行等式替换,以证明定理。 ... [详细]
  • 前端技术分享——利用Canvas绘制鼠标轨迹
    作为一名前端开发者,我已经积累了Vue、React、正则表达式、算法以及小程序等方面的技能,但Canvas一直是我的盲区。因此,我在2018年为自己设定了一个新的学习目标:掌握Canvas,特别是如何使用它来创建CSS3难以实现的动态效果。 ... [详细]
  • 本文介绍了如何通过创建自定义 XML 文件来修改 Android 中 Spinner 的项样式,包括颜色和大小的调整。 ... [详细]
  • 本文探讨了在 PHP 的 Zend 框架下,使用 PHPUnit 进行单元测试时遇到的 Zend_Controller_Response_Exception 错误,并提供了解决方案。 ... [详细]
  • 本文详细介绍了PHP中的几种超全局变量,包括$GLOBAL、$_SERVER、$_POST、$_GET等,并探讨了AJAX的工作原理及其优缺点。通过具体示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • UVa 11683: 激光雕刻技术解析
    自1958年发明以来,激光技术已在众多领域得到广泛应用,包括电子设备、医疗手术工具、武器等。本文将探讨如何使用激光技术进行材料雕刻,并通过编程解决一个具体的激光雕刻问题。 ... [详细]
  • Exploring issues and solutions when defining multiple Faust agents programmatically. ... [详细]
author-avatar
长发及腰和我娶你D有毛关系
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有