【BZOJ3453】XLkxc
http://192.168.102.138/JudgeOnline/problem.php?id=3170
知识点:1.拉格朗日插值(多特殊函数相加)
2.这个式子看似非常复杂,然而只要明白这个式子拆开是一个只有一个变量的多项式就OK,不管这个多项式有多复杂,但只要知道k+4个点的点值,就可以使用插值给弄出来
3.这题要求的式子其实拆开后与a和d并无关系,只是一个有k+4项的多项式,所以我们插值取的x与a,d并无关系
- #include <bits/stdc++.h>
- #define p 1234567891
- #define N 157
- #define ll long long
- using namespace std;
- ll a,n,d,m,k;
- ll s1[N],s2[N];
- ll g[N],f[N],inv[N<<];
- int read()
- {
- int tt;
- scanf("%d",&tt);
- return tt;
- }
- ll fast_pow(ll a,ll b)
- {
- ll ans = ;
- while(b)
- {
- if (b & )
- (ans *= a) %= p;
- (a *= a) %= p;
- b >>= ;
- }
- return ans;
- }
- inline ll Lagrange(ll *a,int n,ll pos)
- {
- if (pos <= n) return a[pos];
- ll ans = ;
- for (int i = ;i <= n;i++)
- {
- ll s1 = ,s2 = ;
- for (int j = ;j <= n;j++)
- if (i != j)
- {
- (s1 *= (pos - j)) %= p;
- (s2 *= (i - j)) %= p;
- }
- (ans += a[i] * s1 % p * fast_pow(s2,p - )) %= p;
- }
- return ans;
- }
- int main()
- {
- int T = read();
- while(T--)
- {
- k = read(),a = read(),n = read(),d = read();
- for (int i = ;i <= k + ;i++) g[i] = fast_pow(i,k);
- for (int i = ;i <= k + ;i++) (g[i] += g[i - ]) %= p;
- for (int i = ; i <= k + ;i++) (g[i] += g[i - ]) %= p;
- f[] = Lagrange(g,k+,a);
- for (int i = ;i <= k + ;i++) f[i] = Lagrange(g,k + ,(i * d + a) % p),(f[i] += f[i - ]) %= p;
- printf("%lld\n",(Lagrange(f,k + ,n) + p) % p);
- }
- return ;
- }
【BZOJ3453】XLkxc的更多相关文章
- 【BZOJ3453】XLkxc [拉格朗日插值法]
XLkxc Time Limit: 20 Sec Memory Limit: 128 MB[Submit][Status][Discuss] Description 给定 k,a,n,d,p f(i ...
- 【tyvj1858】xlkxc(拉格朗日插值)
传送门 题意: 求\(\sum_{i=0}^n\sum_{j=1}^{a+id}\sum_{k=1}^{j}k^K,n,a,d\leq 10^9,K\leq 100\). 思路: 最右边这个和式为一个 ...
- 【BZOJ】3453: tyvj 1858 XLkxc 拉格朗日插值(自然数幂和)
[题意]给定k<=123,a,n,d<=10^9,求: $$f(n)=\sum_{i=0}^{n}\sum_{j=1}^{a+id}\sum_{x=1}^{j}x^k$$ [算法]拉格朗日 ...
- Python高手之路【六】python基础之字符串格式化
Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...
- 【原】谈谈对Objective-C中代理模式的误解
[原]谈谈对Objective-C中代理模式的误解 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 这篇文章主要是对代理模式和委托模式进行了对比,个人认为Objective ...
- 【原】FMDB源码阅读(三)
[原]FMDB源码阅读(三) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 FMDB比较优秀的地方就在于对多线程的处理.所以这一篇主要是研究FMDB的多线程处理的实现.而 ...
- 【原】Android热更新开源项目Tinker源码解析系列之一:Dex热更新
[原]Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代. Tinker github地址:http ...
- 【调侃】IOC前世今生
前些天,参与了公司内部小组的一次技术交流,主要是针对<IOC与AOP>,本着学而时习之的态度及积极分享的精神,我就结合一个小故事来初浅地剖析一下我眼中的“IOC前世今生”,以方便初学者能更 ...
- Python高手之路【三】python基础之函数
基本数据类型补充: set 是一个无序且不重复的元素集合 class set(object): """ set() -> new empty set object ...
随机推荐
- 蓝奏云数值验证码识别,python调用虹鱼图灵识别插件,超高正确率
识别验证码一直是本人想要做的事情,一直在接触按键精灵,了解到有一个虹鱼图灵识别插件专门做验证码和图像识别,原理就是图片处理和制作字库识别,制作字库我一直觉得很麻烦,工程量太大.不管怎样,它能用能达到我 ...
- http接口封装mqtt协议
前言 .Net Core 3.1 WebApi 列出了mqtt客户端的封装目的是为了了解运作机制 1.封装mqtt客户端 mqtt底层协议基于MQTTnet 版本2.8.5 github地址 实例化[ ...
- 【lhyaaa】最近公共祖先LCA——倍增!!!
高级的算法——倍增!!! 根据LCA的定义,我们可以知道假如有两个节点x和y,则LCA(x,y)是 x 到根的路 径与 y 到根的路径的交汇点,同时也是 x 和 y 之间所有路径中深度最小的节 点,所 ...
- Java 变量及运算符
Java概述 Java的发展可以归纳如下的几个阶段: (1)第一阶段(完善期):JDK 1.0 ( 1995年推出)一JDK 1.2 (1998年推出,Java更名为Java 2): (2)第二阶段( ...
- 2020-06-18:ZK的分布式锁怎么实现?
福哥答案2020-06-18: Zk分布式锁有两种实现方式一种比较简单,应对并发量不是很大的情况.获得锁:创建一个临时节点,比如/lock,如果成功获得锁,如果失败没获得锁,返回false释放锁:删除 ...
- 2020-04-23:假设一个订单的编号规则是AAAAOrder2020-0000001,AAAAOrder2020-0000002....后面的数字是自增长,如果订单号码达到AAAAOrder2020-1000000(100万),数据库中应该有100万条数据,此时我随机删除2条数据(物理删除,且不考虑日志和备份),请问怎么找到删掉的数据的编号?给出解题思路即可,答案需要在1秒内运行得到。
福哥答案2020-04-23: 分批查询:分成500次count(),每次count()肯定小于等于2000条数据,经过测试,一次count()在.1ms左右,500次就是500ms.二分法(时间微超 ...
- Deep Learning-Based Document Modeling for Personality Detection from Text 阅读笔记
文章目录 代码地址 1. 摘要 2. 方法综述 2.1 输入信息预处理 2.2 文档层面的格式特征提取 2.3 数据过滤 2.4 单词层面上的特征提取 2.5分类 3. 分类网络结构 3.1 步骤 3 ...
- vue element Admin - 修改浏览器标签名 + 添加tagView标签 +固定导航头部 + 添加侧边栏Logo
1 .修改浏览器标签名称: 修改浏览器标签名称在文件:\src\settings.js image.png 2 .修改固定头部Header和侧边栏 Logo: image.png 1)侧边栏文 ...
- eric4 打包文件
在.py 工程 所在目录: 按住shift,鼠标右键,在此处打开cmd或shell,然后如下操作 1.打包成文件夹 pyinstaller lrs.py 2.打包成 单文件 pyinstaller - ...
- GridBagConstraints详解
名称 作用 默认值 常量 位置 gridx 行(x)的第一个单元格 0并且为非负数 RELATIVE(相对的) 紧跟前一个组件的后面 gridy 列(y)的第一个单元格 0并且为非负数 RELATIV ...