2017-11-7 NOIP模拟赛
1.数学老师的报复

#include<iostream>
#include<cstdio>
using namespace std;
int cnt;
short int f[];
long long a,b,n;
long long qread(){
long long i=,j=;
char ch=getchar();
while(ch<''||ch>''){if(ch=='-')j=-;ch=getchar();}
while(ch<=''&&ch>='')i=i*+ch-'',ch=getchar();
return i*j;
}
int main(){
freopen("attack.in","r",stdin);freopen("attack.out","w",stdout);
// freopen("Cola.in","r",stdin);
a=qread();b=qread();n=qread();
cnt=;f[]=;f[]=;
while(){
cnt++;
f[cnt]=(a*f[cnt-]+b*f[cnt-])%;
if(f[cnt]==&&f[cnt-]==)break;
if(cnt==n)break;
}
if(n<=cnt){cout<<f[n];return ;}
cnt-=;
long long ans=n%cnt;
if(ans==)ans=cnt;
ans=f[ans];
cout<<ans;
}
95分 找循环节
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n,aa,bb;
struct matrix{
ll a[][];
matrix(){memset(a,,sizeof(a));}
matrix(ll b[][]) {for(int i=;i<;i++)for(int j=;j<;j++)a[i][j]=b[i][j];}
matrix operator * (matrix b)
{
matrix ans;
for(int i=;i<;i++)
for(int j=;j<;j++)
for(int k=;k<;k++)
ans.a[i][j]=(ans.a[i][j]+a[i][k]*b.a[k][j])%;
ans.a[][]%=;
return ans;
}
}S,T; inline ll read()
{
ll x=,f=;char c=getchar();
while(c<''||c>''){if(c=='-')f=-;c=getchar();}
while(c>=''&&c<=''){x=x*+c-'';c=getchar();}
return x*f;
} int main()
{
freopen("attack.in","r",stdin);
freopen("attack.out","w",stdout);
while(scanf("%lld%lld%lld",&aa,&bb,&n)!=EOF)
{
n-=;
if(n==-) {printf("");return ;}
ll temp[][]={{aa,},{bb,}}; T=temp;
ll temp2[][]={{,},{,}}; S=temp2;
while(n)
{
if(n&) S=S*T;
T=T*T;
n>>=;
}
S.a[][]%=;
printf("%lld",S.a[][]);
}
return ;
}
100分 矩阵快速幂
2.物理和生物老师的战争


#include<iostream>
#include<cstdio>
using namespace std;
int T,n,m;
double ans;
int main(){
freopen("fseq.in","r",stdin);freopen("fseq.out","w",stdout);
// freopen("Cola.txt","r",stdin);
scanf("%d",&T);
while(T--){
ans=;
scanf("%d%d",&n,&m);
if(n<m){puts("0.000000");continue;}
double d=1.0/(n+1.0);
printf("%.6lf\n",1.0-m*d);
}
}
100分 打表找规律
3.化学竞赛的大奖


#include<iostream>
#include<cstdio>
#include<cstring>
#include<vector>
#define maxn 20010
#ifdef WIN32
#define PLL "%I64d"
#else
#define PLL "%lld"
#endif
using namespace std;
int n,m,num,head[maxn],Num,Head[maxn];
int dfn[maxn],low[maxn],cnt,belong[maxn],gnum,st[maxn],top;
long long w[maxn];
bool in[maxn];
vector<int>g[maxn];
int fa[maxn][],dis[maxn][],dep[maxn];
struct node{int to,pre,v;}e[],E[];
void Insert(int from,int to,int v){e[++num].to=to;e[num].v=v;e[num].pre=head[from];head[from]=num;}
void Insert2(int from,int to,int v){E[++Num].to=to;E[Num].v=v;E[Num].pre=Head[from];Head[from]=Num;}
void Tarjan(int u,int father){
cnt++;
dfn[u]=low[u]=cnt;st[++top]=u;in[u]=;
for(int i=head[u];i;i=e[i].pre){
int v=e[i].to;
if(v==father)continue;
if(!dfn[v]){
Tarjan(v,u);
low[u]=min(low[u],low[v]);
}
else if(in[v])low[u]=min(low[u],dfn[v]);
}
if(dfn[u]==low[u]){
gnum++;
while(st[top]!=u){
int x=st[top];top--;
in[x]=;
belong[x]=gnum;
g[gnum].push_back(x);
}
in[u]=;
belong[u]=gnum;
g[gnum].push_back(u);
top--;
}
}
void dfs(int now,int father){
dep[now]=dep[father]+;
fa[now][]=father;
for(int i=Head[now];i;i=E[i].pre){
int to=E[i].to;
if(to==father)continue;
dis[to][]=E[i].v;
dfs(to,now);
}
}
long long lca(int a,int b){
long long res=;
if(dep[a]<dep[b])swap(a,b);
for(int i=;i>=;i--)
if(dep[fa[a][i]]>=dep[b])
res+=dis[a][i],a=fa[a][i];
if(a==b)return res;
for(int i=;i>=;i--)
if(fa[a][i]!=fa[b][i]){
res+=dis[a][i],res+=dis[b][i];
a=fa[a][i],b=fa[b][i];
}
res+=dis[a][]+dis[b][];
return res;
}
int main(){
// freopen("Cola.txt","r",stdin);
freopen("prize.in","r",stdin);freopen("prize.out","w",stdout);
scanf("%d%d",&n,&m);
int x,y,z;
for(int i=;i<=m;i++){
scanf("%d%d%d",&x,&y,&z);
Insert(x,y,z);
Insert(y,x,z);
}
for(int i=;i<=n;i++)
if(!dfn[i])
{Tarjan(i,i);}
for(int con=;con<=gnum;con++)//枚举每个国家
for(int i=;i<g[con].size();i++){//枚举这个国家里的每个城市
int from=g[con][i];
for(int j=head[from];j;j=e[j].pre){
int to=e[j].to;
if(belong[from]!=belong[to]){
Insert2(belong[to],belong[from],e[j].v);
}
}
}
dfs(,);
for(int j=;j<=;j++){
for(int i=;i<=gnum;i++){
fa[i][j]=fa[fa[i][j-]][j-];
dis[i][j]=dis[i][j-]+dis[fa[i][j-]][j-];
}
}
for(int i=;i<=gnum;i++){
long long ans=;
for(int j=;j<=gnum;j++){
long long now=lca(i,j);
ans=max(ans,now);
}
w[i]=ans;
}
for(int i=;i<=n;i++){
printf(PLL"\n",w[belong[i]]);
}
}
60分 Tarjan缩点+倍增
2017-11-7 NOIP模拟赛的更多相关文章
- 11/1 NOIP 模拟赛
11.1 NOIP 模拟赛 期望得分:50:实际得分:50: 思路:暴力枚举 + 快速幂 #include <algorithm> #include <cstring> #in ...
- 11.7 NOIP模拟赛
目录 2018.11.7 NOIP模拟 A 序列sequence(two pointers) B 锁lock(思路) C 正方形square(埃氏筛) 考试代码 B C 2018.11.7 NOIP模 ...
- 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) [题目描述] 机房来了新一 ...
- NOIP模拟赛-2018.11.7
NOIP模拟赛 如果用命令行编译程序可以发现没加头文件之类的错误. 如果用命令行编译程序可以发现没加头文件之类的错误. 如果用命令行编译程序可以发现没加头文件之类的错误. 编译之前另存一份,听说如果敲 ...
- NOIP模拟赛-2018.11.6
NOIP模拟赛 今天想着反正高一高二都要考试,那么干脆跟着高二考吧,因为高二的比赛更有技术含量(我自己带的键盘放在这里). 今天考了一套英文题?发现阅读理解还是有一些困难的. T1:有$n$个点,$m ...
- NOIP模拟赛-2018.11.5
NOIP模拟赛 好像最近每天都会有模拟赛了.今天从高二逃考试跑到高一机房,然而高一也要考试,这回好像没有拒绝的理由了. 今天的模拟赛好像很有技术含量的感觉. T1:xgy断句. 好诡异的题目,首先给出 ...
- NOIP模拟赛20161022
NOIP模拟赛2016-10-22 题目名 东风谷早苗 西行寺幽幽子 琪露诺 上白泽慧音 源文件 robot.cpp/c/pas spring.cpp/c/pas iceroad.cpp/c/pas ...
- contesthunter暑假NOIP模拟赛第一场题解
contesthunter暑假NOIP模拟赛#1题解: 第一题:杯具大派送 水题.枚举A,B的公约数即可. #include <algorithm> #include <cmath& ...
- NOIP模拟赛 by hzwer
2015年10月04日NOIP模拟赛 by hzwer (这是小奇=> 小奇挖矿2(mining) [题目背景] 小奇飞船的钻头开启了无限耐久+精准采集模式!这次它要将原矿运到泛光之源的矿 ...
随机推荐
- IIS 高并发导致log记录不完全
项目测试性能过程中,对于高并发测试过程中发现log记录缺失一部分,经过调查,找到了原因是因为IIS连接数的限制,经过修改连接数,成功完成.设置如下: “点击网站”->“右击切换到功能视图”-&g ...
- bzoj1002轮状病毒
高精度练习题 根据什么什么基尔霍夫矩阵 反正就是高精度练习 #include<iostream> #include<cstdio> using namespace std; s ...
- CodeForces - 1017 C. The Phone Number(数学)
Mrs. Smith is trying to contact her husband, John Smith, but she forgot the secret phone number! The ...
- MySQL 和 InnoDB
发现一篇总结的很不错的文章,转一下 (原文作者:Draveness 原文链接:https://draveness.me/mysql-innodb) 作为一名开发人员,在日常的工作中会难以避免地接触 ...
- 一个内存增长问题的分析和处理(二)——valgrind工具的用法
valgrind是linux下对C++和C程序进行内存泄露检测的工具,除了内存检测,valgrind还提供了很多其他的功能,这里主要介绍下valgrind的内存检测的功能. 首先是文件的下载,valg ...
- [转]为什么GOF的23种设计模式里面没有MVC?
GoF (Gang of Four,四人组, <Design Patterns: Elements of Reusable Object-Oriented Software>/<设计 ...
- tomcat启动加载web项目内存溢出
通过tomcat命令启动tomcat的web项目时,根据项目大小,有可能会报以下两个错误. 在启动时没有错误,但是在访问时会报错: 1. java.lang.OutOfMemoryError: Jav ...
- Java程序打包成exe可执行文件
前言: 我们都知道Java可以将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是一样一样的,但感觉还是不同.其实将java程序打包成exe也需要这个可执行jar文件. 准备: ecl ...
- Azure上部署FTP服务
FTP是个比较复杂的协议,其协议分为控制层和数据层,工作模式分为主动和被动两种模式. 在默认的Active模式下其工作原理如下: 可以看到,客户端发起FTP的请求道服务器端,FTP的端口是21.用户在 ...
- qtp ie_hook
今天要讲的内容是注册异类子控件授予强制HOOK,名字有点抽象,简单的说就是在一个QTP可识别的A类插件窗口对象中存在着B类插件的控件对象, 最常见的例子就是在应用程序中内嵌一个Browser对象子控件 ...