表不喜欢离散化,因为 美丽 丑陋,人人都会的东西,为什么要考呢QAQ
就是BIT
正一次反一次,相乘

#include<map>
map<int,int>ap;
#define N 30010
int bit[N<<2],a[N],b[N];
int n,f[N],g[N];
long long ans;
void add(int x)
{while(x<=n){bit[x]++;x+=x&(-x);}
}
void clear()
{fr(i,1,n)bit[i]=0;
}
int query(int x)
{int r=0;while(x){r+=bit[x];x-=x&(-x);}return r;
}
void getans(int *o)
{fr(i,1,n){o[i]=query(a[i]);add(a[i]+1);}
}
int main()
{n=read();fr(i,1,n)b[i]=a[i]=read();sort(b+1,b+n+1);fr(i,1,n)ap[b[i]]=i;fr(i,1,n)a[i]=ap[a[i]];//就是恶心的离散化getans(f);//正求fr(i,1,n)b[i]=a[i];fr(i,1,n)a[i]=n-b[n-i+1]+1;//反转clear();getans(g);//反求fr(i,1,n)ans+=f[i]*g[n+1-i];printf("%lld\n",ans);return 0;
}

LuoguP1637 三元上升子序列相关推荐

  1. [luogu] P1637 三元上升子序列 树状数组

    前言 真简单,数据结构真简单!! 传送门 : 思路 计算一个 三元上升序列 我们可以枚举 中间节点 然后通过乘法原理 记录Left[]和Right[]Left[] 和 Right[]Left[]和Ri ...

  2. LIS.LCS.LCIS相关问题

    文章目录 P1020 [NOIP1999 普及组] 导弹拦截 P1439 [模板]最长公共子序列 P1637 三元上升子序列 272. 最长公共上升子序列 LCIS 273. 分级 Sequence ...

  3. Seq2Seq重复解码问题追根溯源

    本篇文章的顺序会有些奇怪,一般来说应该先分析为什么会出现解码中停不下来或者是重复解码的问题,然后提出解决这个问题的办法,但由于分析为什么这个过程涉及到的数学公式繁多,过程也很复杂,考虑到不是那么多同学 ...

  4. [线段树]打字练习2

    1.P1908 逆序对 动态开点线段树/离散化均可解决. 动态开点线段树维护桶,每次插值时统计值域上 [ v a l , m a x _ v a l ] [val, max\_val] [val,ma ...

  5. AAAI21 | Seq2Seq模型成为“复读机”的原因找到了?

    文 | 苏剑林 编 | Sheryc_王苏 单位 | 追一科技 去年笔者写过博文<如何应对Seq2Seq中的"根本停不下来"问题?>[1],里边介绍了一篇论文中对Seq ...

  6. LeetCode:递增的三元子序列【334】

    LeetCode:递增的三元子序列[334] 题目描述 给定一个未排序的数组,判断这个数组中是否存在长度为 3 的递增子序列. 数学表达式如下: 如果存在这样的 i, j, k,  且满足 0 ≤ i ...

  7. 334. 递增的三元子序列(中等 贪心 数组)

    334. 递增的三元子序列 给你一个整数数组 nums ,判断这个数组中是否存在长度为 3 的递增子序列. 如果存在这样的三元组下标 (i, j, k) 且满足 i < j < k ,使得 ...

  8. 数组题目:递增的三元子序列

    文章目录 题目 标题和出处 难度 题目描述 要求 示例 数据范围 进阶 解法 思路和算法 代码 复杂度分析 题目 标题和出处 标题:递增的三元子序列 出处:334. 递增的三元子序列 难度 6 级 题 ...

  9. leetcode-递增的三元子序列推广到递增的X元子序列

    题目: 给定一个未排序的数组,判断这个数组中是否存在长度为 3 的递增子序列. 数学表达式如下: 如果存在这样的 i, j, k, 且满足 0 ≤ i < j < k ≤ n-1, 使得 ...

最新文章

  1. 计算机导论excel,[计算机导论实验三Excel.doc
  2. 全球首个Magic Leap One体验:吓到你不敢进房间
  3. 百度地图3.1课程—检索演示
  4. Sql Server Management Studio 18 打开闪退问题
  5. SAP UI5里sap.m.shell的实现
  6. 程序无法启动ALL_BUILD 拒绝访问
  7. 用ajax写无限循环,ajax无限循环
  8. 让Android Studio支持系统签名(证书)
  9. Dubbo普普通通9问
  10. python自动填日志_Selenium3+python自动化012+日志logging基本用法、高级用法
  11. c++ string 无法通过下标访问_数组下标1你见过吗?
  12. 南昌大学c语言大作业,南昌大学计算机C语言答案2
  13. JavaScript中的流程控制
  14. 队列和通知区别_Java多线程学习(五)——等待通知机制
  15. php教程笔记复习1-ajax
  16. dedecms织梦 list列表页pagesize数量不对
  17. c语言对硬件编程,c语言直接对硬件操作可行吗?
  18. 注释//TODO的作用
  19. 企查查app sign算法破解(完结)
  20. 海德上位机软件学习总结(NetScada5.0)

热门文章

  1. Circular reasoning
  2. (亲测可行)charles抓包夜神模拟器保姆级教程
  3. Fiddler 抓包夜神模拟器图文详解
  4. 复杂网络实验9:vicsek模型(matlab)
  5. 精选(26)面试官:讲讲你对ThreadLocal的理解
  6. java 捕获异常打印详细错误信息:Exception e
  7. webpack基础配置
  8. 【操作系统】进程间的通信——管道
  9. 宝塔服务器面板漏洞-越权访问
  10. 转自博客园:http://www.cnblogs.com/txw1958/p/wechat-tutorial.html