题解 P6454 麻将 加强版】的更多相关文章

题目传送门 题目大意 不想写了,直接看题面吧. 思路 被这个题搞自闭了,因为读错题目想一个非常恶心的东西想了一场考试,然后就删代码,然后就被骂了.哎. 需要注意的是:我们只能选一次雀头 于是,不难看出一个 \(\Theta(n^3)\) 的做法,可以枚举听哪张牌,选哪个雀头,然后我们判断的时候显然我们应该多选刻子,选不下去的时候就从后面的值选出连子,实际操作中直接减就行了.也可以看出来,从后往前贪心也是可以的. 来看 \(\Theta(n^2)\) 做法.不难发现每次听牌的时候贪心前面一部分都是…
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1158 1158 全是1的最大子矩阵  基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题  收藏  关注 给出1个M*N的矩阵M1,里面的元素只有0或1,找出M1的一个子矩阵M2,M2中的元素只有1,并且M2的面积是最大的.输出M2的面积.   Input 第1行:2个数m,n中间用空格分隔(2 <= m,n <= 500)…
题目链接:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1529 题解: 一个加强版的最大连续和子序列,序列可以从末尾元素转到首元素. 分两种情况: 1.最大连续和不需要尾接首,直接dp出以a[i]为结尾的最大连续和ma[i]. 2.最大连续和需要尾接首,先dp出以a[i]为结尾的最小连续和mi[i],然后再用总和sum减去mi[i],得到的即为减去中间部分的尾接首序列和(逆向思维).最后再用max()取最大值. 代码如下: #includ…
[原题] 1860: [Zjoi2006]Mahjong麻将 Time Limit: 1 Sec  Memory Limit: 64 MB Submit: 211  Solved: 122 [Submit][Status] Description Input 第一行一个整数N(N<=100),表示玩了N次超级麻将. 接下来N行.每行100个数a1..a100,描写叙述每次玩牌手中各种牌的数量.ai表示数字为i的牌有ai张.(0<=ai<=100) Output 输出N行,若胡了则输出Ye…
[题解]P3796 [模板]AC自动机(加强版) 记录当前\(cnt\)是第几个"星".记录第几个串是对应着第几个星. 这里补充一点对于\(AC\)自动机的理解.可能一直有个问题我没有想明白,就是打标记的点只有一个,然而匹配时,假若一个分支包括了另一个不同的分支该怎么办.实际上,我们可以在匹配的时候使用\(fail\)数组进行类似链式前向星的遍历,从而遍历到那个打标记的地方.那么问题来了,怎么保证链式前向星会遍历到那个打了标记的节点呢?答案就在\(gen\_fail\)的玄机里.\(g…
题解[LuoguP6222]「P6156简单题」加强版 加强版很好地体现了这个题的真正价值.(当然是指卡常 本题解给出了本题更详尽的推倒导和思考过程,思路与 CYJian 的类似,具体式子的个别地方换用了更易于理解的式子,可以看作是给数论新手的对莫反套路和欧拉筛套路的补充解释和技巧指导. Problem 最多 \(10^4\) 组询问,每次询问给定 \(n\) ,求 \[\begin{aligned} \sum_{i=1}^n\sum_{j=1}^n(i+j)^K\gcd(i,j)\mu^2(\…
题面 乔治有一些同样长的小木棍,他把这些木棍随意砍成几段,直到每段的长都不超过50. 现在,他想把小木棍拼接成原来的样子,但是却忘记了自己开始时有多少根木棍和它们的长度. 给出每段小木棍的长度,编程帮他找出原始木棍的最小可能长度. 题意 有n段同样长的木棍,现在将这n段木棍随意分段(保证每段长度不超过50).乔治比较闲,又想把它拼回原始木棍,但是又比较智障,忘了原来有多少根,长度是多少. 给出每段的长度,求出木棍最小可能长度.(使n尽量大,又要保证每段都拼上) 题解 题目看上去很简单,也很好想到…
题目传送门 说是加强版,其实可以把棋盘那道题的代码粘过来(注意要开long long): #include<bits/stdc++.h> using namespace std; ,c; int main(){ cin>>n>>m; ;i<(n>m?m:n);++i) z+=(n-i)*(m-i); c=(+n)*(+m)*n*m/-z; cout<<z<<" "<<c<<endl; ; }…
原题传送门 希望这题不会让你对麻将的热爱消失殆尽 我们珂以统计每种牌出现的次数,不需要统计是第几张牌 判一副牌能不能和,类似这道题 对于这题: 设\(f[i][j][k][0/1]\)表示前\(i\)种牌,顺子\((i-1,i,i+1)\)出现了\(j\)次,顺子\((i,i+1,i+2)\)出现了\(k\)次,有/没有雀头的最多面子数.转移比较简单 我们珂以发现\(j\)这维不太重要,强制dp值不超过\(4\)(超过\(4\)也没有用),雀头数不超过\(7\)(类似),爆搜珂以搜出本质不同的状…
题目描述: N个点M条边的无向图,询问保留图中编号在[l,r]的边的时候图中的联通块个数. 输入格式: 第一行四个整数N.M.K.type,代表点数.边数.询问数以及询问是否加密. 接下来M行,代表图中的每条边. 接下来K行,每行两个整数L.R代表一组询问.对于type=0的测试点,读入的L和R即为询问的L.R:对于type=1的测试点,每组询问的L.R应为L xor lastans和R xor lastans. 输出格式: K行每行一个整数代表该组询问的联通块个数. 题解: 连通问题首先考虑L…