题意:问你有多少个序列满足Ai < Aj > Ak and i < j < k.

思路:对每个数求它之前和之后分别有多少个个数比它小,两边相乘。最后求和。具体实现先用树状数组正序求,再反过来再用一遍树状数组。

代码:特别要注意的是题目中Ai的范围是从0开始,但是树状数组不能从0开始,所以统一加一处理。但是可惜的是题目并没有出现0这样的数据,让一些并不正确的代码过了。

 1 #include<stdio.h>
 2 #include<string.h>
 3 int lowbit(int x)
 4 {
 5     return x&-x;
 6 }
 7 const int N=5e4+111,Max=32769;
 8 int c[N],a[N],ans[N],n;
 9 void add(int i,int x)
10 {
11     i++;
12     while(i<Max)
13     {
14         c[i]+=x;
15         i+=lowbit(i);
16     }
17 }
18 int q(int i)
19 {
20     i++;
21     int sum=0;
22     while(i)
23     {
24         sum+=c[i];
25         i-=lowbit(i);
26     }
27     return sum;
28 }
29 int main()
30 {
31     while(scanf("%d",&n)!=EOF)
32     {
33         long long Ans=0;
34         memset(c,0,sizeof(c));
35         for(int i=1;i<=n;i++)
36         {
37             scanf("%d",&a[i]);
38             ans[i]=q(a[i]-1);
39             add(a[i],1);
40         }
41         memset(c,0,sizeof(c));
42         for(int i=n;i;i--)
43         {
44             Ans+=ans[i]*q(a[i]-1);
45             add(a[i],1);
46         }
47         printf("%lld\n",Ans);
48     }
49     return 0;
50 }

转载于:https://www.cnblogs.com/L-King/p/5448246.html

HOJ 2275 Number sequence相关推荐

  1. HDU 1711 Number Sequence(KMP算法)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1711 Number Sequence Time Limit: 10000/5000 MS (Java/ ...

  2. 【HDU】1005 Number Sequence (有点可爱)

    http://acm.hdu.edu.cn/showproblem.php?pid=1005 A number sequence is defined as follows: f(1) = 1, f( ...

  3. HDU 1005 Number Sequence

    [题目]                                                   Number Sequence Time Limit: 2000/1000 MS (Jav ...

  4. HDU 1711 -Number Sequence(KMP)

    题目 Number Sequence Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Othe ...

  5. 【HDU - 5014】Number Sequence(贪心构造)

    题干: There is a special number sequence which has n+1 integers. For each number in sequence, we have ...

  6. (找循环节)Number Sequence

    题目: A number sequence is defined as follows: f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2) ...

  7. hdu1005 Number Sequence(寻找循环节)

    主题链接: huangjing 题意: 就是给了一个公式,然后求出第n项是多少... 思路: 题目中n的范围实在是太大,所以肯定直接递推肯定会超时,所以想到的是暴力打表,找循环节,可是也不是那么eas ...

  8. HDU.1005 Number Sequence

    原题 HDU.1005 Number Sequence 分类 杂题 题意 给定一个数列{an}\left\{ a_n \right\}{an​}的前两项a1a_1a1​.a2a_2a2​,以及其递推公 ...

  9. UVA10689 Yet another Number Sequence【数列+矩阵快速幂】

    Let's define another number sequence, given by the following function: f(0) = a f(1) = b f(n) = f(n ...

最新文章

  1. 理论计算机科学中最令人困惑的谜题之一被解开
  2. 解决SpringBoot使用Quartz无法注入Bean的问题
  3. linux shell编程之菜单选择(二)
  4. Linux下Bluez的编程实现
  5. drill apache_Apache Drill:如何创建新功能?
  6. java中枚举表示数据状态
  7. java 中传输文件的代码_java文件上传Demo(必看篇)
  8. ansible的介绍和一些基本模块介绍
  9. JavaScript笔记杂谈篇(啥都有)
  10. Discuz的分页函数
  11. html5分镜头脚本范例,分镜头脚本范本.pdf
  12. ajax怎么设置地图,通过数据库和ajax方法写出地图的实例代码
  13. 探秘金山隐私保险箱 (解密出加密的数据)
  14. 同时校验手机号和座机号
  15. Oracle 自动存储管理 (ASM)
  16. python项目之 路由器抓取器
  17. CAD中如何删除顽固图层?
  18. 解决pom.xml文件图标变红问题
  19. 《生物信息学:导论与方法》----变异的功能预测----听课笔记(十一)
  20. 747D. Winter Is Coming

热门文章

  1. PC-用Windows XP自带的组策略加固操作系统
  2. 使用EL表达式获得session中内容
  3. Winform中ComcoBox控件设置选定项
  4. DOM节点的获取及创建
  5. LeetCode(884)——两句话中的不常见单词(JavaScript)
  6. router vue 回到顶部_小猿圈HTML5学习之基于iview的router常用控制方式
  7. python 结构体数组_关于python:将结构化数组转换为常规NumPy数组
  8. cpu为何有两个温度?
  9. 细节真的能决定成败么?
  10. 有20万3年不用,怎样理财呢?