2017-7-22 NOIP模拟赛
Digits
(digits.cpp/c/pas)
Description
给一个关于 的多项式,并给定一个 ,求该多项式在带入该 时的值最后 位数字。
Input
第一行两个整数 、 ;
之后的 行,每行两个数 和 ,表示多项式的一项 ;
最后一行一个整数 。
Output
输出 行,按顺序输出该多项式带入 后值的最后 位数字,若不足 位,则高位补零。
Example
digits.in digits.out
2 1
3 2
1 5
3
0
附加样例见选手目录下『digits』文件夹。
Hint
对于 的数据, ;
对于 的数据, 。
/*
要求后k位,实际上就是对10^k取模,用快速幂
*/
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
long long n,k,a[],b[],X,tmp[],mod,ans,Ans[];
using namespace std;
long long Pow(long long x,long long t){
long long res=;
while(t){
if(t&)
res=x*res%mod;
x=x*x%mod;
t>>=;
}
return res;
}
int main(){
freopen("digits.in","r",stdin);
freopen("digits.out","w",stdout);
scanf("%lld%lld",&n,&k);
for(long long i=;i<=n;i++)scanf("%lld%lld",&a[i],&b[i]);
scanf("%lld",&X);
mod=;
for(long long i=;i<=k;i++)mod*=;
X%=mod;
for(long long i=;i<=n;i++){
long long now=((a[i]%mod)*Pow(X,b[i]))%mod;
ans+=now;
}
for(long long i=;i<=k;i++){
Ans[i]=ans%;
ans/=;
}
for(long long i=k;i>=;i--)cout<<Ans[i]<<endl;
fclose(stdin);
fclose(stdout);
return ;
}
Equation
(equation.cpp/c/pas)
Description
求方程 在 内有多少组正整数解。
Input
一行七个整数 。
Output
一行一个整数,原方程有多少正整数解。
Example
equation.in equation.out
10 -24 74 -25 22 -7 -22 5
附加样例见选手目录下『equation』文件夹。
Hint
对于 的数据,方程无解;
对于 的数据, ;
对于 的数据, 。
/*
a1x1-a2x2+a3x3-a4x4+a5x5-a6x6=0
方程可化为 a1x1-a2x2+a3x3=a4x4-a5x5+a6x6
通过映射匹配,2n^3跑得过
*/
#include<iostream>
#include<cstring>
#include<cstdio>
#include<map>
using namespace std;
map<int,int>b;
int a[],K,ans;
int main(){
freopen("equation.in","r",stdin);
freopen("equation.out","w",stdout);
scanf("%d",&K);
bool flag1,flag2;
for(int i=;i<=;i++){
scanf("%d",&a[i]);
if(a[i]>)flag1=;
if(a[i]<)flag2=;
};
a[]=-a[];a[]=-a[];a[]=-a[];
if(flag1!=flag2){
printf("");
return ;
}
for(int i=;i<=;i++)a[i]=-a[i];
int now;
for(int i=;i<=K;i++)
for(int j=;j<=K;j++)
for(int k=;k<=K;k++){
now=a[]*i+a[]*j+a[]*k;
b[now]++;
}
for(int i=;i<=K;i++)
for(int j=;j<=K;j++)
for(int k=;k<=K;k++){
now=a[]*i+a[]*j+a[]*k;
ans+=b[now];
}
printf("%d",ans);
fclose(stdin);
fclose(stdout);
return ;
}
Graph
( graph .cpp/c/pas)
Description
小 Y 又开始了一段旅途。
这次,他要经过一个图,从 号点到达 号点,每个点设有休息站。
小 Y 计划用最多 天走完全程,除第 天外,每一天小 Y 都必须在休息站过夜。所以,一段路
必须在同一天走完。
小 Y 的体力有限,他希望走的路程最大的一天中走的路尽可能少,请求出这个最小值。
Input
第一行三个整数 、 、 表示图的顶点数、边数、天数。
从第二行开始,之后的 行,每行三个整数 、 、 表示从 和 间有一条双向道路,长度
为 。
Output
一行一个正整数,如果小 Y 能走完全程,输出走的路程最大的一天中走的路程最小值,否则输
出 。
Example
graph.in graph.out
3 2 4
3 2 4
1 2 1
4
附加样例见选手目录下『graph』文件夹。
Hint
对于 的数据, ;
对于 的数据, ;
对于 的数据, , , ;
保证没有重边和自环。
/*
求出最小生成树,答案一定在最小生成树上;
如果起点和终点不联通,输出-1;
答案为最小生成树上起点和终点间唯一路径上的最大边权。
*/
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
struct node{
int from,to,v;
}e[];
int fa[],m,n,k;
bool cmp(node x,node y){
return x.v<y.v;
}
int find(int x){
if(fa[x]==x)return x;
return fa[x]=find(fa[x]);
}
bool connect(int x,int y){
int f1=find(x),f2=find(y);
if(f1==f2)return ;
fa[f1]=f2;
return ;
}
int main(){
freopen("graph.in","r",stdin);
freopen("graph.out","w",stdout);
scanf("%d%d%d",&n,&m,&k);
for(int i=;i<=n;i++)
fa[i]=i;
for(int i=;i<=m;i++)
scanf("%d%d%d",&e[i].from,&e[i].to,&e[i].v);
sort(e+,e+m+,cmp);
bool flag=false;int tot=;
for(int i=;i<=m;i++){
if(connect(e[i].from,e[i].to))tot++;
if(find()==find(n)){
printf("%d",e[i].v);
flag=true;
break;
}
if(tot==n-)break;
}
if(!flag)printf("-1");
fclose(stdin);
fclose(stdout);
return ;
}
2017-7-22 NOIP模拟赛的更多相关文章
- 2018.9.22 NOIP模拟赛
*注意:这套题目应版权方要求,不得公示题面. 从这里开始 Problem A 妹子 Problem B 旅程 Problem C 老大 因为业务水平下滑太严重,去和高一考NOIP模拟,sad... P ...
- 2017.6.11 NOIP模拟赛
题目链接: http://files.cnblogs.com/files/TheRoadToTheGold/2017-6.11NOIP%E6%A8%A1%E6%8B%9F%E8%B5%9B.zip 期 ...
- 2017 10.25 NOIP模拟赛
期望得分:100+40+100=240 实际得分:50+40+20=110 T1 start取了min没有用,w(゚Д゚)w O(≧口≦)O T3 代码3个bug :数组开小了,一个细节没注意, ...
- 2017.5.27 NOIP模拟赛(hzwer2014-5-16 NOIP模拟赛)
期望得分:100+100+60+30=290 实际得分:100+20+60+0=180 当务之急:提高一次正确率 Problem 1 双色球(ball.cpp/c/pas) [题目描述] 机房来了新一 ...
- 18.9.22 noip模拟赛
此题为找规律.期望100 实际100 #include<cstdio> #include<cstring> #include<iostream> #include& ...
- 【2019.7.22 NOIP模拟赛 T1】麦克斯韦妖(demon)(质因数分解+DP)
暴力\(DP\) 先考虑暴力\(DP\)该怎么写. 因为每个序列之后是否能加上新的节点只与其结尾有关,因此我们设\(f_i\)为以\(i\)为结尾的最长序列长度. 每次枚举一个前置状态,判断是否合法之 ...
- 5.22 noip模拟赛
本来我是不想写的,无奈不会写.蒟蒻 考场就是想不出来 今天得到了100分额外水过了100分我是真的失败.还有一个根本不会check 感觉自己非常之菜. 这道题是这样的 还行吧比较有意思 首先确立一个真 ...
- 10.16 NOIP模拟赛
目录 2018.10.16 NOIP模拟赛 A 购物shop B 期望exp(DP 期望 按位计算) C 魔法迷宫maze(状压 暴力) 考试代码 C 2018.10.16 NOIP模拟赛 时间:2h ...
- 【HHHOJ】NOIP模拟赛 捌 解题报告
点此进入比赛 得分: \(30+30+70=130\)(弱爆了) 排名: \(Rank\ 22\) \(Rating\):\(-31\) \(T1\):[HHHOJ260]「NOIP模拟赛 捌」Dig ...
- NOIP模拟赛20161022
NOIP模拟赛2016-10-22 题目名 东风谷早苗 西行寺幽幽子 琪露诺 上白泽慧音 源文件 robot.cpp/c/pas spring.cpp/c/pas iceroad.cpp/c/pas ...
随机推荐
- Spring中的JDBC操作
一.Spring模板JdbcTemplate 为了使 JDBC 更加易于使用, Spring 在 JDBC API 上定义了一个抽象层, 以此建立一个 JDBC 存取框架JdbcTemplate. 作 ...
- [Phoenix] 八、动态列
摘要: 传统关系型数据库的动态列实现只能依赖逻辑层的设计实现,而Phoenix是HBase上的SQL层,借助HBase特性实现的动态列功能,具有高度的灵活性,告别业务逻辑层的复杂设计. 一.概要 动态 ...
- 九度OJ 1135:字符串排序 (排序)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1559 解决:807 题目描述: 先输入你要输入的字符串的个数.然后换行输入该组字符串.每个字符串以回车结束,每个字符串少于一百个字符. 如 ...
- 什么是 AQS ?
1.什么是AQS? AQS是英文单词AbstractQueuedSynchronizer的缩写,翻译过来就是队列同步器. 它是构建锁或者其他同步组件的基础框架(如ReentrantLock.Reent ...
- git文章列表
关于gitlab默认clone协议 Git实现从本地加入项目到远程仓库 翻翻git之---一个简单的标签控件 LabelView (随手发了两张小宝宝的玩耍照) id=1125" targe ...
- Unity导包配置详解
Player Settings is where you define various parameters (platform specific) for the final game that y ...
- IDEA 打开多个项目
简单的说只需要以下几步: 1.将需要同时打开的模块放在一个文件夹下,e.g. AModel 和 BModel 同时放在 Project 文件夹下. 2.在 IDEA 初始导入项目页面选择 open - ...
- flex平分测试
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- BZOJ 3732 Network —— 最小生成树 + 倍增LCA
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3732 Description 给你N个点的无向图 (1 <= N <= 15, ...
- BestCoder Round #92 1002 Count the Sheep —— 枚举+技巧
题目链接:http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=748&pid=1002 题解: 做题的时候只是想到 ...