题目:https://codeforces.com/gym/101982/attachments

Contest Setting

dp

这个题目网上说是dp+离散化
这个题目要对这些数字先处理然后进行dp,
这个处理值得学习一下,就是把数字范围为1~1e9,转化成一个顺序列表,这个顺序列表每一个不同的位置含有不同的难度,
dp[i][j]代表前面i种选出j种的方案数。

#include <cstdio>
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <queue>
#define inf 0x3f3f3f3f
using namespace std;
typedef long long ll;
const int mod = 998244353;
const int maxn = 1010;
int a[maxn], b[maxn], c[maxn];
ll dp[maxn][maxn]; int main()
{
int n, k;
cin >> n >> k;
for (int i = 1; i <= n; i++)
{
scanf("%d", &a[i]);
b[i] = a[i];
}
memset(dp, 0, sizeof(dp));
memset(c, 0, sizeof(c));
sort(a + 1, a + 1 + n);
int m = unique(a + 1, a + 1 + n) - (a + 1);
for(int i=1;i<=n;i++)
{
b[i] = lower_bound(a + 1, a + 1 + m, b[i]) - a;
c[b[i]]++;
}
for (int i = 0; i <= m; i++) dp[i][0] = 1; for(int i=1;i<=m;i++)
{
for(int j=1;j<=k;j++)
{
dp[i][j] = ((dp[i - 1][j - 1] * c[i]) % mod + dp[i - 1][j]) % mod;
}
}
printf("%lld\n", dp[m][k]);
return 0;
}

  

Contest Setting 2018 ICPC Pacific Northwest Regional Contest dp的更多相关文章

  1. 2018 ICPC Pacific Northwest Regional Contest I-Inversions 题解

    题目链接: 2018 ICPC Pacific Northwest Regional Contest - I-Inversions 题意 给出一个长度为\(n\)的序列,其中的数字介于0-k之间,为0 ...

  2. 2018-2019 ACM-ICPC Pacific Northwest Regional Contest (Div. 1)

    2018-2019 ACM-ICPC Pacific Northwest Regional Contest (Div. 1) 思路: A Exam 思路:水题 代码: #include<bits ...

  3. 2018-2019 ACM-ICPC Pacific Northwest Regional Contest C Contest Setting(DP)

    比赛链接:Contest Setting C题 题意:$n$道题目,每道题目难度为$ai$,选择$k$道难度不同的题目,有多少种选择方案.$1<=k<=n<=1000,1<=a ...

  4. 2018-2019 ACM-ICPC Pacific Northwest Regional Contest (Div. 1) Solution

    A:Exam Solved. 温暖的签. #include<bits/stdc++.h> using namespace std; ; int k; char str1[maxn], st ...

  5. 2016-2017 ACM-ICPC Pacific Northwest Regional Contest (Div. 1) Solution

    A:Alphabet Solved. 签. #include<bits/stdc++.h> using namespace std; ]; ]; int main(){ scanf(); ...

  6. 2015-2016 ACM-ICPC Pacific Northwest Regional Contest (Div. 2) S Surf

    SurfNow that you've come to Florida and taken up surng, you love it! Of course, you've realized that ...

  7. 2016-2017 ACM-ICPC Pacific Northwest Regional Contest (Div. 2) 题解

    [题目链接] A - Alphabet 最长公共子序列.保留最长公共子序列,剩余的删除或者补足即可. #include <bits/stdc++.h> using namespace st ...

  8. 2020.5.4-ICPC Pacific Northwest Regional Contest 2019

    A. Radio Prize All boring tree-shaped lands are alike, while all exciting tree-shaped lands are exci ...

  9. [CFgym]2015-2016 ACM-ICPC Pacific Northwest Regional Contest小结

    *感谢两位浙江大佬带我飞 贴下成绩 div2 div1 *div2不是我打的上个厕所就5/11了 比赛小结 A [题目大意] 有n(n<=500)个机场,两两之间距离是g[i][j],每经停一个 ...

随机推荐

  1. Easyui input 取值跟赋值

    var val = $("#id").textbox('getValue')  //取值 $("#id").textbox('setValue','text') ...

  2. 从零开始学安全(八)●Ubuntu 16 LAMP环境搭建

    1.Apache2 web 服务器的安装 : 可以先更新一下服务器 sudo apt-get update # 获取最新资源包sudo apt-get upgrade # 本机软件全部更新sudo a ...

  3. ES5、ES2015、ECMAScript6(转载)

    阮一峰博客系列: http://es6.ruanyifeng.com/#README

  4. Asp.net 获取访问者IP

    using System.Web; namespace Wxlhjcyy.Public { public class GetIp { public static string IPAddress { ...

  5. mybatis_11关联查询_多对多

    一对一:模型里面有模型 一对多:模型里面有集合 多对多:集合里面有集合   映射思路 pojo类设计思路 v  将用户信息映射到user中. v  在user类中添加订单列表属性List<Ord ...

  6. springMVC_08文件上传

    一.步骤总结 导入jar包 配置web.xml 在src目录下创建配置文件mvc.xml 创建前段页面fileupload.jsp 创建controller类HelloController 配置mvc ...

  7. 使用Mybatis Generator插件自动生成映射文件(cmd无法进入文件,dns服务器对区域没有权威等问题)遇到问题

           使用Mybatis Genertor插件自动生MyBatis所需要的DAO接口,实体模型类,Mapping映射文件,将生成的代码赋值到项目工程中即可.     有命令行,Eclipse插 ...

  8. Java中net.sf.json包关于JSON与对象互转的坑

    在Web开发过程中离不开数据的交互,这就需要规定交互数据的相关格式,以便数据在客户端与服务器之间进行传递.数据的格式通常有2种:1.xml:2.JSON.通常来说都是使用JSON来传递数据.本文正是介 ...

  9. php对二维数据排序

    对于一维数组排序比较简单,像使用sort(),asort(),arsort()等函数进行排序,但是对于二维数组比较麻烦,所有借鉴网上的总结了一下 // 对二维数组进行指定key排序 $arr 二维数组 ...

  10. git 入门教程之版本控制

    版本控制 我们知道 git 是分布式版本控制系统,所以称被控制对象是版本本身没错,但是从git 命令中发现,并没有版本这个名词,有的只是commit,所以前几节我一直称其为提交. 为了避免后续教程引发 ...