一两眼题(oneortwo)

题目描述

给出n个整数,依次为a1,a2,...an。n<=50000.

你要进行K次操作,0 <= k < =1,414,213,562

每次操作你算出sum=a1+a2+a3+...an,再将每个数替换为sum-ai.

求最后一次操作后a1,a2,....an的值

输入

第一行两个整数n,k

接下来n行每行一个整数ai.

输出

输出n行。依次为k次操作后的a1,a2....an。模 98,765,431

样例输入

3 4
1
0
4

样例输出

26
25
29

提示

40%的数据满足n<=20,k<=2000


solution

通过手模发现

对于第i轮操作

正负由i的奇偶性决定

等比数列求和一下,就是快速幂了

#include<cstdio>
#include<iostream>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#include<cmath>
#define maxn 50005
#define mod 98765431
using namespace std;
int n;
long long s[maxn],sum;
long long k;
long long lian(long long k,long long num)
{
long long ans=1,p=k;
while(num>0){
if(num&1)ans=ans*p;
p=p*p;p%=mod;ans%=mod;num>>=1;
}
return ans;
}
int main()
{
freopen("oneortwo.in","r",stdin);
freopen("oneortwo.out","w",stdout);
cin>>n>>k;
for(int i=1;i<=n;i++){
scanf("%lld",&s[i]);
sum+=s[i];sum%=mod;
}
long long ny=lian(n,mod-2);
long long a=n-1;
long long tmp=lian(a,k);
if(k&1)tmp++;else tmp--;
long long ans=tmp*ny;ans%=mod;
ans=ans*sum;ans%=mod;
int op;
if(k&1)op=-1;else op=1;
for(int i=1;i<=n;i++){
long long t=ans+s[i]*op;
t=(t%mod+mod)%mod;
printf("%lld\n",t);
}
return 0;
}

一两眼题(oneortwo)的更多相关文章

  1. 分享一些 Java 后端的个人干货

    学习 Java 也有了不少时间,入 Java 后台的坑也有了一段时日.这段时间里,听过许多前辈的经验与分享,也看过许多大佬的文章和作品.找了个时间整理和总结了一下我个人到目前为止一路以来的听到看到或者 ...

  2. POJ-2352 Stars 树状数组

    Stars Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 39186 Accepted: 17027 Description A ...

  3. 【USACO】pprime

    开始看第一眼题就觉得问题会在超时上,果然写了个小代码运行到test 9时超时了 #include <stdio.h> #include <math.h> int isprime ...

  4. Struts2漏洞解决

    如果你也正在使用Struts2作为web层框架做开发或者做公司的送检产品,然后被告知有各种各样的Struts2漏洞,那本篇博客值得你花时间来喽上一两眼. 前端时间抽空为公司做了新一代的送检产品,为了方 ...

  5. Java 10 var关键字详解和示例教程

    在本文中,我将通过示例介绍新的Java SE 10特性——“var”类型.你将学习如何在代码中正确使用它,以及在什么情况下不能使用它. 介绍 Java 10引入了一个闪亮的新功能:局部变量类型推断.对 ...

  6. 【BZOJ4260】Codechef REBXOR (Trie树)

    [BZOJ4260]Codechef REBXOR (Trie树) 题面 BZOJ 题解 两眼题.第一眼不会做,第二眼好简单... 前缀异或和一下,拿\(Trie\)树维护求一个在这个端点以左的最大值 ...

  7. HDU 6212 Zuma 2017青岛网络赛 区间DP

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6212 解法:看了眼题就发现这个BZOJ 1032不是一毛一样?但是BZOJ上那是个巨坑,数据有错,原来 ...

  8. 【洛谷 P4051】 [JSOI2007]字符加密(后缀数组)

    题目链接 两眼题.. 第一眼裸SA 第二眼要复制一倍再跑SA. 一遍过.. #include <cstdio> #include <cstring> #include < ...

  9. AtCoder Grand Contest 017 迟到记

    晚上去操场上浪. 回来以后看到好几个人开着 \(AtCoder\) 在打代码. ... ... 今天有 \(AtCoder\) 比赛 ? 管它呢, \(Kito\) 在切西瓜,先吃西瓜... 然后看 ...

随机推荐

  1. 解决session过期跳转到登录页并跳出iframe框架(或者layui弹出层)

    当用户长时间停留在管理界面没有操作,等到session过期后,进行了操作,那么只是iframe跳转到login页面,这不是我们想要的结果.解决方法:在login页面加一个逻辑判断: <scrip ...

  2. 漫谈 Clustering (1): k-means

    好久没有写 blog 了,一来是 blog 下线一段时间,而租 DreamHost 的事情又一直没弄好:二来是没有太多时间,天天都跑去实验室.现在主要折腾 Machine Learning 相关的东西 ...

  3. Python小脚本程序

    本文旨在搜集最简单最原子性的代码块,简单清晰容易阅读,然后由用户自己组合.Python代码排版请自行修改. 这里是索引目录: 1. 下载网站文件 2. 下载网站多个文件 1. 下载网站文件 impor ...

  4. XGBoost算法原理小结

    在两年半之前作过梯度提升树(GBDT)原理小结,但是对GBDT的算法库XGBoost没有单独拿出来分析.虽然XGBoost是GBDT的一种高效实现,但是里面也加入了很多独有的思路和方法,值得单独讲一讲 ...

  5. vue动画使用javascript钩子函数

    钩子函数从before-enter – enter –after-enter-entercancelled也是一个完整的生命周期 <transition   v-on:before-enter= ...

  6. 记录JQ-WEUI中滚动加载的一个BUG

    最近写微信公众号,用到的技术栈是jq+vue的混合开发,采用的UI是移动端比较火的WEUI,在微信开发中应该较广泛.个人看惯了elementUI文档,相对于饿了么组件文档的详细,WEUI的文档还是比较 ...

  7. zabbix mysql 迁移 增加分区

    1.zabbix mysql 目录清单 --basedir=/usr/local/web/mysql --datadir=/data/mysql --log-error=/data/mysql/sys ...

  8. jQuery的三种写法

    jQuery的三种写法 jQuery一共有三种写法,写法如下: <script type="text/javascript" src="js/jquery-1.9. ...

  9. git之简单入门及操作~

    看了bili的教程,https://www.bilibili.com/video/av23853294?from=search&seid=3300012850779227291 特此整理下. ...

  10. Git add命令

    git add -A和 git add .   git add -u在功能上看似很相近,但还是存在一点差别 git add . :他会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文 ...