2017 ACM-ICPC 亚洲区(西安赛区)网络赛 Trig Function
来源:互联网 发布:mac好玩的联机游戏 编辑:程序博客网 时间:2024/06/05 08:53
2017 ACM-ICPC 亚洲区(西安赛区)网络赛 Trig Function
f(cos(x))=cos(n∗x) holds for all xxx.
Given two integers nnn and mmm, you need to calculate the coefficient of xmx^mxm in f(x)f(x)f(x), modulo 998244353998244353998244353.
Input Format
Multiple test cases (no more than 100100100).
Each test case contains one line consisting of two integers nnn and mmm.
1≤n≤109,0≤m≤1041 \le n \le 10^9,0 \le m \le 10 ^ 41≤n≤109,0≤m≤104.
Output Format
Output the answer in a single line for each test case.
样例输入
2 0
2 1
2 2
样例输出
998244352
0
2
切比雪夫多项式
注意:!!是双阶乘
#include <cstdio>#include <cstring>#include <algorithm>#include <iostream>using namespace std;typedef long long ll;#define mod 998244353ll q[100010];ll n,m;void init(){ q[0]=1; for (int i=1;i<100010;i++){ q[i]=q[i-1]*i%mod; }}ll qpow(ll n,ll m){ ll res=1; while(m){ if (m&1) res=res*n%mod; n=n*n%mod; m>>=1; } return res;}int main(){ init(); while(~scanf("%lld%lld",&n,&m)){ if (n<m){ printf("0\n"); continue; } if (n%2&&m%2==0){ printf("0\n"); continue; } if (n%2==0&&m%2){ printf("0\n"); continue; } ll fz=n%mod; if (m>=1){ for (int i=n-m+1;i<=n+m-1;i++){ if (i%2==(n+m-2)%2) fz=fz*i%mod; } ll x=fz*qpow(q[m],mod-2)%mod; if ((n-m)/2%2) x=-x; printf("%lld\n",(x+mod)%mod); } else { ll t =1; for (int i=m+n-1;i<=n-m;i++){ if (i%2==(n+m-2)%2) t=t*i%mod; } ll x =fz*qpow(q[m],mod-2)%mod*qpow(t,mod-2)%mod; if ((n-m)/2%2) x=-x; printf("%lld\n",(x+mod)%mod); } }}
阅读全文
0 0
- 计蒜客 17119 Trig Function(2017 ACM-ICPC 亚洲区(西安赛区)网络赛 F)
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 F. Trig Function
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛: F. Trig Function
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 Trig Function
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 F. Trig Function
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 F Trig Function(数论,组合数)
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 F.Trig Function(论文+组合数)
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 F. Trig Function cos(nx)
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 F. Trig Function
- Trig Function 2017ACM-ICPC亚洲区(西安赛区)网络赛F题
- 计蒜客17119 Trig Function 数学 2017 ACM-ICPC 亚洲区(西安赛区)网络赛
- 【 2017 ACM-ICPC 亚洲区(西安赛区)网络赛】 F. Trig Function
- 计蒜客-2017 ACM-ICPC 亚洲区(西安赛区)网络赛Trig Function(数学公式推理)
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 Trig Function(数据水,暴力+逆元)
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 F. Trig Function (切比雪夫多项式)
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 F. Trig Function (切比雪夫多项式)
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 F Trig Function(切比雪夫多项式)
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 F. Trig Function(切比雪夫定理)
- java同步锁synchronized的使用
- maven依赖jar包时版本冲突的解决
- hdu 1903 Exchange Rates(动态规划)
- Spark面对OOM问题的解决方法及优化总结
- 如何写SysV服务管理脚本
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 Trig Function
- 快速可靠协议:KCP
- leetcode 476. Number Complement(C语言)
- @Repository @ENTITY
- 图论——寻找最短路径路线的两种算法
- Visual C++ 2010 入门经典
- OpenJudge百炼-2804-词典-C语言-二分查找
- 大三上学期尝试考研的日子(流水账)
- TypeScript