【CF493E】【数学】Vasya and Polynomial
Vasya is studying in the last class of school and soon he will take exams. He decided to study polynomials. Polynomial is a function P(x) = a0 + a1x1 + ... + anxn. Numbers ai are called coefficients of a polynomial, non-negative integer n is called adegree of a polynomial.
Vasya has made a bet with his friends that he can solve any problem with polynomials. They suggested him the problem: "Determine how many polynomials P(x) exist with integer non-negative coefficients so that
, and
, where
and b are given positive integers"?
Vasya does not like losing bets, but he has no idea how to solve this task, so please help him to solve the problem.
The input contains three integer positive numbers
no greater than 1018.
If there is an infinite number of such polynomials, then print "inf" without quotes, otherwise print the reminder of an answer modulo 109 + 7.
|
1
|
2 2 2
|
|
1
|
2
|
|
1
|
2 3 3
|
|
1
|
1
|
【分析】
题意:给出三个正整数t,a,b。
问有多少个形如P(x) = a0 + a1 * x + a2 * (x ^ 2) + ....+an * (x ^ n) {ai >= 0 | 0<= i <=n} 的多项式满足P(t) = a,且P(a) = b。注意n未给出。
有意思的一道题。
答案只有三种情况:
1、t = a = b = 1,Ans = INF。显然,n可以取到任意大。
2、t = a = b > 1,Ans = 2。也比较显然,既P(t) = t,仅在 n = 0, a0 = t和 n = 1, a1 = 1, a0 = 0的时候成立,n再大 $t^n$ 就会导致答案大于t了。
3、其他情况下最多一组解。
证明:
首先由P(t) = a 易知 多项式sum{ai | 0<= i <=n} <= a,且仅在t = 1的时候取等号。
①t > 1
假设存在一个多项式P(a) = a0 + a1 * a + a2 * (a ^ 2) +.... +an * (a ^ n) = b,我们尝试将其中任意一项 (a ^ k)的系数 ak 减 1 (k >= 1 且 ak > 0)。
整体的值减少了(a ^ k), 将a ^ k 化为 (a ^ k1) * (a ^ k2),(k1+k2 = k 且 k1 <= k2),把a ^ k1当做系数,将会使整个多项式的系数大于等于a(系数增加了至少a - 1),因此不满足条件。
所以可知,如果存在一个多项式P(a)满足条件,一定不存在其他的多项式满足条件,即最多只存在一个多项式符合条件。
想要得到这个多项式也很简单,即相当于对b进行进制转换,变成a进制,然后再将t带入验证即可。
②t = 1
P(1) = a0 + a1 + a2 + .. an = a,P(a) = a0 + a1 * a + a2 * (a ^ 2) + .. an * (a ^ n) = b;
看到系数和已经被确定了为a了,接下来证明跟上面一样的...
代码没写....
【CF493E】【数学】Vasya and Polynomial的更多相关文章
- cf493E Vasya and Polynomial
Vasya is studying in the last class of school and soon he will take exams. He decided to study polyn ...
- Codeforces Codeforces Round #319 (Div. 2) C. Vasya and Petya's Game 数学
C. Vasya and Petya's Game Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/ ...
- Codeforces Round #319 (Div. 2) C. Vasya and Petya's Game 数学
C. Vasya and Petya's Game time limit per test 1 second memory limit per test 256 megabytes input sta ...
- 数学 - Codeforces Round #319 (Div. 1)A. Vasya and Petya's Game
Vasya and Petya's Game Problem's Link Mean: 给定一个n,系统随机选定了一个数x,(1<=x<=n). 你可以询问系统x是否能被y整除,系统会回答 ...
- poj 2126 Factoring a Polynomial 数学多项式分解
题意: 给一个多项式,求它在实数域内的可分解性. 分析: 代数基本定理. 代码: //poj 2126 //sep9 #include <iostream> using namespace ...
- CodeForces 577C Vasya and Petya's Game 数学
题意就是给你一个1到n的范围 你每次可以问这个数是否可以被某一个数整除 问你要猜多少数才能确定这个数…… 一开始一点思路也没有 后来查了一下才知道 每个数都可以分为几个质数的整数次幂相乘得到…… #i ...
- Codeforces Round #512 (Div. 2) D.Vasya and Triangle 数学
题面 题意:给你n,m,k,在你在(0,0)到(n,m)的矩形内,选3个格点(x,y都是整数),使得三角形面积为n*m/k,不能找到则输出-1 题解:由毕克定理知道,格点多边形的面积必为1/2的整数倍 ...
- Polynomial Library in OpenCascade
Polynomial Library in OpenCascade eryar@163.com 摘要Abstract:分析幂基曲线即多项式曲线在OpenCascade中的计算方法,以及利用OpenSc ...
- 一些对数学领域及数学研究的个人看法(转载自博士论坛wcboy)
转自:http://www.math.org.cn/forum.php?mod=viewthread&tid=14819&extra=&page=1 原作者: wcboy 现在 ...
随机推荐
- HW3.19
import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...
- Go Slices: usage and internals
Introduction Go's slice type provides a convenient and efficient means of working with sequences of ...
- 转储指定的数据块并查看TRC信息
1.转储指定的块:需要两个信息:文件号和块号 BYS@bys1>alter system dump datafile 1 block 100; System altered. 2.定位找出use ...
- iptables与tcpdump谁更靠近网卡
结论是tcpdump,用tcpdump抓包试试就知道了. // 将所有访问8080端口的包丢弃 iptables -A INPUT -s -j DROP // 查看iptables的策略 iptabl ...
- iOS开发中懒加载的使用和限制
1.在开发过程中很多时候,很多控件和对象需要alloc为了,提高开发效率使得懒加载得以产生. 2.下边用代码解释: - (NSMutableArray *)newsArr{ if (!_newsArr ...
- C#.bat文件清理工程目录
另外一种方法是自己写一个bat文件来清理,非常方便,下面是自己写的验证过比较好用的方法. bat文件内容如下: echo 正在清理VS2010工程中不需要的文件 echo 请确保本文件放置在工程目录之 ...
- Log4E
工具地址:http://marketplace.eclipse.org/content/log4e Log4E插件能够帮助你在Java项目中轻松地创建记录器.它可以在以下几个任务中提供帮助:记录器声明 ...
- [转]Reducing script compile time or a better workflow to reduce excessive recompiling
http://forum.unity3d.com/threads/148078-Reducing-script-compile-time-or-a-better-workflow-to-reduce- ...
- android之自定义ViewGroup和自动换行的布局的实现
viewgroup简单说就是可以装view的view.今天遇到一个问题,就是需要一个可以自动根据一行中view的宽度自动换行的布局,网上 找了下,没有相关的例子,但是找到了思路:自定义一个viewgr ...
- Error: no `server' JVM at...解决办法 【转】
出现问题:用java -jar XXX.jar -server -Xms900m -Xmx900m 提示错误Error: no `server' JVM at `C:\Program Files\Ja ...