UOJ 151 斗地主“加强”版】的更多相关文章

#151. [NOIP2015]斗地主“加强”版 统计 描述 提交 自定义测试 本题开放Hack 牛牛最近迷上了一种叫斗地主的扑克游戏.斗地主是一种使用黑桃.红心.梅花.方片的A到K加上大小王的共54张牌来进行的扑克牌游戏.在斗地主中,牌的大小关 系根据牌的数码表示如下:3<4<5<6<7<8<9<10<J<Q<K<A<2<小王<大王3<4<5<6<7<8<9<10<J<…
Luogu 2540 斗地主增强版(搜索,动态规划) Description 牛牛最近迷上了一种叫斗地主的扑克游戏.斗地主是一种使用黑桃.红心.梅花.方片的A到K加上大小王的共54张牌来进行的扑克牌游戏.在斗地主中,牌的大小关系根据牌的数码表示如下:3<4<5<6<7<8<9<10<J<Q<K<A<2<小王<大王,而花色并不对牌的大小产生影响.每一局游戏中,一副手牌由n张牌组成.游戏者每次可以根据规定的牌型进行出牌,首先打…
P2540斗地主增强版 参考大佬题解 思路:顺子暴力搜,剩下的牌我不会贪心所以用记忆化搜索(或者dp): 注意:双王不能当对,二不算顺子 代码 #include <cstdio> #include <iostream> #include <cstring> #include <cctype> #include <algorithm> using namespace std; #define res register int #define inf…
[分析] 暴力搜顺子,贪心出散牌 为什么顺子要暴力? 玩过斗地主的都知道,并不是出越长的顺子越好,如果你有一组手牌,3,4,5,6,7,6,7,8,9,10,你一下把最长的出了去,你会单两张牌,不如出两个顺子,所以顺子要暴力. 贪心打散牌 这是核心所在,也是不超时的原因. 可以先统计一下不同牌个数的组数,然后再出牌, 那如何打出最优解? 首先一定要先出四带二,再出三带一,这是很容易想到的,因为四带可以带走两张. 这样写正的行了吗? 当然不行,原题的随机数额可以过,增强版的必须考虑拆牌,而且还要考…
增强版就是原版中两鬼不算对子的版本. 先爆搜出完所有对子,剩下的牌DP处理. 考虑每个数码的拆牌情况,最多可能被拆成5种情况:1+1+1+1,1+1+2,1+3,2+2,4.故DP状态数最多为5^13≍12e8,事实上远远不满. 而爆搜部分看上去就跑的挺快,具体复杂度玄学. 几个降低代码复杂度的方法和注意点: 1.双王不算对,2不算顺子. 2.1当14处理,2和双王单独处理. 3.对于DP状态,先拆牌后打出. 4.炸弹当三带一打. 5.DP用记忆化搜索实现,递归边界:既没有3也没有4,这样转移就…
题目大意 给你一副手牌,没有飞机带翅膀,按斗地主的规则,求将所有牌打出的最少次数. 题解 先不考虑顺子 我们已经知道花色对牌没有影响,那么如果不考虑顺子,每个牌具体是什么数字我们也用不着知道,我们关心的只有牌堆中单张.对子.棒子.炸弹.王的个数.因此我们可以用$f(k_1,k_2,k_3,k_4,k_x)$表示当有$k_1$个单张,$k_2$个对子,$k_3$个棒,$k_4$个炸弹,$k_x$个王时,将牌全部打出的最少次数.而显然这是可以进行DP的.转移方式为:要么不拆牌而出牌,要么拆牌. 递推…
单纯的暴搜似乎还是很好写的,然而过不了.出完顺子之后答案是可以dp出来的,于是大力搜然后大力dp就好了. dp时强行讨论完了几乎所有拆牌情况,理性愉悦一发. #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> #include<cstring> #include<algorithm> using namespace std; int read()…
恶心送命模拟题 暴搜顺子,DP预处理剩下的. 由于官方数据太水,很多情况没有讨论的都能过普通版本,想要测试自己代码正确性的同学们可以交交这道题,有很多dalao给出了hack数据 : Luogu P2540 斗地主 增强版 传送门 具体细节见代码注释 AC code: #include <bits/stdc++.h> using namespace std; const int MAXN = 25; int n, cnt[15], p[5], Ans, dp[6][8][12][24]; //…
NOIP以前可能会持续更新 写在前面 NOIP好像马上就要到了,感觉在校内训练里面经常被虐有一种要滚粗的感觉(雾.不管是普及组还是提高组,我都参加了好几年了,结果一个省一都没有,今年如果还没有的话感觉就真的要滚大粗退役回去念书了QAQ.于是有了压力就来刷(水水水)题.感觉校内OJ的题库还挺多的就开始做校内OJ的题.(本校的其他神犇都在其他各种OJ上屠丧题我感觉好虚啊!)于是把这几年NOIP的原题拿出来做了下. (我蛮立个flag:如果NOIP过了就买BZOJ权限号...) 历年NOIP提高组一句…
第一天 基础算法&&数学 day1难度测试 如果要用一个词来形容上午的测试,那真是体无完肤.  成绩: 题目 成绩 评价 T1 50 一般 T2 10 大失所望 T3 0 差 基础算法 递推 :指通过观察.归纳,发现较大规模问题和较小规模问题之间的关系,用一些数学公式表达出来,在一些教材中,也称为计数DP.递推的模型最主要有:斐波那契数列,卡特兰数,bell数,错排等等. 递归 :所谓递归,是指函数"自己调用自己"的一种编程方法,在解决一个问题时,如果发现问题能拆解为一…