博客观赏效果更佳](https://lightninguz2.github.io/2019/11/02/洛谷-4828-Nagisa-loves-Tomoya-题解/)

题意简述

给定一个序列aaa,长度n<=1e6n<=1e6n<=1e6,以及Q(<=1e4)Q(<=1e4)Q(<=1e4)个询问。定义一次操作如下:对于每个iii,a[i]+=a[i%n+1]。一次询问给定两个正整数x(<=2000),y(<=n)x(<=2000),y(<=n)x(<=2000),y(<=n),请求出xxx次操作后a[y]a[y]a[y]的值。

思路框架

找规律,预处理,O(qx+n)O(qx+n)O(qx+n)稳过

具体思路

我们模拟几下(ExcelExcelExcel打表

如果我们合并同类项后只提取系数,然后我们就会发现:

第一行是1+11+11+1
第二行是1+2+11+2+11+2+1
第三行是1+3+3+11+3+3+11+3+3+1
。。。(显然,这是个杨辉三角)

然后,系数后面的项,就是从这个位置往后循环的取。说人话(?),第iii行第jjj个的式子中,第kkk项去掉系数的部分是a[(j+k-1-1)%n+1]。

然后我们预处理好杨辉三角,每次暴力循环取即珂。复杂度是O(xq)O(xq)O(xq)的。在加上读入的复杂度,就是O(n+qx)O(n+qx)O(n+qx)。

(小声BBB一句,读入的复杂度严格来说是O(nlogn)O(nlogn)O(nlogn)的,因为每个数字的位数是log10nlog_{10} nlog10​n。但是由于很小,一般忽略)

代码:

#include <bits/stdc++.h>
using namespace std;
namespace Flandre_Scarlet
{#define N 1666666#define X 2333#define mod 998244353#define int long long #define F(i,l,r) for(int i=l;i<=r;++i)#define D(i,r,l) for(int i=r;i>=l;--i)#define Fs(i,l,r,c) for(int i=l;i<=r;c)#define Ds(i,r,l,c) for(int i=r;i>=l;c)#define Tra(i,u) for(int i=G.Start(u),__v=G.To(i);~i;i=G.Next(i),__v=G.To(i))#define MEM(x,a) memset(x,a,sizeof(x))#define FK(x) MEM(x,0)int n,a[N];void R1(int &x){x=0;char c=getchar();int f=1;while(c<'0' or c>'9') f=(c=='-')?-1:1,c=getchar();while(c>='0' and c<='9') x=(x<<1)+(x<<3)+(c^48),c=getchar();x=(f==1)?x:-x;}void Input(){R1(n);F(i,1,n) R1(a[i]);}int C[X][X];void Init()//预处理杨辉三角{C[0][0]=1;F(i,1,2001) F(j,1,2001){C[i][j]=(C[i-1][j-1]+C[i-1][j])%mod;}}void Soviet(){Init();int q;R1(q);F(i,1,q){int x,y;R1(x),R1(y);++x;int ans=0;int pos=y;//用一个pos不断循环的取for(int j=1;C[x][j]!=0;++j){(ans+=C[x][j]*a[pos]%mod)%=mod;pos=pos%n+1;}printf("%lld\n",ans%mod);}}#define Flan voidFlan IsMyWife(){Input();Soviet();}#undef int //long long
}
int main()
{Flandre_Scarlet::IsMyWife();getchar();getchar();return 0;
}

洛谷 4828 Nagisa loves Tomoya 题解相关推荐

  1. 洛谷 U28036 Nagisa loves Tomoya(推式子) 题解

    题目来源: https://www.luogu.org/problemnew/show/U28036 题目描述: 题目描述 可爱的古河渚得到了一个序列.她定义一次操作为 将所有的 a_iai​ 变为  ...

  2. 2018洛谷8月月赛第一题_U28036 Nagisa loves Tomoya

    U28036 Nagisa loves Tomoya 题目描述: 可爱的古河渚得到了一个序列.她定义一次操作为将所有的ai变为ai+a(i mod n+1) 然后她会向你进行Q次询问,每次问你x,y意 ...

  3. 洛谷P1129 [ZJOI2007] 矩阵游戏 题解

    洛谷P1129 [ZJOI2007] 矩阵游戏 题解 题目链接:P1129 [ZJOI2007] 矩阵游戏 题意:给定一张有黑白棋子的正方形棋盘,问存不存在解法使得经过若干次交换行或列的操作后,左上角 ...

  4. 洛谷P3336 [ZJOI2013]话旧 题解

    洛谷P3336 [ZJOI2013]话旧 题解 题目链接:P3336 [ZJOI2013]话旧 题意:小林跟着银河队选手去了一趟宇宙比赛,耳濡目染,变得学术起来.回来后,他发现世界大变样了.比丘兽究级 ...

  5. 洛谷P4683 [IOI2008] Type Printer 题解

    洛谷P4683 [IOI2008] Type Printer 题解 题目链接:P4683 [IOI2008] Type Printer 题意: 你需要利用一台可移动的打印机打印出NNN个单词.这种可移 ...

  6. 洛谷P3647 [APIO2014] 连珠线 题解

    洛谷P3647 [APIO2014] 连珠线 题解 题目链接:P3647 [APIO2014] 连珠线 题意: 在达芬奇时代,有一个流行的儿童游戏称为连珠线.当然,这个游戏是关于珠子和线的.线是红色或 ...

  7. 洛谷P4170 [CQOI2007]涂色 题解

    洛谷P4170 [CQOI2007]涂色 题解 题目链接:P4170 [CQOI2007]涂色 题意: 假设你有一条长度为 555 的木板,初始时没有涂过任何颜色.你希望把它的 555 个单位长度分别 ...

  8. 洛谷P1868 饥饿的奶牛 题解

    洛谷P1868 饥饿的奶牛 题解 题目链接:P1868 饥饿的奶牛 题意: 有一条奶牛冲出了围栏,来到了一处圣地(对于奶牛来说),上面用牛语写着一段文字. 现用汉语翻译为: 有 NNN 个区间,每个区 ...

  9. 洛谷P1462 通往奥格瑞玛的道路 题解

    洛谷P1462 通往奥格瑞玛的道路 题解 题目链接:P1462 通往奥格瑞玛的道路 题意:在艾泽拉斯,有 nnn 个城市.编号为 1,2,3,-,n1,2,3,\ldots,n1,2,3,-,n . ...

最新文章

  1. Akka的Actor编程
  2. 总结 贪心算法_这几道经典例题帮你轻松搞透贪心算法
  3. codeforces D Prefixes and Suffixes(kmp)
  4. SAP Spartacus layoutSlots ID 和 CMSComponent 的映射关系
  5. Jmeter吞吐量控制器详解
  6. 螺栓预紧力_斯姆勒知识讲解:螺栓预紧力的计算
  7. LooseScan Strategy
  8. CSS3 修改和去除移动端点击事件出现的背景框
  9. 3.jsp页面分页功能(首页、下一页、上一页、末页)
  10. 邱锡鹏DL经典教材-《神经网络与深度学习》
  11. str.trim()去除空格
  12. 使用pascal voc训练测试faster rcnn
  13. 什么是自然语言处理,自然语言处理能做什么,主要有哪些哪点?
  14. WPF入门教程系列(5)
  15. 要实现一台电脑可以上公司内网也可以访问外网
  16. 内容社区:始于内容,火于流量,困于商业化
  17. 什么是特征点、特征描述、特征匹配
  18. Idea Intellij 远程开发调试
  19. 123道c++笔试题汇总
  20. 《阅读的方法》读书笔记2-2:遥远的地方

热门文章

  1. 向unity Asset Store提交资源-边做边记
  2. html js 遍历数组,分享几种原生JS数组遍历的方法和应用
  3. STM32学习--中断
  4. 如何解决磁盘坏道的问题
  5. 公式编辑的符号和英文要不要前后加空格
  6. [LoadRunner]录制启动时报“The JVM could not be started……”错误解决方案
  7. C4D室内模型导入Unity3d灯光快速烘焙【2020】
  8. css之FILTER:progid:DXImageTransform.Microsoft.Gradient使用
  9. 汕头大学计算机软件专业研究生就业,月薪6800:汕头大学2019毕业研究生就业,这个学院平均工资最高...
  10. 曦力音视频转换专家-免费全能视频转换器(支持GPU加速)