bzoj 3157 bzoj 3516 国王奇遇记 —— 推式子

题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3157

https://www.lydsy.com/JudgeOnline/problem.php?id=3516

这篇博客写得太好:http://blog.miskcoo.com/2014/06/bzoj-3157

然而目前之会 \( O(m) \) 的做法;

感觉关键是设计 \( S_{i} \),把它设在 \( m \) 那一维上很妙,毕竟 \( i^{m} \) 不太好做;

然而推式子都是针对 \( m != 1 \) 的,仔细一看 \( m = 1 \) 时就是 \( \sum\limits_{i=1}^{n} i \),注意特判。

代码如下:

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
typedef long long ll;
int const xn=1005,mod=1e9+7;
int n,m,s[xn],c[xn][xn];
ll pw(ll a,int b)
{ll ret=1; a=a%mod;for(;b;b>>=1,a=(a*a)%mod)if(b&1)ret=(ret*a)%mod;return ret;
}
int upt(int x){while(x>=mod)x-=mod; while(x<0)x+=mod; return x;}
void init()
{for(int i=0;i<=m;i++)c[i][0]=1;for(int i=1;i<=m;i++)for(int j=1;j<=m;j++)c[i][j]=upt(c[i-1][j]+c[i-1][j-1]);
}
int main()
{scanf("%d%d",&n,&m); init();if(m==1){printf("%lld\n",(ll)n*(n+1)%mod*pw(2,mod-2)%mod); return 0;}else s[0]=upt((ll)m*(1-pw(m,n))%mod*pw(1-m,mod-2)%mod);for(int k=1;k<=m;k++){s[k]=(ll)pw(n,k)*pw(m,n+1)%mod;for(int j=0;j<k;j++)s[k]=upt(s[k]+(ll)((k-j)%2?-1:1)*c[k][j]*s[j]%mod);s[k]=(ll)s[k]*pw(m-1,mod-2)%mod;//!
    }printf("%d\n",s[m]);return 0;
}

 

转载于:https://www.cnblogs.com/Zinn/p/10127843.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/265186.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PHP里10个鲜为人知但却非常有用的函数

PHP里有非常丰富的内置函数&#xff0c;很多我们都用过&#xff0c;但仍有很多的函数我们大部分人都不熟悉&#xff0c;可它们却十分的有用。这篇文章里&#xff0c;我列举了一些鲜为人知但会让你眼睛一亮的PHP函数。 levenshtein() 你有没有经历过需要知道两个单词有多大的不同…

前端(jQuery UI)(2)-- jQuery UI interactions

之后补充转载于:https://www.cnblogs.com/foreverlin/p/10127982.html

学会阅读硬件的原理图、数据手册大全

参考&#xff1a; 郭天祥&#xff1a;https://www.bilibili.com/video/BV1DW411a7mz?p8 韦东山&#xff1a;https://www.bilibili.com/video/BV1ga4y1Y7PL?p4 https://www.bilibili.com/video/BV17g411F7oR?spm_id_from333.999.0.0 洋桃电子&#xff1a;https://www.bilibil…

解决替换weblogic的commons-fileupload.jar后引发的问题

为什么80%的码农都做不了架构师&#xff1f;>>> 上一篇博文中提到通过替换weblogic自带的commons-fileupload.jar来解决FileUpload类的NoSuchMethodError问题。在完成替换后&#xff0c;该问题得到顺利解决&#xff0c;但是也会引发其他的一些问题&#xff0c;下面…

Python for Data Analysis 学习心得(二) - pandas介绍

一、pandas介绍 本篇程序上篇内容&#xff0c;在numpy下面继续介绍pandas&#xff0c;本书的作者是pandas的作者之一。pandas是非常好用的数据预处理工具&#xff0c;pandas下面有两个数据结构&#xff0c;分别为Series和DataFrame&#xff0c;DataFrame之前我在一些实战案例中…

别人总结的一些git教程大全

工作中&#xff0c;除了必备的基础知识&#xff0c;还要学会与人合作。 如何将你开发的小功能整合到整个项目的大框架中如何让你的实验性代码不影响到大框架中的代码性能如何让你放下手中写到一半的代码去修改突然出现的bug 这些都是会出现的情况&#xff0c;为了应对这些情况…

Euler:欧拉函数&素数筛

一、欧拉函数 欧拉函数是小于x的整数中与x互质的数的个数&#xff0c;一般用φ(x)表示。 通式&#xff1a; 其中p1, p2……pn为x的所有质因数&#xff0c;x是不为0的整数。比如x12&#xff0c;拆成质因数为122*2*3&#xff0c;12以内有1/2的数是2的倍数&#xff0c;那么有1-1/2…

大小端字节序

想起以前在汇编语言和数字逻辑的时候也有接触到一些这个概念&#xff0c;已经有点模糊了&#xff0c;搞不清楚哪个是低位在前哪个是高位在前。后来在Wiki和Google的帮助下也算摸清楚了一些Endianness的概念。 一、字节序的起源 在计算机中&#xff0c;字节序&#xff08;Endian…

面经——嵌入式软件工程师2021面试指南【转】

目录 作者简介面试前准备资料推荐要不要刷笔试题、力扣企业资讯获取简历制作去不去外包面试自我介绍技术面试HR面我的面试经历基础媒体层知识项目谈薪资最后作者简介 2021应届本二,目前年薪20,在某行业头部大厂从事嵌入式多媒体开发(音视频应用方向)。 由于没有耀眼的学历…

docker 部署nginx 使用keepalived 部署高可用

一&#xff0e;体系架构 在Keepalived Nginx高可用负载均衡架构中&#xff0c;keepalived负责实现High-availability (HA) 功能控制前端机VIP&#xff08;虚拟网络地址&#xff09;&#xff0c;当有设备发生故障时&#xff0c;热备服务器可以瞬间将VIP自动切换过来&#xff0c…

【原】自定义UINavigationItem的两种方法以及相应的隐藏方法

第一种&#xff1a; UIImage *searchimage[UIImage imageNamed:"search.png"]; UIBarButtonItem *barbtn[[[UIBarButtonItem alloc] initWithImage:nil style:UIBarButtonItemStyleDone target:self action:selector(searchprogram)] autoRelease]; barbtn.image…

虚拟字符设备驱动开发步骤

目录前言字符设备驱动简介内核驱动操作函数集合(file_operations结构体)字符设备驱动开发步骤.ko驱动模块的加载和卸载(module_init驱动入口、insmod驱动加载)字符设备注册与注销到内核register_chrdev(设备号、设备名) -- 很少用了实现设备的具体操作函数添加LICENSE 和作者信…

Jackson学习笔记

Java下常见的Json类库有Gson、JSON-lib和Jackson等&#xff0c;Jackson相对来说比较高效&#xff0c;在项目中主要使用Jackson进行JSON和Java对象转换&#xff0c;下面给出一些Jackson的JSON操作方法。 一、准备工作 Jackson有1.x系列和2.x系列&#xff0c;2.x系列有3个jar包需…

设计模式20——Mediator设计模式

2019独角兽企业重金招聘Python工程师标准>>> Mediator中介者设计模式是通过一个中介对象封装一系列关于对象交互行为. Mediator中介者设计模式中的角色如下&#xff1a; (1).中介者&#xff08;Mediator&#xff09;&#xff1a;抽象定义了“同事”&#xff08;co…

Linux LED驱动开发实验(直接操作寄存器 -- 实际开发很少这样做)

目录Linux 下LED 灯驱动原理地址映射(ioremap映射、iounmap释放)I/O 内存访问函数硬件原理图分析实验程序编写LED 灯驱动程序编写APP测试程序编写运行测试编译驱动程序和测试APP拷贝led.ko 和ledApp到指定目录加载led.ko 驱动模块到内核创建应用层“/dev/led”设备节点运行测试…

MJRefresh-简单使用

MJRefresh-简单使用 #import <MJRefresh.h>interface HKTopicViewController () /** 当前最后一条帖子数据的描述信息&#xff0c;专门用来加载下一页数据 */ property (nonatomic, copy) NSString *maxtime; /** 所有的帖子数据 */ property (nonatomic, strong) NSMuta…

Strange Words 4

2019独角兽企业重金招聘Python工程师标准>>> abnormality 英[ˌbnɔːmləti] 美[ˌbnɔːrmləti] n.变态&#xff1b;反常&#xff1b;异常&#xff1b;畸形 tenor 英 [tenə(r)]  美 [tenər] n.大意&#xff1b;要旨&#xff1b;常规&#xff1b;男高音&…

新字符设备驱动实验(自动分配设备号、自动创建应用层设备节点、新字符设备注册到内核的结构体)

目录自动分配和释放设备号示例代码新的字符设备注册到内核方法字符设备结构体(前面的设备号也放进来)cdev_init结构体初始化函数cdev_add 添加到linux内核cdev_del内核注销函数自动创建应用层设备节点mdev 机制创建和删除类创建删除设备(生成/dev/xxx设备)参考示例(先删除设备再…

$Django importlib与dir知识,手写配置文件, 配置查找顺序 drf分页器drf版本控制

1 importlib与dir知识 # importlib简介动态导入字符串模块 # 常规导入 from ss.aa import b from ss import a print(b,type(b)) #<module ss.aa.b from F:\\python37\\pythonfiles\\ss\\aa\\b.py> #<class module># importlib动态导入py文件模块 import importli…

P1971 [NOI2011]兔兔与蛋蛋游戏

传送门 思路比较迷……题解在这里 //minamoto #include<bits/stdc.h> #define R register #define fp(i,a,b) for(R int ia,Ib1;i<I;i) #define fd(i,a,b) for(R int ia,Ib-1;i>I;--i) #define go(u) for(int ihead[u],ve[i].v;i;ie[i].nx,ve[i].v) using namespac…