传送门

题意:你有n个数字,范围[1, m],你可以选择其中的三个数字构成一个三元组,但是这三个数字必须是连续的或者相同的,每个数字只能用一次,问这n个数字最多构成多少个三元组?

题解:三个一模一样的顺子等于三个对子(三张)

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<sstream>
#include<cmath>
#include<stack>
#include<map>
#include<cstdlib>
#include<vector>
#include<string>
#include<queue>
using namespace std; #define ll long long
#define llu unsigned long long
#define INF 0x3f3f3f3f
const double PI = acos(-1.0);
const int maxn = 1e6+;
const int mod = 1e9+; int a[maxn],cnt[maxn];
int dp[maxn][][]; //dp[j][j][k]表示数字1-i,有j个(i-1,i,i+1),有k个(i,i+1,i+2)
int main()
{
int n,m;
scanf("%d %d",&n,&m);
for(int i=;i<=n;i++) {
scanf("%d", &a[i]);
cnt[a[i]]++;
}
memset(dp,-INF,sizeof dp);
dp[][][] = ;
for(int i=;i<=m+;i++){
for(int j=;j<;j++){
for(int k=;k<;k++){
if(dp[i][j][k] < )
continue;
int now = cnt[i+]-j-k; //前面有j个(i-1,i,i+1)和k个(i,i+1,i+2),现在有cnt[i+1]个i+1,可以形成cnt[i+1]-j-k个新的三元组
for(int t=;t< && t<=now;t++){
dp[i+][k][t] = max(dp[i+][k][t],dp[i][j][k] + (now - t) / + t);
}
}
}
}
printf("%d\n",dp[m+][][]); }

Jongmah CodeForces - 1110D的更多相关文章

  1. Codeforces 1110D Jongmah [DP]

    洛谷 Codeforces 我-我我把这-这这题切了??? 说实话这题的确不难,只是我看到有大佬没做出来有点慌-- 突然发现这题是我在洛谷的第500个AC呢.那就更要写篇题解纪念一下了. 思路 容易想 ...

  2. 【Codeforces 1110D】Jongmah

    Codeforces 1110 D 题意:给\(n\)个麻将,每个麻将上有一个\(1..m\)的整数\(a_i\). 现在要将这些麻将们分成一个一个三元组,有两种情况: \([i-1,i,i+1]\) ...

  3. 【Codeforces 1110D】Jongmah FST分析

    Codeforces 1110 D FST分析 dotorya.FizzyDavid.MofK.gamegame.matthew99.chokudai.eddy1021.DBradac.Happy_N ...

  4. Codeforces 1110D. Jongmah 动态规划

    原文链接https://www.cnblogs.com/zhouzhendong/p/CF1110D.html 题意 给定 n 个数,每一个数都是在 [1,m] 里的整数. 从中取出形如 {x,x,x ...

  5. Codeforces 1110D Jongmah (DP)

    题意:你有n个数字,范围[1, m],你可以选择其中的三个数字构成一个三元组,但是这三个数字必须是连续的或者相同的,每个数字只能用一次,问这n个数字最多构成多少个三元组? 解析:首先我们容易发现,我们 ...

  6. [线性DP][codeforces-1110D.Jongmah]一道花里胡哨的DP题

    题目来源: Codeforces - 1110D 题意:你有n张牌(1,2,3,...,m)你要尽可能多的打出[x,x+1,x+2] 或者[x,x,x]的牌型,问最多能打出多少种牌 思路: 1.三组[ ...

  7. Codeforces Global Round 1 - D. Jongmah(动态规划)

    Problem   Codeforces Global Round 1 - D. Jongmah Time Limit: 3000 mSec Problem Description Input Out ...

  8. CodeForces Global Round 1

    CodeForces Global Round 1 CF新的比赛呢(虽然没啥区别)!这种报名的人多的比赛涨分是真的快.... 所以就写下题解吧. A. Parity 太简单了,随便模拟一下就完了. B ...

  9. Codeforces Global Round 1 (A-E题解)

    Codeforces Global Round 1 题目链接:https://codeforces.com/contest/1110 A. Parity 题意: 给出{ak},b,k,判断a1*b^( ...

随机推荐

  1. jQuery的定时执行和延迟执行

    jQuery的定时执行和延迟执行 //延迟执行 setTimeout(function(){ console.log("实战授课,100%就业"); },600); //定时执行 ...

  2. Python高级数据类型

    除了python中默认提供的几种基本数据类型 collections模块还提供了几种特别好用的类型! 1.Conters //计数器 2.Orderdict // 有序字典 3.defalutdict ...

  3. eclipse 构建从 SVN 上下载的可识别的 maven 项目

    从 SVN 上下载的 maven 项目中含有父项目,属于 maven 的嵌套,每个子项目和父项目虽有 pom.xml 文件,在结构上也是 maven 然而并不是 eclipse 识别的 maven 项 ...

  4. html table 的属性

    表格table th,td 文字顶部对齐 <th valign="top"></th> <td valign="top">& ...

  5. jQ中css()和addClass的区别之优先级

    笔者在实现点击表格中某行添加高亮的效果时,发现一个css()和addClassd()的冲突,具体代码如下: <style> .se { background:#FF6500; color: ...

  6. 心得整理之一--RDLC多数据源多表

    我将项目中的一部分提炼出来,写了这个Demo. 先说一下需求, 从 API接口, 获取数据源, 调用RDLC 生成PDF文件. (后面还有涉及到使用福昕PDf阅读器进行设置文件自定义内容,以供外部程序 ...

  7. GitHub教程(三) 本地仓库托管到GitHub

    本文开头先特别声明一下:由于GitHub教程属于Git系列教程的GitHub子篇章,因此GitHub教程中将不再详细介绍Git操作命令及其用法,我会根据实际需要穿插着回顾Git操作命令.如果读者需要学 ...

  8. tnagios - query handler

    启动日志 [root@bjyh-48-86 nagios]# cat nagios.log [1433471109] Nagios 4.1.0rc1 starting... (PID=5136) [1 ...

  9. ERP和C4C中的function location

    SAP ERP里的Functional Locations,下载到SAP Cloud for Customer后成为类型为'Functional Location'的Installation Poin ...

  10. 2018.7.27 Json与Java相互转换

    Json.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" page ...