博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bzoj3157 3516
阅读量:5874 次
发布时间:2019-06-19

本文共 1181 字,大约阅读时间需要 3 分钟。

太神了,被数学题虐了

orz http://m.blog.csdn.net/blog/skywalkert/43970331

这道题关键是抓住m较小的特点,构造递推解决

1 const mo=1000000007; 2  3 var c:array[0..1010,0..1010] of longint; 4     f:array[0..1010] of int64; 5     i,j,n,m:longint; 6     t,ch:int64; 7  8 function quick(x:int64;y:longint):int64; 9   begin10     quick:=1;11     while y>0 do12     begin13       if y mod 2=1 then quick:=quick*x mod mo;14       y:=y div 2;15       x:=x*x mod mo;16     end;17   end;18 19 begin20   readln(n,m);21   c[0,0]:=1;22   for i:=1 to m do23   begin24     c[i,0]:=1;25     for j:=1 to i do26       c[i,j]:=(c[i-1,j]+c[i-1,j-1]) mod mo;27   end;28   if m=1 then29     writeln(int64(n)*int64(n+1) div 2 mod mo)30   else begin31     ch:=quick(m-1,mo-2);32     f[0]:=int64(m)*(quick(m,n)-1+mo) mod mo*ch mod mo;33     for i:=1 to m do34     begin35       f[i]:=quick(n,i)*quick(m,n+1) mod mo;36       for j:=0 to i-1 do37       begin38         t:=int64(c[i,j])*f[j] mod mo;39         if (i-j)  mod 2=1 then f[i]:=(f[i]-t+mo) mod mo40         else f[i]:=(f[i]+t) mod mo;41       end;42       f[i]:=f[i]*ch mod mo43     end;44     writeln(f[m]);45   end;46 end.
View Code

 

转载于:https://www.cnblogs.com/phile/p/4490732.html

你可能感兴趣的文章
基本网络概念
查看>>
将 ASP.NET Core 2.0 项目升级至 ASP.NET Core 2.1 RC 1
查看>>
js提交图片转换为base64
查看>>
学习CodeIgniter框架之旅(二)继承自定义类
查看>>
Y2161 Hibernate第三次考试 2016年8月18日 试卷分析
查看>>
Angular CLI 使用教程指南参考
查看>>
PHP 程序员的技术成长规划
查看>>
用于守护进程的出错处理函数
查看>>
AppCan可以视为Rexsee的存活版
查看>>
【转】SQL SERVER 2005 数据库状态为“可疑”的解决方法
查看>>
事件、委托、委托方法的总结(使用EventHandler<>)
查看>>
Revit API 创建带箭头的标注
查看>>
jetty启动报错Unsupported major.minor version 51.0
查看>>
Xamarin.Android开发实践(七)
查看>>
彩色图像上执行Mean Shift迭代搜索目标 ,维加权直方图 + 巴氏系数 + Mean Shift迭代...
查看>>
深入理解JavaScript系列
查看>>
strtol 函数用法
查看>>
eclipse内存溢出设置
查看>>
搭建jenkins环境(linux操作系统)
查看>>
VS 2015 GIT操作使用说明
查看>>