大数 Buy the tickey玄学
http://acm.hdu.edu.cn/showproblem.php?pid=1133
乘法
int len;
int c[1000];
void multipul(int a[],int b[])//数是逆着记录的
{for(int i=0;i<len;i++){for(int j=0;j<len;j++){c[i+j]+=a[i]*b[j];}}for(int i=0;i<2*len;i++){c[i+1]+=c[i]/10;c[i]=c[i]%10;}
}
转自https://blog.csdn.net/u014355480/article/details/40432009
现在我们假设 拿50的人m用 ‘0’表示, 拿100的人n用 1 表示。
m>n
如果有这么一个序列 0101101001001111..........
当第K个位置出现1的个数多于0的个数时就是一个不合法序列了
(这个我想的太简单,自以为将1插进0就可以了,没有考虑这个条件)
也就是说任意一个不合法序列(m个0,n个1), 都可以由另外一个序列(n-1个0和m+1个1)得到
这不是显而易见的么,本来n个1都已经不合法了,(m个1合法?)m+1个1更加不合法了(m>n)
另外我们知道,一个序列要么是合法的,要么是不合法的
所以,合法序列数量 = 序列总数量 - 不合法序列的总量
假设在m+n个位置中序列是合法的,此时再选一个1就不合法了,无论这个1站在哪里,1的个数都要大于0了
序列总数 可以这样计算m+n 个位置中, 选择 n 个位置出来填上 1, 所以是 C(m+n, n)
为什么是n?因为m( 拿50的人)也要位置位置的好吧,最多只能选n个
不合法序列的数量就是: m+n 个位置中, 选择 m+1 个位置出来全部填上 1 所以是 C(m+n, m+1)
然后每个人都是不一样的,所以需要全排列 m! * n!
所以最后的公式就是(C(m+n, n)-C(m+n, m+1))*m!*n!
化简后为 (m+n)!*(m-n+1)/(m+1);
转载于:https://www.cnblogs.com/LandingGuy/p/9280244.html
大数 Buy the tickey玄学相关推荐
- HDOJ/HDU 1133 Buy the Ticket(数论~卡特兰数~大数~)
Problem Description The "Harry Potter and the Goblet of Fire" will be on show in the next ...
- leetcode 714. Best Time to Buy and Sell Stock with Transaction Fee | 714. 买卖股票的佳最时机含手续费(递归->傻缓存->dp)
题目 https://leetcode.com/problems/best-time-to-buy-and-sell-stock-with-transaction-fee/ 题解 经典的 暴力递归 - ...
- Dollar Dayz POJ - 3181(动态规划+大数高低位分离输出)
题意:就是给出二个数N,和k,有1~k种钱币,每种都 是无限个,用这些种类的钱币可以组合成总钱N有多少种方式. 解题:这就是一个完全背包,把N看成容量,钱币的类型值为 花费和价值.与记录有多少种路径的 ...
- 1800 Flying to the Mars 大数 最多不上升序列 简化题意
Flying to the Mars Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- Buy and Resell HDU - 6438(补)更新贪心
The Power Cube is used as a stash of Exotic Power. There are nn cities numbered 1,2,-,n1,2,-,n where ...
- c语言大数阶乘详细,大数阶乘(c语言)
大数阶乘.代码比较简单. #include #include #define MAXN 25000 // 如果你的阶乘N比较大,建议大一点 int result[MAXN]; int main() { ...
- Dollar Dayz-完全背包+大数处理
[题目] Farmer John goes to Dollar Days at The Cow Store and discovers an unlimited number of tools on ...
- 大数加法分析及C语言实现(加数可为负数)
大数加法(加数可为负数) ·分析: 大数加法有如下几种情况: 1.两数同号 (1)同正:如,s1=11,s2=22:s1=0,s2=0 (2)同负:如,s1=-11,s2=-22 2.两数异号 (1) ...
- 大数加法【HDU 1002】
大数加法模板 一般的加法只要int类型的两数直接相加即可,大一点的数可以设为long long类型,而超过长整型的数则属于大数问题了,大数加法其实也比较简单,利用数组实现就可以啦: 主要思想如下: ( ...
最新文章
- lucene集成IK实现中文分词检索
- Cocos2d-x之绘制线条
- 【控制】传递函数拉氏变化如何与时间域结合使用举例
- Session对象的清空
- html设置flash满屏,在网页中实现flash全屏的几种方法
- Array.forEach
- 地线与接地螺丝_快来看看新能源电动汽车充电时,地线的安装情况吧!
- ​百度网盘下线SVIP免第三方广告特权;小米回应手机异常发热;Windows 11新应用商店将于6月24日亮相|极客头条...
- 1091. Acute Stroke (30)-PAT甲级真题(广度优先搜索)
- 输入两个整数n和m,从数列1,2,3,……n中随意取几个数,使其和等于m 转载
- sklearn中xgboost模块的XGBClassifier函数
- mysql join与where_mysql中left join设置条件在on与where时的用法区别分析
- fgo服务器维护中,FGO维护更新公告 更新内容一览
- gre填空高频词汇整理
- Tesseract-OCR 4.0LSTM训练流程 (Windows环境下)
- 亚马逊aws 服务器删除_亚马逊aws服务器免费套餐及被扣款怎么办
- 我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。
- 整数n分解成素数乘积c语言,关于几种求素数的方法(C语言描述)
- python除法保留小数_python中的除法_python中除法_python 除法_python 除法保留小数
- 中国智能音箱争夺战,国外巨头缺席BAT各有心思
热门文章
- 【计算机网络笔记】物理层:概念传输媒体传输方式
- ijkplayer-hook协议实现分析
- react 动态添加组件属性_React的组件动态参数使用Underscore和Context来传递
- java easyui分页源码_SpringMVC+easyUI中datagrid分页实现_2014.5.1
- jmeter获得Response Headers,Response Body里的值
- idea2020版Maven依赖成功导入但仍然报错找不到包解决
- Codeforces Round #666 (Div. 2) A. Juggling Letters
- php和其他语言的区别,为什么说php是弱类型好学,跟其他语言的区别
- Struts2→MCV、环境搭建第一个样例、工作原理、核心文件、XML中常用元素、通配符、action后缀、action接收参数、result、标签
- java heap space 解决方法_内存溢出错误:java堆空间