digits
Digits
(digits.cpp/c/pas)
Description
给一个关于x的多项式,并给定一个x,求该多项式在带入该x时的值最后k位数字。
Input
第一行两个整数n、k;
之后的 行,每行两个数ai和bi,表示多项式的一项 aix^bi;
最后一行一个整数x。
Output
输出k行,按顺序输出该多项式带入x后值的最后k位数字,若不足k位,则高位补零。
Example
digits.in
2 1
3 2
1 5
3
digits.out
0
附加样例见选手目录下『digits』文件夹。
Hint
对于30%的数据,n,k,ai,bi<=3,x<=10 ;
对于100%的数据,1<=n<=100000,1<=ai,bi,x<=10^9,1<=k<=8。
【题目分析】
快速幂取模,一定要随时!随时!随时%%%!
/*
评测机上我只有40分,然而我把每一组数据都代入输出,与nancheng58(评测100分)的输出一毛一样!!!为什么评测机给我40!!!我感受到了来自世界深深的恶意!
*/
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
long long x,a[],b[],sum=,mod=,ch,yy;
int n,k,an[];
long long ksm(long long a,long long p)
{
long long ans=;
for(;p;p>>=,a=(a*a)%mod)//here.
if(p&)
ans=ans%mod*a%mod;
return ans;
}
int main()
{
freopen("digits10.in","r",stdin);
freopen("digits.out","w",stdout);
scanf("%lld%d",&n,&k);
for(int i=;i<=k;i++)
mod=mod*;
for(int i=;i<=n;i++)
scanf("%lld%lld",&a[i],&b[i]);
scanf("%lld",&x);
for(int i=;i<=n;i++)
{
ch=ksm(x%mod,b[i]);
yy=(ch%mod)*(a[i]%mod);
sum=(sum%mod+(yy%mod))%mod;
}
an[]=sum/;
an[]=sum/%;
an[]=sum/%;
an[]=sum/%;
an[]=sum/%;
an[]=sum/%;
an[]=sum/%;
an[]=sum%;
for(int i=k;i>=;i--)
printf("%d\n",an[i]);
fclose(stdin);fclose(stdout);
return ;
} //下面附上nancheng58满分代码(郁闷!) #include<iostream>
#include<cstdio>
#define MAXN 100001
#define LL long long
using namespace std;
LL n,k,a[MAXN],b[MAXN],mod,m,lim,ans,c[];
LL read()
{
LL x=,f=;char ch=getchar();
while(ch<''||ch>'') {if(ch=='-')f=-;ch=getchar();}
while(ch>=''&&ch<='')x=x*+ch-,ch=getchar();
return x*f;
}
LL mi(LL x,LL y)
{
LL tot=;
while(y)
{
if(y&) tot=(tot*x)%mod;
x=(x*x)%mod;
y>>=;
}
return tot;
}
int main()
{
freopen("digits10.in","r",stdin);
freopen("digits.out","w",stdout);
n=read(),mod=read();
lim=m=mod;mod=;
while(m--) mod*=;
for(int i=;i<=n;i++)
a[i]=read()%mod,b[i]=read();
k=read();
k%=mod;
for(int i=;i<=n;i++)
{
ans=(ans+a[i]*mi(k,b[i])%mod)%mod;
}
for(int i=lim;i>=;i--)
{
c[i]=ans%;
ans/=;
}
for(int i=;i<=lim;i++)
printf("%d\n",c[i]);
fclose(stdin);fclose(stdout);
return ;
}
digits的更多相关文章
- [LeetCode] Reconstruct Original Digits from English 从英文中重建数字
Given a non-empty string containing an out-of-order English representation of digits 0-9, output the ...
- [LeetCode] Remove K Digits 去掉K位数字
Given a non-negative integer num represented as a string, remove k digits from the number so that th ...
- [LeetCode] Count Numbers with Unique Digits 计算各位不相同的数字个数
Given a non-negative integer n, count all numbers with unique digits, x, where 0 ≤ x < 10n. Examp ...
- [LeetCode] Add Digits 加数字
Given a non-negative integer num, repeatedly add all its digits until the result has only one digit. ...
- LeetCode 258. Add Digits
Problem: Given a non-negative integer num, repeatedly add all its digits until the result has only o ...
- ACM: FZU 2105 Digits Count - 位运算的线段树【黑科技福利】
FZU 2105 Digits Count Time Limit:10000MS Memory Limit:262144KB 64bit IO Format:%I64d & ...
- Revolving Digits[EXKMP]
Revolving Digits Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- 【LeetCode】Add Digits
Add Digits Given a non-negative integer num, repeatedly add all its digits until the result has only ...
- Add Digits, Maximum Depth of BinaryTree, Search for a Range, Single Number,Find the Difference
最近做的题记录下. 258. Add Digits Given a non-negative integer num, repeatedly add all its digits until the ...
- android:digits属性
android:digits属性限定输入的字符 可以用于密码输入等输入框 ex: 个人意见: 但是这样的话不符合要求的字符直接输入不上去,可能会给用户造成困惑,最好给出提示或用其他工具. 本文欢迎转载 ...
随机推荐
- C语言中最常用标准库函数
标准头文件包括: <asset.h> <ctype.h> <errno.h> <float.h> <limits ...
- 简单css动画 fadeIn fadeOut flash
考虑兼容性采用 -webkit- -o- -mos- -ms- @keyframes fadeIn{ 0%{ opacity: 0; display: block; } 100%{ opacity: ...
- js基本语法之 值类型(数据类型)(变量类型)
一.不可改变的原始值(栈数据)(五个) 数字(number),字符串(string),布尔值(boolean),undefined,null 其中;undefined是未定义的意思,而null是空的意 ...
- 【图论 动态规划拆点】luoguP3953 逛公园
经典的动态规划拆点问题. 题目描述 策策同学特别喜欢逛公园.公园可以看成一张 NN 个点 MM 条边构成的有向图,且没有 自环和重边.其中1号点是公园的入口, NN 号点是公园的出口,每条边有一个非负 ...
- (39)zabbix snmp自定义OID nginx监控实例
为什么要自定义OID? 前面的文章已经讲过zabbix如何使用snmp监控服务器,但是他有一个很明显的局限性:只能监控定义好的OID项目 假如我们想知道nginx进程是否在运行?在没有zabbix a ...
- LeetCode(39) Combination Sum
题目 Given a set of candidate numbers (C) and a target number (T), find all unique combinations in C w ...
- 【HIHOCODER 1529】 不上升序列
描述 给定一个长度为 n 的非负整数序列 a[1..n]. 你每次可以花费 1 的代价给某个 a[i] 加1或者减1. 求最少需要多少代价能将这个序列变成一个不上升序列. 输入 第一行一个正整数 n. ...
- 关于set和multiset的一些用法
set的一些用法 set的特性 set的特性是,所有元素都会根据元素的键值自动排序,set不允许两个元素有相同的键值. set的一些常用操作函数 insert() insert(key_value); ...
- JS(原型和原型链)
(学习自慕课网<前端JavaScript 面试技巧> JS(原型和原型链) 题目1.如何准确判断一个变量是数组类型 使用 instanceof 方法 题目2.写一个原型链继承的例子 实例: ...
- PYDay1-洗剑
学习语言的阶段: 第一阶段:所有东西都是新的::一个月 第二阶段:开始懂一些::一个月 第三阶段:感觉自己是不可战胜的:第三~第四个月 第四阶段:突然感觉什么都不知道,开发是无止境的::培训阶段不会遇 ...