1416: 你听说过排序吗?

题目描述


TT最近对排序算法很感兴趣,
现在他碰到了一个排序题,
给出包含n个数字的数组,
现在有两种操作:
1:把1到x之间的数从小到大排序,
2:把1到x之间的数从大到小排序,
初始序列满足
a[i] = a[i-1]*x+a[i-2]*y+z;(i>=3);
现给出a[1],a[2],x,y,z;
q[1] = a[1]%n+1,q[2] = a[2]%n+1;
q[i] = (y*q[i-1]+x*q[i-2]+z)%n+1;(i>=3)
op[i] = q[i]%2+1;(i>=1);
(op[i] 为第i个操作的类型,q[i]为第i次操作的x);

输入


第一行:T(T<=30)T组
每组测试包含7个数字:a[1],a[2],x,y,z,n,q,(1<=a[1],a[2],x,y,z<=1e9; 0<=n,q<=1e5)数组包含n个数字,q次操作;

输出


ans = (a[1]*1+a[2]*2,,,a[n]*n)%1000000007,

样例输入


1
2 3 1 2 3 6 3

样例输出


806

提示


原始序列为:2 3 10 19 42 83

第一次操作为 2 3 ,10 3 2 19 42 83

第二次操作为 1 4 ,2 3 10 19 42 83

第三次操作为 2 3 ,10 3 2 19 42 83

来源/分类


2018浙江理工大学新生赛

请先 登录 后评论
  • 0 关注
  • 0 收藏,354 浏览
  • 轩爸 提出于 2019-08-02 22:08

相似问题