原题传送门

神奇的题目。。

一开始我准备打暴力直接搜答案。

然后发现。。

无限TLE。。

因为O((logN)^14*T)BOOM。。

然后Zxyer告诉可以只DFS顺子。。。其他的可以一步搞出来。。

然后就0ms了!

Orz zxyer

下面贴代码

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define inf 0x7fffffff
using namespace std;
int pai[];
int s[];
int ans=inf,n,t,x;
int cal(){
s[]=s[]=s[]=s[]=;
int ans1=;
for (register int i=;i<=;i++)s[pai[i]]++;
if(pai[]&&pai[])ans1++,s[]-=;
while(s[]&&s[]>)ans1++,s[]--,s[]-=;
while(s[]&&s[]>)ans1++,s[]--,s[]-=;
while(s[]&&s[])ans1++,s[]--,s[]--;
while(s[]&&s[])ans1++,s[]--,s[]--;
return ans1+s[]+s[]+s[]+s[];
}
void dfs(int q){
if(q>=ans)return;
ans=min(ans,q+cal());
register int j;
for(register int i=;i<=;i++)
{
j=i;
while((j<)&&(pai[j]>=)){pai[j++]-=;
if(j-i>)dfs(q+);}
while(j-i)pai[--j]+=;
}
for(register int i=;i<=;i++)
{
j=i;
while((j<)&&(pai[j]>=)){pai[j++]-=;
if(j-i>)dfs(q+);
}
while(j-i)pai[--j]+=;
}
for(register int i=;i<=;i++)
{
j=i;
while((j<)&&(pai[j])){--pai[j++];
if(j-i>)dfs(q+);}
while(j-i)++pai[--j];
}
}
int getnum(int q){
int y;
scanf("%d",&y);
if(!x)return y+;
if(x<)return x+;
return x-;
}
int main(){
scanf("%d",&t);scanf("%d",&n);
for(int i=;i<=t;i++)
{
memset(pai,,sizeof(pai));
ans=inf;
for(int i=;i<=n;i++)
{
scanf("%d",&x);
pai[getnum(x)]++;
}
dfs();
printf("%d\n",ans);
}
return ;
}

斗地主(NOIP2015)的更多相关文章

  1. 斗地主 (NOIP2015 Day1 T3)

    斗地主 张牌,因为它可以连在K后, 总体思路为 先出炸弹和四带二 再出三带一 再把对牌和单牌出完 记录并更新Answer,后枚举顺子,并继续向下搜索. 注意:弄明白题意,题目描述不太清楚....另外, ...

  2. 斗地主[NOIP2015]

    题目描述 牛牛最近迷上了一种叫斗地主的扑克游戏.斗地主是一种使用黑桃.红心.梅花.方片的A到K加上大小王的共54张牌来进行的扑克牌游戏.在斗地主中,牌的大小关系根据牌的数码表示如下:3<4< ...

  3. 洛谷P2668 斗地主 [NOIP2015]

    题目描述 牛牛最近迷上了一种叫斗地主的扑克游戏.斗地主是一种使用黑桃.红心.梅花.方片的A到K加上大小王的共54张牌来进行的扑克牌游戏.在斗地主中,牌的大小关系根据牌的数码表示如下:3<4< ...

  4. NOIP2015斗地主[DFS 贪心]

    题目描述 牛牛最近迷上了一种叫斗地主的扑克游戏.斗地主是一种使用黑桃.红心.梅花.方片的A到K加上大小王的共54张牌来进行的扑克牌游戏.在斗地主中,牌的大小关系根据牌的数码表示如下:3<4< ...

  5. BZOJ 4325: NOIP2015 斗地主

    4325: NOIP2015 斗地主 Time Limit: 30 Sec  Memory Limit: 1024 MBSubmit: 684  Solved: 456[Submit][Status] ...

  6. NOIP2015 斗地主(搜索+剪枝)

    4325: NOIP2015 斗地主 Time Limit: 30 Sec  Memory Limit: 1024 MBSubmit: 270  Solved: 192[Submit][Status] ...

  7. [补档][NOIP2015] 斗地主

    [NOIP2015] 斗地主 题目 传送门:http://cogs.pro/cogs/problem/problem.php?pid=2106 INPUT 第一行包含用空格隔开的2个正整数Tn,表示手 ...

  8. LOJ2422 NOIP2015 斗地主 【搜索+贪心】*

    LOJ2422 NOIP2015 斗地主 LINK 题目大意很简单,就是问你斗地主的一分手牌最少多少次出完 然后我们发现对于一种手牌状态,不考虑顺子的情况是可以贪心做掉的 然后我们直接枚举一下顺子出牌 ...

  9. 【BZOJ4325】NOIP2015 斗地主 搜索+剪枝

    [BZOJ4325]NOIP2015 斗地主 Description 牛牛最近迷上了一种叫斗地主的扑克游戏.斗地主是一种使用黑桃.红心.梅花.方片的A到K加上大小王的共54张牌来进行的扑克牌游戏.在斗 ...

  10. 2106. [NOIP2015] 斗地主

        2106. [NOIP2015] 斗地主 ★★★☆   输入文件:landlords.in   输出文件:landlords.out   简单对比 时间限制:2 s   内存限制:1025 M ...

随机推荐

  1. C# 设定弹出窗体位置

    一.C#中弹出窗口位置 加入命名空间 using System.Drawing using System.Windows.Forms 假定窗口名为form1,则 //窗体位置在屏幕中间 form1.S ...

  2. 1、spring boot入门

    1.Spring Boot 简介 简化Spring应用开发的一个框架: 整个Spring技术栈的一个大整合: J2EE开发的一站式解决方案: 2.微服务 2014,martin fowler 微服务: ...

  3. Aizu:0009- Prime Number

    Prime Number Time limit 1000 ms Memory limit 131072 kB Problem Description Write a program which rea ...

  4. WRITE命令 書式設定オプション

    書式設定オプション WRITE 命令では.さまざまな書式設定オプションが使用することができます. 構文 WRITE ....f option. 全データ型の書式設定オプション オプション 機能 LEF ...

  5. 如何对比两个Jar包

    如果对比两个jar包呢?jar 都是class 文件,我对比jar,就是想知道,它增加了删除了哪些方法.增加了哪些类,删除了哪些类. 有很多方法,你可以,反编译,然后通过beyongCompair 去 ...

  6. 这是我见过最厉害的--智能代码生成器、html+js+底层+sql全都有、瓦特平台

    1:直接上图.图片有点多.我就没全部上传了. (demo.使用方法.数据库bak)下载:http://pan.baidu.com/s/1ntE5bDn 起源: 之前有好多人问我代码生成器的源码.我发了 ...

  7. 《数据结构与算法分析:C语言描述》复习——第四章“树”——二叉树

    2014.06.14 22:49 简介: 二叉树是学习树结构时接触的第一个概念,其他衍生的表示形式包括N叉树(随便多少叉).二叉链表(土话也叫左孩子右兄弟).由于单纯的二叉树是无序的,能做的事情不太多 ...

  8. 《Cracking the Coding Interview》——第8章:面向对象设计——题目1

    2014-04-23 17:32 题目:请设计一个数据结构来模拟一副牌,你要如何用这副牌玩21点呢? 解法:说实话,扑克牌的花样在于各种花色.顺子.连对.三带一.炸弹等等,如果能设计一个数据结构,让判 ...

  9. 【Random Forest】林轩田机器学习技法

    总体来说,林对于random forest的讲解主要是算法概况上的:某种程度上说,更注重insights. 林分别列举了Bagging和Decision Tree的各自特点: Random Fores ...

  10. 【 Logistic Regression 】林轩田机器学习基石

    这里提出Logistic Regression的角度是Soft Binary Classification.输出限定在0~1之间,用于表示可能发生positive的概率. 具体的做法是在Linear ...