Integration【2019牛客暑期多校训练营(第一场)B】【待定系数法】

2023-11-11

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

题目描述

Bobo knows that ∫∞011+x2 dx=π2.∫0∞11+x2 dx=π2.

Given n distinct positive integers a1,a2,…,ana1,a2,…,an, find the value of
1π∫∞01∏ni=1(a2i+x2) dx.1π∫0∞1∏i=1n(ai2+x2) dx.

It can be proved that the value is a rational number pqpq.
Print the result as (p⋅q−1)mod(109+7)(p⋅q−1)mod(109+7).

输入描述:

The input consists of several test cases and is terminated by end-of-file.

The first line of each test case contains an integer n.
The second line contains n integers a1,a2,…,ana1,a2,…,an.

* 1≤n≤1031≤n≤103
* 1≤ai≤1091≤ai≤109
* {a1,a2,…,an}{a1,a2,…,an} are distinct.
* The sum of n2n2 does not exceed 107107.

输出描述:

For each test case, print an integer which denotes the result.

  求这样的一个函数,既然知道积分,我们这里可以用待定系数法来求解问题。

  我们假设,原式可以拆分成C1/(a1^2 + x^2) + C2/(a2^2 + x^2) + …… + Cn/(an^2 + x^2) = 原式(积分里面的那个),那么我们假如要求C1是不是要吧整个式子两端同乘以(a1^2 + x^2)然后,我们可以假设(x^2 = -a1^2)是不是就可以用以求解C1了?

#include <iostream>
#include <cstdio>
#include <cmath>
#include <string>
#include <cstring>
#include <algorithm>
#include <limits>
#include <vector>
#include <stack>
#include <queue>
#include <set>
#include <map>
#define lowbit(x) ( x&(-x) )
#define pi 3.141592653589793
#define e 2.718281828459045
#define INF 0x3f3f3f3f
#define HalF (l + r)>>1
#define lsn rt<<1
#define rsn rt<<1|1
#define Lson lsn, l, mid
#define Rson rsn, mid+1, r
#define QL Lson, ql, qr
#define QR Rson, ql, qr
#define myself rt, l, r
using namespace std;
typedef unsigned long long ull;
typedef long long ll;
const int maxN = 1e5 + 7;
const ll mod = 1e9 + 7;
int N;
ll a[maxN], mu[maxN];
ll fast_mi(ll a, ll b = mod - 2)
{
    ll ans = 1;
    while(b)
    {
        if(b & 1)
        {
            ans = ans * a % mod;
        }
        b >>= 1;
        a = a * a % mod;
    }
    return ans;
}
int main()
{
    while(scanf("%d", &N) != EOF)
    {
        for(int i=1; i<=N; i++) scanf("%lld", &a[i]);
        for(int i=1; i<=N; i++)
        {
            mu[i] = 1LL;
            for(int j=1; j<=N; j++)
            {
                if(j == i) continue;
                mu[i] = mu[i] * ( a[j] * a[j] % mod - a[i] * a[i] % mod + mod) % mod;
            }
            mu[i] = fast_mi(mu[i]);
        }
        ll ans = 0;
        for(int i=1; i<=N; i++)
        {
            ll tmp = fast_mi(2) * fast_mi(a[i])  % mod * mu[i] % mod;
            ans = ( ans + tmp ) % mod;
        }
        printf("%lld\n", ans);
    }
    return 0;
}

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Integration【2019牛客暑期多校训练营(第一场)B】【待定系数法】 的相关文章

  • 最大公约数和最小公倍数的关系

    联系 最大公约数 指两个或多个整数共有的约数中最大的那个 最小公倍数 指两个或多个整数共有的倍数中最小的那个 以两个整数为例 最大公约数表示为 a b 最小公倍数表示为 a b 定理 a b X a b ab a b均为整数 例题 incl
  • 中国剩余定理(孙子定理)

    看了很多博客始终没弄明白中国剩余定理到底是怎么算出来的 看孙子的话完全是一脸懵逼啊 还好有这个博客大神的博客Orz 真的讲的特别清晰 点赞点赞 下面会用到的数学公式 如果a b c 那么如果x b c 2 此时x a 2 也就是说除数相等时
  • 【数论基础】—— 隔板法

    隔板法 问题 n n n 个相同的小球 放到 m m m个不同的盒子里 盒子不能为空的方案数 n
  • 基础算法题——位运算之谜(数论)

    位运算之谜 题目链接 数论 a b a xor b 2 a b 变式可得 a xor b a b 2 a b 另外还要排除两种不能被组成的情况 a b 2 a b lt 0 a xor b最小为0 不存在小于0的值 a b a b 2 a
  • CF1604 C. Di-visible Confusion(lcm)

    include
  • POJ 2689 Prime Distance(素数区间筛法--经典题)

    大致题意 给定 L R 区间 找出区间内的每个素数 数据范围 1 lt L lt R lt 2 147 483 647 R L lt 1 000 000 R的数值太大 所以不能直接筛 0 R 的 要空间和时间优化 用到区间筛法 另外注意不能
  • 算数基本定理求约数个数

    题目 最多约数问题 正整数x 的约数是能整除x的正整数 其约数的个数记为div x 例如div 10 4 设a 和b 是两个正整数 找出a 和b 之间约数个数最多的数x 的约数个数 样例输入 1 36 样例输出 9 算数基本定理 又称为正整
  • 欧拉函数(详解)-数论

    欧拉函数 对正整数n 欧拉函数是少于或等于n的数中与n互质的数的数目 例如euler 8 4 因为1 3 5 7均和8互质 Euler函数表达通式 euler x x 1 1 p1 1 1 p2 1 1 p3 1 1 p4 1 1 pn 其
  • 欧拉降幂公式

    欧拉降幂公式 a b a b equiv ab a b
  • 【定理】算术基本定理(唯一分解定理)

    大蒟蒻来水贴了 算术基本定理 唯一分解定理 一句话 任何大于 的自然数 都可以唯一分解成有限个质数的乘积 例如对于大于1的自然数n 这里P i i均为质数 其指数a i i是正整数 这样的分解称为的标准分解式 唯一分解定理具有 唯一性 分配
  • P2524 Uim的情人节礼物·其之弐【康托展开模板题】

    题目链接 我在这里加了树状数组来优化康托展开 但是这道题的数据其实很小 不需要加也是可以的 include
  • H . 真签到题

    题目链接 题目描述 Fibonacci 数列 f n f n 1 f n 2 前n项为1 1 2 3 5 8 给出n m 需要你计算出满足条件的对数 i j 的个数 且i lt j 条件是 1 lt gcd f i f j lt n i j
  • P5367 【模板】康托展开【树状数组优化】

    题目链接 include
  • 机器人走方格 V2【数论】【组合】【费马小定理】

    M N的方格 一个机器人从左上走到右下 只能向右或向下走 有多少种不同的走法 由于方法数量可能很大 只需要输出Mod 10 9 7的结果 Input 第1行 2个数M N 中间用空格隔开 2 lt m n lt 1000000 Output
  • AcWing 1381. 阶乘

    题目 N 的阶乘 记作 N 是指从 1 到 N 包括 1 和 N 的所有整数的乘积 阶乘运算的结果往往都非常的大 现在 给定数字 N 请你求出 N 的最右边的非零数字是多少 例如 5 1 2 3 4 5 120 所以 5 的最右边的非零数字
  • 数论——欧拉函数

    在数论中 对正整数n 欧拉函数是少于或等于n的数中与n互质的数的数目 此函数以其首名研究者欧拉命名 它又称为Euler s totient function 函数 欧拉商数等 例如 8 4 因为1 3 5 7均和8互质 百度百科词条 欧拉函
  • 质因数分解(唯一分解定理)

    质因数分解 题目描述 多数据 给出t个数 求出它的质因子个数 数据没坑 难度降低 输入描述 Input Description 第一行 t 之后t行 数据 输出描述 t行 分解后结果 质因子个数 样例输入 2 11 6 样例输出 1 2 数
  • 最大比例

    题目描述 解析 接下来就是求解k和p的过程 在这道题中很难使用欧几里得算法就求解最大公约数 因此尝试使用另一种方法 更相减损术 循环相减法 如果要使用欧几里得算法的话 就需要开一个非常复杂的根号 非常难算 代码 include
  • bzoj3309 DZY Loves Math

    题目链接 bzoj3309 题目大意 对于正整数n 定义f n 为n所含质因子的最大幂指数 给定正整数a b 求 ai 1 bj 1f gcd i j sum i 1 a sum j 1 b f gcd i j T lt 10000 1 l
  • Acwing - 算法基础课 - 笔记(数学知识 · 一)

    文章目录 数学知识 一 质数 质数的判定 分解质因数 朴素思路 优化 筛选质数 朴素筛法 埃氏筛法 线性筛法 小结 约数 求一个数的所有约数 求约数个数 求约数之和 求最大公约数 数学知识章节 主要讲解了 数论 组合计数 高斯消元 简单博弈

随机推荐

  • VSCode手记

    设置为中文 如何将VSCode设置成中文语言环境 vscode设置中文 z975821109的博客 CSDN博客 快捷键 跳转声明代码 F12 撤销 Ctrl Z 重做 Ctrl Y 查找 Ctrl F 删除当前行 Ctrl Shift K
  • Vue3 reactive丢失响应式问题

    问题描述 使用 reactive 定义的对象 重新赋值后失去了响应式 改变值视图不会发生变化 测试代码
  • MIPI DSI-2 协议解析

    文章目录 前言 一 DSI 2 简单介绍 1 1 DSI 层次定义 1 2 Command和Video模式 1 2 1 Command模式 1 2 2 Video 模式 1 2 3 Virtual Channel Capability 虚拟
  • 基于SSM的企业人事管理系统

    文末获取源码 一 项目摘要 开发语言 Java Java开发工具 JDK1 8 后端框架 SSM 前端 采用HTML和Vue相结合开发 数据库 MySQL5 7和Navicat管理工具结合 服务器 Tomcat8 5 开发软件 IDEA E
  • 【Nacos在derby模式下密码忘记】使用derby的ij工具重置密码/修改密码

    问题描述 nacos部署未用mysql 直接运行 使用了默认的derby数据库 这时候不一小心修改的密码给忘记了 无法登录 当时是部署在centos上的一个演示环境 没有采用mysql数据库 如果生产上 建议使用mysql 解决方案 1 下
  • 02-zookeeper分布式锁案例

    1 Zookeeper分布式案例 1 1 Zookeeper分布式锁原理 核心思想 当客户端要获取锁 则创建节点 使用完锁 则删除该节点 当我们假设根节点 下有 locks节点时 1 客户端获取锁时 在locks节点下创建临时顺序节点 2
  • 【人工智能】手掌相关信息测量【实验报告与全部代码】(QDU)

    计算机视觉技术 课程设计 指导老师 张维忠 目录 一 实验背景 二 实验任务 三 任务分配 四 实验环境 五 实验思路 六 实验内容 1 MediaPipe Hands介绍 1 1 手部检测器 1 2 手部坐标预测模型 2 裁剪手掌部分 2
  • Shell脚本for循环小实验

    目录 1 计算1 100的和 2 提示用户输入一个小于100的整数 并计算从1到该数之间所有整数的和 3 从1到100所有整数的偶数和 奇数和 4 执行脚本输入用户名 若该用户存在 输出提示该用户已存在 若该用户不存在 提示用户输入密码 建
  • android开发经典难题,Android开发问题集锦3

    问题1 java工程解析apk的apkinfo需要用到sdk build tools sdk版本号 aapt以及AXmlResourceParser jar包 在使用aapt工具的时候报错 1Cannot run program FxRhA
  • ASP.Net Core 和 Vue.js 全栈开发

    特点 采用实践方法来实现使用 ASP NET Core 5 和 Vue js 3 构建健壮应用程序的实用方法 从设置 Web 应用程序的后端开始 以干净的架构 命令查询责任分离 CQRS 中介模式和 Entity Framework Cor
  • java swing 外观框架_【GUI】一、Swing外观框架BeautyEye使用

    一 Swing外观框架BeautyEye使用 1 1 导包 1 2 使用BeautyEye L F public static void main String args EventQueue invokeLater new Runnabl
  • js自定义sort排序规则

    sort 方法通常用于对数组的元素进行排序 默认情况下是按照字符编码从小到大的顺序进行排序 例如 var arr 1 6 10 3 43 55 arr sort 排序后的结果为 1 10 3 43 55 6 以下方法是按照自定义的规则进行排
  • fastjson包:自动将字符串转换为json格式的字符串

    首先需要导入fastjson jar包 他是阿里巴巴发型的快速JSON包 目前已经捐赠给Apache 可以去官网下载 也可以在我的资源中下载 package mypackage import com alibaba fastjson JSO
  • CSS:图片不拉伸,垂直居中显示

    div class container img src div div class container div
  • Unity5.x 解析Json

    本章内容是从API接口请求Json 将其保存在本地 并且从本地读取解析 废话不多说 直接上干货 我选取的示例接口是一个查询电话号码归属地的功能 首先我们要向示例接口请求Json数据 并且将请求得到的Json数据保存到本地文件夹下 代码如下
  • 【软件测试工程师】App 应用测试方法以及测试思路

    分析三种主流的移动 App 类型 并给出和普通web测试不同的地方 给出测试的思路 并给出部分场景组合 移动端测试还是 PC 端测试 业务测试其实都属于 GUI 测试的范畴 所以基本的测试思路 比如基于页面对象封装和基于业务流程封装的思想是
  • 点击的li显示并为他增加类active,其他的li消失并去除类名,实现选项卡效果

    记得引入jquery库 ul class wrap ul
  • 一.使用qt creator 设计显示GUI

    一 安装qt creator 二 创建项目 文件 新建项目 三 使用设计 可以直接使用鼠标拖拽 四 转换为py文件 from123 py 为导出 py文件的文件名 form ui 为 qt creator创造的 ui 文件 pyuic5 o
  • 传统加密技术总结

    密码编码学与网络安全讨论两大领域 密码算法和协议 又可以分为4个主要的领域 对称加密 Symmetric encryption 用于加密任意大小的数据块或数据流的内容 消息 文件 加密密钥和口令 非对称加密 Asymmetric encry
  • Integration【2019牛客暑期多校训练营(第一场)B】【待定系数法】

    链接 https ac nowcoder com acm contest 881 B 来源 牛客网 题目描述 Bobo knows that 011 x2 dx 2 0 11 x2 dx 2 Given n distinct positiv