https://blog.csdn.net/ez_yww/article/details/77221338

讲的很好不做解释,具体看代码

// luogu-judger-enable-o2
//dp[i][j]在前i个数选j个数的价值和
#include<algorithm>
#include<iostream>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<cmath>
#include<queue>
#define ll long long
#define dul(p) (((p)%MOD+MOD)%MOD)
using namespace std;
const int maxn=1000000+10101;
inline int read(){int x=0,f=1;char ch=getchar();for(;!isdigit(ch);ch=getchar())if(ch=='-')f=-1;for(;isdigit(ch);ch=getchar())x=(x<<3)+(x<<1)+ch-'0';return x*f;
}
ll MOD,A,n,dp[1001][1001],x[maxn],y[maxn];
ll power(ll x,ll y){ll ans=1;while(y){if(y&1)ans=(ans*x)%MOD;x=(x*x)%MOD;y>>=1;}return (ans%MOD+MOD)%MOD;
}
void lar(ll limit){ll ans=0;for(int i=0;i<=limit;i++){ll a1=1,b1=1;for(int j=0;j<=limit;j++){if(i==j)continue;a1=a1*(A-x[j])%MOD;b1=b1*(x[i]-x[j])%MOD;}ans=dul(ans+dul(y[i]*a1%MOD*power(b1,MOD-2)));}printf("%lld",(ans%MOD+MOD)%MOD);return ;
}
int main(){A=read();n=read();MOD=read();dp[0][0]=1;for(int i=1;i<=(n<<1);i++){dp[i][0]=1;for(int j=1;j<=i;j++)dp[i][j]=(dp[i-1][j-1]*i%MOD*j%MOD+dp[i-1][j])%MOD;    }if((n<<1)>=A){printf("%lld",(dp[A][n]%MOD+MOD)%MOD);return 0;}for(int i=0;i<=(n<<1);i++)x[i]=i,y[i]=dp[i][n];lar(n<<1);return 0;
}

转载于:https://www.cnblogs.com/wzq--boke/p/10061514.html

bzoj2655 calc相关推荐

  1. BZOJ2655 calc(动态规划+拉格朗日插值法)

    考虑暴力dp:f[i][j]表示i个数值域1~j时的答案.考虑使其值域++,则有f[i][j]=f[i][j-1]+f[i-1][j-1]*i*j,边界f[i][i]=i!*i!. 注意到值域很大,考 ...

  2. [BZOJ2655] calc

    题目链接 BZOJ:https://www.lydsy.com/JudgeOnline/problem.php?id=2655 Solution 设\(f_i\)表示长度为\(i\)的序列个数,\(g ...

  3. bzoj千题计划269:bzoj2655: calc (拉格朗日插值)

    http://www.lydsy.com/JudgeOnline/problem.php?id=2655 f[i][j] 表示[1,i]里选严格递增的j个数,序列值之和 那么ans=f[A][n] * ...

  4. PKUSC2018训练日程(4.18~5.30)

    (总计:共66题) 4.18~4.25:19题 4.26~5.2:17题 5.3~5.9: 6题 5.10~5.16: 6题 5.17~5.23: 9题 5.24~5.30: 9题 4.18 [BZO ...

  5. 拉格朗日插值法及应用

    拉格朗日插值法 一般方法 重心拉格朗日插值法 应用 bzoj4559:成绩比较 bzoj2655: calc bzoj3453:XLkxc 拉格朗日插值法 快速根据点值逼近函数 在取点大于nnn的情况 ...

  6. 【BZOJ2655】calc,dp+拉格朗日插值法

    传送门 思路: 好题 这个题目做法非常多,我知道的起码还有倍增法和预处理伯努利数 这里仅说一下我的想法 从原始dp的思路出发 f[i][j]表示i个元素中选取j个的分数 写出dp方程 f[i][j]= ...

  7. 【BZOJ】2655: calc 动态规划+拉格朗日插值

    [题意]一个序列$a_1,...,a_n$合法当且仅当它们都是[1,A]中的数字且互不相同,一个序列的价值定义为数字的乘积,求所有序列的价值和.n<=500,A<=10^9,n+1< ...

  8. less里面calc() 语法

    转载 Less的好处不用说大家都知道,确实让写CSS的人不在痛苦了,最近我在Less里加入calc时确发现了有点问题,我在Less中这么写: div { width : calc(100% - 30p ...

  9. 洛谷 P4463 [集训队互测 2012] calc(拉格朗日插值优化DP)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Weblink https://www.luogu.com.cn/problem/P4463 Prob ...

  10. CSS的单位及css3的calc()及line-height百分比

    说在前面的话 阳历2014年已经离我们远去,2015年接踵而来.祝大家新年快乐!在新的一年,我将有新的蜕变!这是2015年的第一篇文章,写一篇关于css的单位的文章吧! 单位介绍 说到css的单位,大 ...

最新文章

  1. 【Verilog HDL 训练】第 04 天(竞争、冒险、译码等)
  2. Modulus 正式开放 —— Node.js 应用托管平台
  3. python语言编程中的保留字_Python语言程序设计整理
  4. 【PAT甲级 进位相加】1058 A+B in Hogwarts (20 分) C 全部AC
  5. Java的组合排列问题
  6. 【填坑】博客搬家造成的博客重复问题
  7. linux普通用户发送信号,Linux信号发送与作业控制
  8. 第七章 比高斯更快的计算
  9. Size Balanced Tree
  10. PyFlink 在聚美优品的应用实践
  11. Less的条件表达式Guards
  12. 一步一步学Entity Framework 4(2)
  13. pyspark 数据写入hive_Pyspark将数据写入hi
  14. 耐克人脸识别_狄耐克智能交通再结一位“老铁”——与力高地产达成战略合作协议!...
  15. Matlab之矩阵行列式、秩、迹的求解
  16. linux之FTP服务器安装 一看就会!!!动手还是会!!!
  17. IAR软件调试延时时间
  18. 台北宇珍2021春拍捷报,美国博物馆专拍创下白手套佳绩
  19. Lua:协程,coroutine.create,coroutine.resume, coroutine.yield
  20. mysql 免费么,mysql收费吗

热门文章

  1. Docker MySQL 8 慢查询日志监控详解
  2. Fisher线性判别分析(LDA)
  3. 地图画指定区域_善用GIS 妙绘“环卫”一图画卷
  4. 258. Move 0s To The End I -- Laicode
  5. pycharm关闭pytest模式
  6. 华为鸿蒙巴龙麒麟,华为5G新机强势曝光:麒麟985+巴龙5000+鸿蒙系统,颜值性能炸裂...
  7. 举例说明Java的反射机制,简单的Java反射机制
  8. python函数参数用法_Python:函数参数类型及其用法
  9. Kruskal算法实现最小生成树MST(java)
  10. java图的邻接表实现两种方式及实例应用分析