哇真难啊,没注意到 可以开 dp[N][3][3]这种性质,也就是三个相同的顺子可以变成三个刻子,所以我们维护顺子的数目就不用超过三了,又因为每张牌i,只会被i-1,i-2,影响,所以额外开两维记录(记录的信息在下面)就够了。

开始也想到了对子和顺子那题,,但是那题记得学长讲的是堆栈做法,,,这个一看就是dp,就感觉很卜。

哇雀魂白玩了!雀魂!卸载!

看的官方题解,还是挺好懂的。

意思就是 用 f[i][t1][t2] 表示到考虑到i这个位置, t1表示[i-1,i,i+1]的数量,t2表示[i,i+1,i+2]的数量,t3表示[i+1.i+2,i+3]的数量。

然后我们就可以 dp[i+1][t2][t3]=max(dp[i][t1][t2]+t3+ (num[i+1]-need)/3 );这样维护下去。

还有别的dp方法,我不会。

我老人家昨晚又表演了两个小时小品。。。感觉很搞笑哇。九点半起床读了读题。。

为什么大家都会E啊,我觉得好难啊。。。

 #include <bits/stdc++.h>
using namespace std;
const int N=1e6+;
int n,m,a,num[N];
int f[N][][];
bool check(int i,int t1,int t2,int t3){
return num[i+]>=t3&&num[i+]>=t2+t3&&num[i+]>=t1+t2+t3&&num[i]>=t1+t2&&num[i-]>=t1;
}
int main(){
ios::sync_with_stdio(false);
cin>>n>>m;
for(int i=;i<=n;i++){
cin>>a;
num[a]++;
}
int ans=;
for(int i=;i<=m;i++) {
for(int t1=;t1<;t1++){
for(int t2=;t2<;t2++){
for(int t3=;t3<;t3++){
if(check(i,t1,t2,t3))
f[i+][t2][t3]=max(f[i+][t2][t3],f[i][t1][t2]+t3+(num[i+]-t1-t2-t3)/);
}
}
}
}
cout<<f[m+][][]<<endl;
}

cf 1110 D的更多相关文章

  1. CF 1110 D/E

    CF 1110 D. Jongmah 题目大意:给你​\(n\)个瓷砖,每块瓷砖上有一个数字​\(a_i,(1\leq a_i\leq m)\).你可以将三个有连续数字​\((比如3,4,5)\)的瓷 ...

  2. CF 1110 E. Magic Stones

    E. Magic Stones 链接 题意: 给定两个数组,每次可以对一个数组选一个位置i($2 \leq i \leq n - 1$),让a[i]=a[i-1]+a[i+1]-a[i],或者b[i] ...

  3. CF 1110 D. Jongmah

    D. Jongmah 链接 题意: 一些数字,有两种方式组成一个三元组,[x,x,x],[x,x+1,x+2],每个数字只能用一次,求最多组成多少三元组. 分析: 因为每三个[x,x+1,x+2]是可 ...

  4. CF - 1110 C Meaningless Operations

    题目传送门 题解: 首先根据观察,很容易发的是: x != (1<<k) - 1 时候 答案就是, 将x二进制下再最高位后的0都变成1. 然后就是考虑 x == (1<<k) ...

  5. CodeForces Contest #1110: Global Round 1

    比赛传送门:CF #1110. 比赛记录:点我. 涨了挺多分,希望下次还能涨. [A]Parity 题意简述: 问 \(k\) 位 \(b\) 进制数 \(\overline{a_1a_2\cdots ...

  6. 做题记录 To 2019.2.13

    2019-01-18 4543: [POI2014]Hotel加强版:长链剖分+树形dp. 3653: 谈笑风生:dfs序+主席树. POJ 3678 Katu Puzzle:2-sat问题,给n个变 ...

  7. CF 553A 组合DP

    http://codeforces.com/problemset/problem/553/A A. Kyoya and Colored Balls time limit per test 2 seco ...

  8. ORA-00494: enqueue [CF] held for too long (more than 900 seconds) by 'inst 1, osid 5166'

    凌晨收到同事电话,反馈应用程序访问Oracle数据库时报错,当时现场现象确认: 1. 应用程序访问不了数据库,使用SQL Developer测试发现访问不了数据库.报ORA-12570 TNS:pac ...

  9. cf之路,1,Codeforces Round #345 (Div. 2)

     cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅.....   ...

随机推荐

  1. spring中的多线程aop方法拦截

    日常开发中,常用spring的aop机制来拦截方法,记点日志.执行结果.方法执行时间啥的,很是方便,比如下面这样:(以spring-boot项目为例) 一.先定义一个Aspect import org ...

  2. [CentOS7]安装tomcat并开启自启动

    安装jdk 1.CentOS 6.X 和 7.X 自带有OpenJDK runtime environment (openjdk).它是一个在linux上实现开源的Java 平台. yum searc ...

  3. Android:android studio快捷键大全

    一.常用快捷键 1.Ctrl+E,可以显示最近编辑的文件列表 2.Shift+Click可以关闭文件 3.Ctrl+[或]可以跳到大括号的开头结尾 4.Ctrl+Shift+Backspace可以跳转 ...

  4. [Functional Programming] Functional JS - Pointfree Logic Functions

    Learning notes. Video. Less than: If you use 'ramda', you maybe know 'lt, gt'.. R.lt(2, 1); //=> ...

  5. webstorm+nodejs+express配置

  6. 去哪儿数据VS美团数据

    介绍 之前在去哪儿做数据RD,今年来到美团做数据RD,碰巧都是门票方向(现在去哪儿叫度假,美团叫境内),下面都是基于这两个部门的对比 相同点 都有独立的数据团队,老大都重视数据,主要开发语言都是SQL ...

  7. VirtualBox虚拟机磁盘瘦身

    操作系统 : windows7_x64 VirtualBox 版本 : 4.3.28 原理: 使用0填充虚拟系统磁盘,然后删除填充文件,再使用VBoxManage进行压缩. Linux系统磁盘瘦身 一 ...

  8. sort is deprecated, use sort_values(inplace=True) for INPLACE sorting

    排序是过时的,用sort_values(到位=真)为就地排序

  9. iOS ReplayKit实时录制屏幕实现方案的细节记录

    项目有个需求,需要把ios设备上的操作画面实时传输出去,也就是类似推流手机直播画面的方案. 一番调研后发现在ios中,我们可以通过ios自带ReplayKit框架实现. 关于ReplayKit的讲解, ...

  10. Git diff结果显示分析

    1.diff的三种格式: 正常格式(normal diff) 上下文格式(context diff) 合并格式(unified diff) 2.示例文件为了便于讲解,先新建两个示例文件.第一个文件叫做 ...