当前位置: 首页 > news >正文

网站设计协议室内设计效果图 客厅

网站设计协议,室内设计效果图 客厅,睿达科网络 网站建设,百度一下你就知道首页PART 1 思路 首先预处理 1 到 20 次幂的前缀和。 具体代码如下&#xff1a; for(int k1;k<20;k) {p[k][0]0;for(int i1;i<n;i) {int sum1;sumpow(a[i],k);p[k][i](p[k][i-1]sum)%MOD;//k为几次方}}其中用到了快速幂模板&#xff0c;可见P1226。 然后分三点做题。 1.求…

PART 1 思路

首先预处理 1 到 20 次幂的前缀和。
具体代码如下:

for(int k=1;k<=20;k++) {p[k][0]=0;for(int i=1;i<=n;i++) {int sum=1;sum=pow(a[i],k);p[k][i]=(p[k][i-1]+sum)%MOD;//k为几次方}}

其中用到了快速幂模板,可见P1226。

然后分三点做题。

1.求l至r之间的值之和

由于数组已经过处理,可直接求和,输出其一次方形式即可,将 p[1][r] 与 p[1][l-1] 相减即为区间和。

int sum=(p[1][r]-p[1][l-1]+MOD)%MOD;
printf("%lld\n",sum);
2.求l至r之间的值的次方之和

和求和同理,只不过将一次方改为 k 次方。

int sum=(p[k][r]-p[k][l-1]+MOD)%MOD;
printf("%lld\n",sum);
3.重头戏!!!

前面两个只是开胃小菜,这才是重点!
但经过预处理,这部分的代码也是异常简短。

int v=(((p[2][r]-p[2][l-1]+MOD)%MOD)-((((((p[1][r]-p[1][l-1]+MOD)%MOD)*((p[1][r]-p[1][l-1]+MOD)%MOD))%MOD)*(pow((r-l+1),MOD-2)))%MOD)+MOD)%MOD;
printf("%lld\n",(v*(r-l+1))%MOD);

PART 2 Code

#include <bits/stdc++.h>
#define int long long
using namespace std;
const int MOD=998244353;
const int N=1e6+10;
int n,q,a[N],p[21][N];
int pow(int b,int a) 
{int res=1;b%=MOD;while(a>0) {if(a&1) res=(res*b)%MOD;b=(b*b)%MOD;a>>=1;}return res;
}//快速幂模板
void init()
{for(int k=1;k<=20;k++) {p[k][0]=0;for(int i=1;i<=n;i++) {int sum=1;sum=pow(a[i],k);p[k][i]=(p[k][i-1]+sum)%MOD;}}
}//预处理
signed main() {scanf("%lld%lld",&n,&q);for(int i=1;i<=n;i++) scanf("%lld",&a[i]);init();while(q--) {int op,l,r;scanf("%lld%lld%lld",&op,&l,&r);if(op==1) {int sum=(p[1][r]-p[1][l-1]+MOD)%MOD;printf("%lld\n",sum);} else if(op==2) {int k;scanf("%lld",&k);int sum=(p[k][r]-p[k][l-1]+MOD)%MOD;printf("%lld\n",sum);} else if(op==3) {int v=(((p[2][r]-p[2][l-1]+MOD)%MOD)-((((((p[1][r]-p[1][l-1]+MOD)%MOD)*((p[1][r]-p[1][l-1]+MOD)%MOD))%MOD)*(pow((r-l+1),MOD-2)))%MOD)+MOD)%MOD;printf("%lld\n",(v*(r-l+1))%MOD);}}return 0;
}

总而言之,这整篇题解的核心只有预处理,处理完后就非常简单了

http://www.dtcms.com/a/440920.html

相关文章:

  • 网站开发路径泉州seo托管
  • 专业维护网站的公司机关内网站建设方案书
  • 广东网站se0优化公司做网站都是怎么收费
  • 查网站域名备案查询系统杭州人才网
  • 咖啡网站设计建设个人用云服务器
  • 外贸网站建设上海建筑 公司网站
  • 网站设置在哪里找到成都专业app开发服务
  • 做公考题的网站企业做官网
  • 邯郸网站建设纵横无锡市网站搭建
  • 卫龙的网站做的污污分wordpress相册修改
  • 青岛网站建设维护网站锚点
  • 企业网站一定要从建立网站开始贵阳品牌网站建设公司
  • 陕西建设网站官方asp.net怎么做网站
  • ps做网站需注意苏州北京商场网站建设
  • 网站上传完成后要怎么做火锅网站建设
  • 桂林网站建设培训班今天足球赛事推荐
  • 北京期刊网站建设公司网页制作费用会计分录
  • 网站上传文件 ftp做网站都用到哪些软件
  • 网站建设互联网营销营销推广广东百度seo
  • 出格网站建设公司重庆app下载注册
  • 个人做网站备案多少钱东安网站建设
  • 纯html网站网站开发如何设置背景图片
  • 网站设计主题选择网站建设58
  • 住房住房和城乡建设部网站app制作教程电脑流程
  • 河北保定网站建设鞍山58同城二手房出售
  • 网站与网页国家城乡住房建设部网站
  • 大型综合新闻门户网站织梦模板wordpress媒体文件
  • 如何做网站关键词霸屏可以访问的国外网站
  • 10黄页网站建设车之家汽车官网
  • 网站内容有哪些我市强化属地网站建设