2017 ACM-ICPC 亚洲区(西安赛区)网络赛 F
来源:互联网 发布:售后服务网络 编辑:程序博客网 时间:2024/06/18 08:11
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 02 12 2
样例输出
99824435202
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#include<queue>#include<map>#include<cstdlib>#include<string>#include<set>#include<stack>#define mod 998244353using namespace std;int n, k;long long PowerMod(long long a, long long b = mod - 2, long long c = mod){ long long ans = 1; a = a % c; while(b>0) { if(b & 1) ans = (ans * a) % c; b >>= 1; a = (a * a) % c; } return ans;}void xishu(){ long long ans = 1; if((n & 1) + (k & 1) == 1) { cout << 0 << endl; return ; } else { int tmp = (n - k) / 2; if(tmp & 1) ans = -1; else ans = 1; } for(int i = 1; i <= k; i++) { ans = ans * PowerMod(i) % mod; } int low = min(n + k - 2, n - k); int high = max(n + k - 2, n - k); if(n + k - 2 <= n - k) { for(int i = high ; i > low ; i -= 2) { ans = ans * PowerMod(i) % mod; } } else { for(int i = high; i > low; i -= 2) { ans = ans * i % mod; } } ans = ans * n % mod; cout << (ans + mod) % mod << endl;}int main(){ while(~scanf("%d %d", &n, &k)) { xishu(); } return 0;}
阅读全文
0 0
- 计蒜客 17119 Trig Function(2017 ACM-ICPC 亚洲区(西安赛区)网络赛 F)
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 F. Trig Function
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛: F. Trig Function
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 F. Trig Function
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 F
- 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题
- 【 2017 ACM-ICPC 亚洲区(西安赛区)网络赛】 F. Trig Function
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 Coin
- 51nod 1428 活动安排问题
- Struts2访问Servlet API的三种方式
- matplotlib-散点图
- Node.js的核心模块
- C++面试题库
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 F
- 1040. 有几个PAT(25)73min
- Duilib学习之仿酷狗开发(2)
- day03-css入门
- linux scp 免密码传输
- 51nod 1007 正整数分组(背包/dp)
- php&mysql查询分页等的一些细节
- web开发中 颜色名称 及 颜色代码,BGB
- 锐捷校园网:小米mini路由刷Padavan固件实现wifi上网