当前位置: 首页 > ops >正文

NC 54585 DP + BIT

题意

传送门 NC 54585

题解

d p [ i ] [ j ] dp[i][j] dp[i][j] 代表以 a [ i ] a[i] a[i] 结尾长度为 j j j 的子序列,则有递推式
d p [ i ] [ j ] = ∑ i ′ < i 且 a [ i ′ ] < a [ i ] d p [ i ′ ] [ j − 1 ] dp[i][j] = \sum\limits_{i'<i 且 a[i']<a[i]}dp[i'][j-1] dp[i][j]=i<ia[i]<a[i]dp[i][j1] B I T [ k ] BIT[k] BIT[k] a [ i ] a[i] a[i] 为索引,维护长度为 k k k 的子序列的数量和。

#include <bits/stdc++.h>
using namespace std;
#define maxn 500005
#define maxk 12
typedef long long ll;
const int mod = 998244353;
int n, k, a[maxn], dp[maxk], bit[maxn][maxk];void compress(int *x, int n)
{vector<int> xs(n);for (int i = 0; i < n; i++){xs[i] = x[i];}sort(xs.begin(), xs.end());xs.erase(unique(xs.begin(), xs.end()), xs.end());for (int i = 0; i < n; i++){x[i] = 1 + lower_bound(xs.begin(), xs.end(), x[i]) - xs.begin();}
}void add(int i, int j, int x)
{while (i <= n){bit[i][j] = (bit[i][j] + x) % mod;i += i & -i;}
}int sum(int i, int j)
{int s = 0;while (i > 0){s = (s + bit[i][j]) % mod;i -= i & -i;}return s;
}int main()
{scanf("%d%d", &n, &k);for (int i = 0; i < n; i++){scanf("%d", a + i);}compress(a, n);int res = 0;for (int i = 0; i < n; i++){dp[1] = 1;for (int j = 2; j <= k; j++){dp[j] = sum(a[i] - 1, j - 1);}for (int j = 1; j < k; j++){add(a[i], j, dp[j]);}res = (res + dp[k]) % mod;}printf("%d\n", res);return 0;
}
http://www.xdnf.cn/news/11667.html

相关文章:

  • 破解隔壁wifi的实践——网络攻击,抓取握手包,解包
  • .net发送邮件失败的部分解决方法
  • 【网络管理工具】NETworkManager工具的基本使用教程
  • C#(asp.net)电商后台管理系统-计算机毕业设计源码70015
  • AI技术:分享8个非常实用的AI绘画网站
  • Oracle minus用法详解及应用实例
  • MT8377 MT8389 MT6589 MT6577解析
  • linux文件目录:/etc/profile文件
  • VB入门在线视频教程大全学习
  • 织梦采集侠破解版_最新dedecms织梦采集侠v2.6破解版
  • NAT、PAT的原理及配置
  • ANN(人工神经网络)基础知识
  • 数据库挖掘 概念 定义 什么是数据挖掘
  • 数字电路设计——断线报警器的仿真与实物制作
  • qq盗号的小插件 各位同胞注意别被骗了
  • android 3d壁纸源码,3D Wallpaper Parallax app下载-3D Wallpaper Parallax(3D视差壁纸)下载v1.3安卓版-西西软件下载...
  • 【pytorch】加载部分模型参数及冻结部分参数
  • 经典组合 | PTS + ARMS打造性能和应用诊断利器
  • Unix操作系统的前世今生
  • 盘点世界上最出名的十大黑客(每个都能改变历史的大神人物)
  • 社会工程学工具
  • 2023美赛F题讲解+数据领取
  • 电能表原理
  • 科普:黑客入侵网站究竟是怎么回事?
  • 搜狗浏览器,添加自定义搜索引擎~
  • 【java毕业设计】基于javaEE+原生Servlet+MySql的村镇旅游网站设计与实现(毕业论文+程序源码)——村镇旅游网站
  • MessageBox()简易对话框的用法
  • c216芯片组服务器,几无改变 9系芯片组架构及新功能_Intel主板_主板评测-中关村在线...
  • C语言手搓游戏之经典《推箱子》
  • 【面试重点系列】操作系统常见面试重点题(万字图解)