Gym 100818F Irrational Roots (数学)
Irrational Roots
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=101594#problem/F
【题意】:
判断一个整系数高阶方程的无理根的个数。
【解题思路】:
定理:如果方程f(x)=0的系数都是整数,那么方程有理根仅能是这样的分数p/q,其分子p是方程常数项的约数,分母q是方程最高次项的约数。
这里最高次系数为1,那么有理根就一定为整数。
题目给定了根的范围,枚举整数判断是为根即可。
重根判断:求导直到导数不为0.
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cmath> 5 #include<algorithm> 6 #define LL long long 7 #define maxn 1100000 8 #define eps 1e-8 9 #define IN freopen("in.txt","r",stdin); 10 using namespace std; 11 12 int main(int argc, char const *argv[]) 13 { 14 //IN; 15 16 int n; 17 LL a[10]; 18 LL b[10]; 19 while(scanf("%d",&n)!=EOF) 20 { 21 for(int i=1;i<=n;i++) scanf("%I64d",&b[i]);b[0]=1; 22 23 int ans = 0; 24 for(int i=-10;i<=10;i++){ 25 for(int j=0;j<=n;j++) a[j]=b[j]; 26 LL t[10] = {0}; 27 LL x = 1; 28 for(int j=n;j>=0;j--){ 29 t[j] = a[j]*x; 30 x *= i; 31 } 32 33 LL sum = 0; 34 for(int j=0;j<=n;j++) sum+=t[j]; 35 36 if(sum == 0){ 37 ans++; 38 for(int k=0;k<n;k++){//qiudao 39 40 for(int j=n;j>=0;j--){ 41 a[j] = a[j]*(n-j-k); 42 } 43 LL x = 1; 44 for(int j=n-k-1;j>=0;j--){ 45 t[j] = a[j]*x; 46 x *= i; 47 } 48 49 LL sum = 0; 50 for(int j=0;j<=n-k-1;j++) sum += t[j]; 51 if(sum == 0) ans++; 52 else break; 53 } 54 } 55 } 56 57 printf("%d\n",n-ans); 58 } 59 60 return 0; 61 }
转载于:https://www.cnblogs.com/Sunshine-tcf/p/5031595.html
Gym 100818F Irrational Roots (数学)相关推荐
- Gym 101334A Area 51 数学
大致题意: 给出n个建筑的二维坐标,每个建筑名称为一个字母,不同坐标的建筑可以有同一名称,并保证这些坐标都是在y轴上半轴.给出一串建筑名称的字符串,在X轴上找出一个或多个区间,使Nick在这个区间上从 ...
- 【推导】【数学期望】Gym - 101237D - Short Enough Task
按照回文子串的奇偶分类讨论,分别计算其对答案的贡献,然后奇偶分别进行求和. 推导出来,化简一下--发现奇数也好,偶数也好,都可以拆成一个等比数列求和,以及一个可以错位相减的数列求和. 然后用高中数学知 ...
- Codeforces Gym 100269G Garage 数学
Garage 题目连接: http://codeforces.com/gym/100269/attachments Description Wow! What a lucky day! Your co ...
- HDU——1013(字符串+数学)Digital Roots
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1013 题意:给你一个整数列表,让位数上的数相加得到一个新的数,若为个位数则输出,若不为个位数重复此操作 ...
- H - Great Cells Gym - 101194H(数学推导/思维)
VJ地址 ps:在训练时写这道题 差点被送走了 我们可以发现给出的公式可以转化这样 这个就不说了,就是k^(nm)所以排列的可能; 然后我们要重点观察这个公式,可以发现g * Ag(方案数 * goo ...
- codeforce Gym 100418K Cards (概率,数学)
题意:麦田的故事,n张牌,取x张牌,记住前x张牌最大的值m,继续往后取,遇到第一张比m大的牌就停下来.求一个x使得最后的牌在整副牌里是最大的期望最大. 假设最大的牌是A,A在各种位置出现的概率就是相等 ...
- 2019ccpc哈尔滨站K题(数学期望) Gym - 102394K Keeping Rabbits
题目大意: 现在有nnn个兔子抢胡萝卜,nnn个兔子初始质量分别为wiw_iwi,每次会有一个兔子胜出,然后它只一个萝卜质量w+1w+1w+1,每回合第 iii 个兔子生出的概率为:wi∑j=1nw ...
- 红书《题目与解读》第一章 数学 题解《ACM国际大学生程序设计竞赛题目与解读》
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 红书<题目与解读>第一章 数学 题解<ACM国际大学生程序设计竞赛题目与解读> ...
- 为了数学的明天,,穿越时空,重返南大(III)-
为了数学的明天,,穿越时空,重返南大(III) 进入二十一世纪,非阿基米德数学(比如:含有无穷小的连续统)逐渐兴起,我们用该如何面对? 这是一个基本问题,必须彻底搞清楚,事实求是. ...
- 数学术语的英汉对照(权威,全面)
abbreviation 简写符号:简写 abscissa 横坐标 absolute complement 绝对补集 absolute error 绝对误差 absolute inequality 绝 ...
最新文章
- LeetCode:144_Binary Tree Preorder Traversal | 二叉树的前序遍历 | Medium
- [分享]关于windows下的小技巧
- linux 知识点 随笔
- ZooKeeper学习总结(2)——ZooKeeper开源Java客户端ZkClient使用
- 用java实现动态排序_关于Java动态分组排序的问题(Android中需要将数据排序给RecyclerView使用)...
- 计算机程序C语言若初始数为48,2016年计算机软考程序员模拟选择试题
- RPC理论以及Dubbo的使用介绍
- shell的图形化工具(七)
- sketchup生成面域插件_什么插件这么神奇,SketchUp一秒搞定99%异形建模
- Unity简单爆炸效果的实现
- Android安全论文汇集
- 第5章第16节:案例:制作一份漂亮的翻页动画 [PowerPoint精美幻灯片实战教程]
- SaaSpace:9种最好的免费幻灯片制作工具
- 尚硅谷大数据技术之Kettle
- html 弹出复选框,js点击文本框弹出可选择的checkbox复选框
- 数组传参(一维数组、二维数组)
- システム関連の完了コード
- 很猛很疯狂,北京楼市促销十年少见 房价下跌论渐占上风
- 信息技术自主创新的分级模型
- 2022开年书单:7本程序员专业书籍与您相约
热门文章
- 常用浏览器如何设置代理服务器上网(图文教程)
- Gartner预测云迁移规模大幅增长;云迁移的优势是什么?
- 谢国忠:2012年股市、楼市泡沫终将破灭
- 无线串口模块SX1278的使用后记
- 高德h5地图api接口_概述-URI API | 高德地图API
- 计算机专业哪个考研简单,考研哪些专业比较简单好考?
- linux gpfs,IBM GPFS并行文件系统解决方案
- iOS开发之NSLocalizedString,多个本地化语言(Xcode9.2)
- linux查看设备pid vid,Linux设备PID VID详细说明
- DownloadHelper使用教程