牛客练习赛48 C 小w的糖果 (数学,多项式)

链接:https://ac.nowcoder.com/acm/contest/923/C来源:牛客网

题目描述

小w和他的两位队友teito、tokitsukaze准备为大家发点福利,到底发点什么呢?思考良久之后他们三个人准备了很多很多的糖果。他们让n个小朋友们排成一长排并且从左到右依次标号为1,2,3,4,5,6,7,8,9.....n。

三人每次发糖果,都是从某一个位置开始,只把糖果发给这个人以及这个人右侧的所有人。但是他们发糖果的规则有所不同。

1、如果某轮发糖果的是tokitsukaze,她将会从一个位置pos开始,依次向右给每个人1个糖果。

2、如果某轮发糖果的是teito,他将会从一个位置pos开始,依次向右,他将会给他碰到的第一个人发1个糖果,给他碰到的第二个人发2个糖果,给他碰到的第三个人发3个糖果...碰到的第k个人发k个糖果,直到向右走到编号为n的人为止。

3、如果某轮发糖果的是winterzz1,众所周知小w是个大方的人,所以他发的糖最多,他将会从一个位置pos开始,依次向右,它将会给他碰到的第一个人发1个糖果,给他碰到的第二个人发4个糖果,给他碰到的第三个人发9个糖果...碰到的第k个人发k2k^{2}k2个糖果直到向右走到编号为n的人为止。

发糖的福利一共进行了m轮,现在告诉你这m轮发糖的人和他们该轮发糖的起始位置pos,请你告诉我这m轮发糖结束后1到n每个人手中糖果的数量,为了避免这个数字过大,你只用输出每一个人手中糖的数量mod  109+7mod;10^{9}+7mod109+7后的结果即可。

输入描述:

第一行是一个正整数T(1⩽T⩽10)(1\leqslant T\leqslant10 )(1⩽T⩽10),表示有T组测试案例。对于每组案例:第一行是两个正整数n,m(1⩽n,m⩽105)(1\leqslant n,m\leqslant10^{5} )(1⩽n,m⩽105)表示现在有一排n个人并且进行了m轮发糖果。接下来m行,每行两个正整数type(1⩽type⩽3)(1\leqslant type\leqslant 3)(1⩽type⩽3),pos(1⩽pos⩽n)(1\leqslant pos\leqslant n )(1⩽pos⩽n)分别表示该轮发糖果的人,以及这个人开始发糖果的位置。type=1时发糖果的人为tokitsukaze,type=2时发糖果的人为teito,type=3时发糖果的人为winterzz1。pos表示位置,并且最左边的人pos为1,最右边的人pos为n。

输出描述:

对于每组测试案例,输出一行n个非负整数,表示每个人手中的糖果数量mod  109+7mod\; 10^{9}+7mod109+7后的结果。数字与数字之间用空格隔开并且行末不允许有多余空格。

示例1

输入

[复制](javascript:void(0)

牛客练习赛48 C 小w的糖果 (数学,多项式,差分)的更多相关文章

  1. 牛客练习赛48 A· 小w的a+b问题 (贪心,构造,二进制)

    牛客练习赛48 A· 小w的a+b问题 链接:https://ac.nowcoder.com/acm/contest/923/A来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C ...

  2. 牛客练习赛48 D 小w的基站网络

    链接:https://ac.nowcoder.com/acm/contest/923/D来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 262144K,其他语言52428 ...

  3. 牛客练习赛48 E 小w的矩阵前k大元素

    E 思路: 优先队列,将迭代器变量作为结构体的变量. 迭代器走的时候只能像一个方向走,另外一个方向只有最开始才走.如下图所示: 如果两个方向同时走,同一个值会被遍历多次,像上图那样就能保证每个位置都走 ...

  4. 牛客练习赛48 C,D,E

    C 小w的糖果 题意:3种操作,第一种是使pos右边的数全部+1,第二种是pos右边的数依次+k(k从1开始递增),第三种是pos右边的数依次+k^2(k从1开始递增). 解法:第一种我们很容易想到差 ...

  5. 牛客练习赛44 C 小y的质数 (数论,容斥定理)

    链接:https://ac.nowcoder.com/acm/contest/634/C 来源:牛客网 题目描述 给出一个区间[L,R],求出[L,R]中孪生质数有多少对. 由于这是一个区间筛质数的模 ...

  6. 牛客练习赛44 B 小y的线段 (思维)

    链接:https://ac.nowcoder.com/acm/contest/634/B 来源:牛客网 题目描述 给出n条线段,第i条线段的长度为a_ia i ​ ,每次可以从第i条线段的j位置跳到第 ...

  7. 牛客练习赛44 A 小y的序列 (模拟,细节)

    链接:https://ac.nowcoder.com/acm/contest/634/A 来源:牛客网 小y的序列 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语 ...

  8. 牛客练习赛40 A 小D的剧场 (思维dp)

    链接:https://ac.nowcoder.com/acm/contest/369/A 题目描述 若你摘得小的星星 你将得到小的幸福  若你摘得大的星星 你将得到大的财富  若两者都能摘得 你将得到 ...

  9. 牛客练习赛40 C 小A与欧拉路(树的直径)

    链接:https://ac.nowcoder.com/acm/contest/369/C 题目描述 小A给你了一棵树,对于这棵树上的每一条边,你都可以将它复制任意(可以为0)次(即在这条边连接的两个点 ...

随机推荐

  1. 重磅!滴滴跨端框架Chameleon 1.0正式发布

    滴滴在 GitHub 上开源的跨端解决方案 Chameleon(简写 CML)正式发布 1.0 版本,中文名卡梅龙:中文意思变色龙,意味着就像变色龙一样能适应不同环境的企业级跨端整体解决方案,具有易用 ...

  2. 如何取到el-select中的label

    在el-select中我们一般都是取到value的值,但是有时候我们需要value和label都需要.那怎么方便的取到呢 在网上经常有ref="cascader"这个方法,但是经过 ...

  3. 利用单臂路由实现vlan间路由

    本实验模拟公司场景 通过路由器实现不同vlan部门间通讯,拓扑图如下

  4. mysql 基本操作及对用户操作

    1.登录/退出基本操作            登录:mysql [-h服务器地址] -u登录名 -P端口号 -p             或登录:mysql [--host=服务器地址] --user ...

  5. synchrnized 和lock的区别

  6. 017 Android 获取手机SIM卡序列号和读取联系人

    1.获取手机SIM卡序列号 //5.存储sim卡系列号 //5.1获取sim卡系列号 TelephonyManager manager = (TelephonyManager) getSystemSe ...

  7. 利用Anaconda软件安装opencv模块

    先说明我安装opencv环境的原因:因为我Anaconda中创建了tensorflow和pytorch虚拟环境,想在每个虚拟环境下都安装opencv模块,这样在后期进行代码调试的时候更加便捷,以下是我 ...

  8. python第二天---字符串的魔法

    # "adcbdefg" # "a" # 判断某个东西是否在里面包含 in | not in # name = "abcdefg" # # ...

  9. python第一天---我要入个门

    """ 一个用户登录的案例 """ # 永远等待,直到用户输入值 # 变量 name_r = input("请输入用户名" ...

  10. 关于#define 的宏替换的一些问题

    #define PI 3.14; int main() { , s = ; s = r * r * PI; s = PI * r * r; // s = 3.14; * r * r; printf(& ...