题目链接:Trig Function
题意:求给定n后,问sin(nx)多项式中,x^m项的系数是多少。
思路:切比雪夫多项式,可以把cos(nx)展开为系数不为0的每一项的累加。如图:

注意”!!”不是阶乘的阶乘,而是不超过n且与n具有相同奇偶性的所有正整数连乘积。

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<queue>
#include<stack>
#include<vector>
#include<cmath>
#include<map>
#include<set>
#include<cstdlib>
#define mem(a,b) memset(a,b,sizeof(a))
typedef long long ll;
using namespace std;
const int MOD = 998244353;
const int maxn = 1e4+10;
ll fact[maxn] = {1};//factorial阶乘
void init(){for(int i = 1; i < maxn; i++){fact[i] = i*fact[i-1]%MOD;}
}
ll inverse(ll x,int q){ll ret = 1;while(q){if(q%2 == 1){ret = ret*x%MOD;}x = x*x%MOD;q /= 2;}return ret;
}
int main(){init();int n,m;while(~scanf("%d%d",&n,&m)){if(m > n) puts("0");else if(n%2 == 1 && m%2 == 0 || n%2 == 0 && m%2 == 1){puts("0");}else{//应该留意的是,当n是偶数,m对应切比雪夫多项式中的2k//当n是奇数,m对应切比雪夫多项式中的2k-1,公式里对应的换为mif(m >= 1){/*求n*(n+m-2)!!/(n-m)!! 由于(n+m-2) >= (n-m),所以从(n-m+1) 遍历的 (n+m-1)*/ll fz = n%MOD;for(int i = n-m+1; i <= n+m-1; i++){if(i%2 == (n+m-2)%2){fz = fz*i%MOD;}}ll ans = fz*inverse(fact[m],MOD-2)%MOD;/*逆元:fz/fact[m]%MOD = fz*inverse(fact[m],mod-2);*/if((n-m)/2%2) ans = -ans;printf("%lld\n",(ans+MOD)%MOD);}else{/*求(n+m-2)!!/(n-m)!! 由于(n+m-2) < (n-m),所以从(n+m-1) 遍历的 (n-m)*/ll fm = 1;for(int i = n+m-1; i <= n-m; i++){if(i%2 == (n+m-2)%2){fm = fm*i%MOD;}}ll ans = n%MOD*inverse(fact[m],MOD-2)%MOD*inverse(fm,MOD-2)%MOD;if((n-m)/2%2) ans = -ans;printf("%lld\n",(ans+MOD)%MOD);}}}return 0;
}

2017 ACM-ICPC 亚洲区(西安赛区)网络赛 F Trig Function(切比雪夫多项式)相关推荐

  1. 计蒜客 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 ...

  2. 【推导】计蒜客17119 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 F. Trig Function

    题意:给你n,m,让你求cos(nx)的展开式的(cos(x))^m项的系数. 更一般的式子是这样的:. 队友的代码: #include<cstdio> #include<algor ...

  3. 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 ...

  4. 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 E Maximum Flow

    原题解链接:http://blog.csdn.net/kkkkahlua/article/details/78009087 他用的最小割的来求解最大流.认为只要讨论每一个点到0和n-1那个更小哪条边就 ...

  5. 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 F. Trig Function(切比雪夫定理)

    题目:https://nanti.jisuanke.com/t/17119 题意:找f(x)的x^m项的系数 思路:首先要找到公式啊 (还是别人发的,自己没找到 这样的话就可以直接按照公式找系数 代码 ...

  6. 2016 ACM/ICPC亚洲区青岛站现场赛(部分题解)

    摘要 本文主要列举并求解了2016 ACM/ICPC亚洲区青岛站现场赛的部分真题,着重介绍了各个题目的解题思路,结合详细的AC代码,意在熟悉青岛赛区的出题策略,以备战2018青岛站现场赛. HDU 5 ...

  7. 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 ...

  8. Skiing(2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛 H)

    Problem Description In this winter holiday, Bob has a plan for skiing at the mountain resort. This s ...

  9. 计蒜客-2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛H题Skiing(拓扑序求DAG最长路)

    题意: 给定一个有向无环图,求该图的最长路. 思路: 由于是有向无环图,所以最长路肯定是一个入度为0到出度为0的路径,拓扑序在确定当前点之前能够考虑到所有到它的情况,所以最后取个最值即可. 代码: # ...

  10. 2017 ACM/ICPC(西安)赛后总结

    早上8:00的高铁,所以不得不6点前起床,向火车站赶--到达西安后已经是中午,西工大距离西安北站大概3小时车程的距离,只好先解决午饭再赶路了--下午3.30的热身赛,一行人在3.35左右赶到了赛场,坐 ...

最新文章

  1. c语言可视化_这些算法可视化网站助你轻松学算法
  2. TCP穿透NAT的C++版
  3. 人工机器:jetsonnano推理时出现 Segmentation fault(core dumped)
  4. windows phone 8 使用页面传对象的方式 实现页面间的多值传递
  5. 她只用1个方法,就把英语拿下了!
  6. 同步器 java_您可能不知道的五个高级Java同步器
  7. springboot怎么返回404_SpringBoot(二十)_404返回统一异常处理结果
  8. python控制树莓派gpioled,Python 控制树莓派 GPIO 输出:控制 LED 灯
  9. 算法笔记_094:蓝桥杯练习 矩阵相乘(Java)
  10. ajax 购物车 c#,c#购物车功能实现及收藏功能实现
  11. native8081端口 react_教你轻松修改React Native的端口(如何同时运行多个React Native、8081端口占用问题)...
  12. 关于设计行业的一些分类
  13. EXCEL 数据比对查询好用的指令——VLOOKUP 三种使用场景
  14. transform: translateY(-100%)偏移实现上滑隐藏导航栏
  15. Redisson分布式锁学习总结:RedissonMultiLock 如何同时锁住N个资源
  16. Event-Triggering Sampling Based Leader-FollowingConsensus in Second-Order Multi-Agent Systems
  17. 广告营销用户点击预测分析
  18. ffmpeg 常用命令行 (视频-转码)
  19. 没有空闲时间时该如何做一个业余项目?
  20. java中的“我”不是“我”,NaN特殊标识以及正无穷+负无穷应该等于多少?

热门文章

  1. js的中文在网页中显示为乱码
  2. H5网页实现微信分享,分享朋友圈功能(分享带图片,附源码)
  3. 【PDN仿真笔记4-电容布局仿真及结果分析】
  4. 激活函数(激励函数)理解总结
  5. jsoneditor光标错位的原因及解决方式
  6. 在vscode中使用opencv
  7. opencv的下载报错解决
  8. Go语言后端开发技术栈
  9. 全链路日志追踪系统介绍与思考
  10. USB转NRF24L01模块 带UI上位机