NOIP2014提高组Day2
来源:互联网 发布:算法的确定性指的是 编辑:程序博客网 时间:2024/06/05 09:14
NOIP2014Day2
一、无线网路发射器选址
数据:对于100%,矩阵大小129*129(0-128),n∈[1,20],d∈[1,20]
看完题后想到的是二维前缀和,看完数据后发现没有关系,暴力也可以过,直接129*129*n 就行了
二、寻找到路
数据:对于100%,n∈[0,1e4],m∈[0,2e5]
看完题后想暴力,不是很会。
但是看完条件后,发现条件1只要从终点反向走一遍,就可以把所有到不了的点全部标记掉。然后连着那些点的点也要标记掉,这样剩下的点就都是出边连着的点能通向终点了
这么简单的题就不用Code了。
无奈我把起点设为了1,只有20分……
三、解方程
数据:
看完数据后暴力基本能过,但是a太大了,用上高精度直接算也就50分。
看式子发现只有+-*,那么就模。可以得到一个等式
f(x)%P=f(x%P)%P
有了这个等式,那就很好求了。一边读入一边模就行了。
注意模的时候要多弄几个,一个可能会有问题。
Code:
#include<bits/stdc++.h>#define Mod 1000000007#define ll long longusing namespace std;ll A[105];int B[1000005];char str[100];int main(){ int n,m; scanf("%d%d",&n,&m); for(int i=0;i<=n;i++){ scanf("%s",str); int len=strlen(str); int st=0;ll x=0; if(str[0]=='-')st=1; for(int j=st;j<len;j++)//边读边模 x=(1LL)*(x*10+str[j]-'0')%Mod; if(st)A[i]=Mod-x;else A[i]=x; } int ans=0; for(int i=1;i<=m;i++){ int x=0,h1=1; for(int j=0;j<=n;j++){//对于每个m都求一遍 x=(1LL)*(x+h1*A[j])%Mod; h1=(1LL)*h1*i%Mod; } if(!x)B[++ans]=i; } printf("%d\n",ans); for(int i=1;i<=ans;i++)printf("%d\n",B[i]); return 0;}
但是这样是n*m的,极限数据下是过不了的
还有一种方法,对于一个是x,如果x%P是可以的,那么x也是可以的
那么就只要求x%P的就可以了
阅读全文
0 0
- NOIP2014提高组Day2
- 【noip2014提高组】【Day2】【解题报告】
- 解方程 NOIP2014 提高组 Day2 T3
- noip2014提高组day2二题题解-rLq
- 无线网络发射选址 NOIP2014 提高组 Day2 T1
- NOIP2014 Day2
- NOIP2014复赛提高组day2(A:无线网络发射器选址 B:寻找道路 C:解方程)
- NOIP2014提高组初赛
- NOIP2014提高组解析
- NOIP2011提高组Day2
- NOIP2012提高组Day2
- NOIP2013提高组Day2
- NOIP2016提高组Day2
- NOIP2014提高组模拟8.9
- NOIP2014提高组DAY1题解
- noip2014 提高组题解 equation
- noip2014 提高组题解 bird
- noip2014 提高组题解 link
- 实用的工具类Logutil
- java代码发送邮件工具类
- 摄像头模组 PDAF对焦(Phase Detection Auto Focus)
- 记录下eclipse的基本配置及快捷键
- 美国游学英国游学推荐 选择国际游学机构五大攻略
- NOIP2014提高组Day2
- 微信打飞机
- SQL Server 2008编程入门经典笔记:创建和修改数据库、表(未完成)
- 卷积神经网络学习--卷积和池化
- @Retention、RetentionPolicy源码翻译
- JavaScript的this指向问题深度解析
- 使用sonar进行java代码质量管理
- android 6.0 以上版本不显示按钮文字
- 算法-插入排序