2017 ACM-ICPC 亚洲区(西安赛区)网络赛 F
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<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;elseans = 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;
}
2017 ACM-ICPC 亚洲区(西安赛区)网络赛 F相关推荐
- 计蒜客 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B coin(求乘法逆元)
Bob has a not even coin, every time he tosses the coin, the probability that the coin's front face u ...
- Maximum Flow(2017 ACM-ICPC 亚洲区(西安赛区)网络赛 E)
Problem Description Given a directed graph with nn nodes, labeled 0,1,⋯,n−1. For each <i, j> s ...
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 E Maximum Flow
原题解链接:http://blog.csdn.net/kkkkahlua/article/details/78009087 他用的最小割的来求解最大流.认为只要讨论每一个点到0和n-1那个更小哪条边就 ...
- 2016 ACM/ICPC亚洲区青岛站现场赛(部分题解)
摘要 本文主要列举并求解了2016 ACM/ICPC亚洲区青岛站现场赛的部分真题,着重介绍了各个题目的解题思路,结合详细的AC代码,意在熟悉青岛赛区的出题策略,以备战2018青岛站现场赛. HDU 5 ...
- 2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛B: Out-out-control cars
问题 B: Out-out-control cars 题目描述 Two out-of-control cars crashed within about a half-hour Wednesday a ...
- Skiing(2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛 H)
Problem Description In this winter holiday, Bob has a plan for skiing at the mountain resort. This s ...
- 计蒜客-2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛H题Skiing(拓扑序求DAG最长路)
题意: 给定一个有向无环图,求该图的最长路. 思路: 由于是有向无环图,所以最长路肯定是一个入度为0到出度为0的路径,拓扑序在确定当前点之前能够考虑到所有到它的情况,所以最后取个最值即可. 代码: # ...
- 2017 ACM/ICPC(西安)赛后总结
早上8:00的高铁,所以不得不6点前起床,向火车站赶--到达西安后已经是中午,西工大距离西安北站大概3小时车程的距离,只好先解决午饭再赶路了--下午3.30的热身赛,一行人在3.35左右赶到了赛场,坐 ...
- 2010 ACM/ICPC Online-Contest-SCU[四川赛区网络预选赛]
Problem A.A Simple Problem 比赛时唯一做出来的一道题. 描述: Time limit: 1 second Memory limit: 256 megabytes There' ...
- 2017acm乌鲁木齐赛区网络赛F题tarjan缩点
poj1236是问把一棵树变成强联通分量,于是答案就是rudu为0的和出度为0的最大值,因为假设入度为0的多一些,先每个出度为0的连接一个入度为0的,那么还剩一些入度为0的,这时候入度为0的随意连接一 ...
最新文章
- 源码阅读:AFNetworking(十六)——UIWebView+AFNetworking
- linux怎么安装java环境变量_如何简单的在linux上安装jdk并配置环境变量
- Github | 深度神经网络(DNN)与生成式对抗网络(GAN)模型总览
- Linux 中 用cat 输出文件内容
- 打开u盘显示参数错误
- 代购源码,淘宝代购系统源码,代购程序,代购系统源码PHP前端源码参数说明
- oracle表连接查询逗号隔开_Oracle多表连接查询
- Oracle连接不上解决办法合集
- 谷歌浏览器(Chrome)输入框总是有历史输入记录,解决办法
- 微软surface屏幕测试软件,【微软 Surface Pro 3 平板电脑使用感受】屏幕|软件_摘要频道_什么值得买...
- 数据挖掘(二)预测潜在贷款发放客户
- LRS+XAPI教育学习记录(安装lrs,以及用xapi传输数据到lrs)
- miumiu音乐app总结
- Java2实用教程(第六版)第一章习题答案
- BAL数据集格式解读
- java实现动漫论坛
- JavaScript 之封装、继承、多态
- Windows批处理——批量新建文件夹
- pycharm运行sh文件的方法
- 2016年中国云服务器产品十大品牌排行榜
热门文章
- POI与easyPOI版本冲突问题
- “超级病毒”爆发,专杀杀毒软件!
- 怎么将计算机恢复到前一天的状况,我的word文档保存过后,发现要恢复到保存前的状态怎么办啊?...
- mysql 高级语法_3、sql高级语法(一)
- android 应用图标缓存清理,垃圾缓存清理大师
- 黄金3月...人才招聘高峰期,找工作真的有这么难吗?
- ES6 深入理解 ${ } 模版
- matlab 经纬度插值,给定两个经纬度,以及插值n,求出中间n个经纬度的值
- 9月3日上海见!明汯投资、JPMorgan、路博迈、贝莱德建信都来啦~
- java基础 根据年龄进行划分