弹钢琴
来源:互联网 发布:mac flash插件 下载 编辑:程序博客网 时间:2024/05/01 03:55
这是一道裸的求组合数的题目
一共有两种写法
一种是用dp递推组合数
公式为
复杂度为n*m
代码实现:
sort(A+1,A+n+1);dp[0][0]=1;long long ans=0;FOR(i,1,n) { FOR(j,1,m) { dp[i][j]+=dp[i-1][j-1]+dp[i-1][j]; if(dp[i][j]>=Mod)dp[i][j]-=Mod;} ans+=1LL*(dp[i][m]%Mod*A[i])%Mod; ans%=Mod;}printf("%lld\n",ans);
另外一种是用乘法逆元求组合数,由于在求组合数时边乘边模边除会出错,
是用乘法逆元可化除法为乘法,
公式为
由于
预处理的复杂度O(nlogn) 带快速幂
代码实现:
FOR(i,1,n)B[i]=fast(i,Mod-2);C[k-1]=1;FOR(i,k,n-1)C[i]=1LL*C[i-1]*i%Mod*B[i-k+1]%Mod;ll ans=0;sort(A+1,A+n+1); FOR(i,k,n){ ans+=1LL*C[i-1]*A[i]%Mod; ans%=Mod;}
ps:这里应该是选定第i个然后在i-1个物品中取k-1个
阅读全文
2 1
- 弹钢琴
- 弹钢琴
- 自己弹钢琴
- 要学会双手弹钢琴
- 弹钢琴flash游戏
- 大家进来弹钢琴啦!~
- C# 弹钢琴程序
- 弹钢琴的码农
- Android-简易版弹钢琴
- 有人说"编程就弹钢琴一样"
- 啊!geek:用6个iPhone弹钢琴
- C版弹钢琴程序进化版——Key下落效果
- 孙宇:机器人弹钢琴不算啥,能教它不“碎蛋”才是真炫酷
- Python: tkinter窗口屏幕居中,设置窗口最大,最小尺寸
- 带你玩scikit-learn之来点机器学习的感觉
- strtol函数
- 编写代码模拟手机与SIM卡的组合关系。
- 周计划 补完工程 第十一周 matlab练习
- 弹钢琴
- 换硬盘装系统(1)
- Android SQLiteOpenHelper Sqlite数据库升级onUpgrade
- 国内优秀的Android开发者博客整理
- 面向对象(①④-①⑤)
- 分析MTK leds驱动(引出 sysfs 的创建过程)
- 锁的浅述
- 【最大子矩阵和】10-8矩阵游戏
- 前端之路——jQuery第二课