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) [题目背景] 小奇飞船的钻头开启了无限耐久+精准采集模式!这次它要将原矿运到泛光之源的矿 ...
随机推荐
- python 爬取腾讯视频评论
import urllib.request import re import urllib.error headers=('user-agent','Mozilla/5.0 (Windows NT 1 ...
- cmd cvf war包
1.进入要打包的目录下 --> cmd d: cd \路径 jar -cvf 包名.war * 2.解压 进入需要解压的目录 cd /depa123/webapps/css jar -xvf / ...
- bzoj 3083 遥远的国度 —— 树链剖分
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3083 换根后路径还是不变,子树分类讨论一下,树剖后线段树维护即可. 代码如下: #inclu ...
- redis安装及启动及设置
1. 安装 1.1 下载解压包,直接解压到任意路径下即可 windows下载地址:ttps://github.com/MSOpenTech/redis/releases 2.启动 2.1 启动要先开启 ...
- HDOJ1166(线段树点修改)
敌兵布阵 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- 杂项:BI(商业智能)
ylbtech-杂项:BI(商业智能) 商业智能(BI,Business Intelligence). BI(Business Intelligence)即商务智能,它是一套完整的解决方案,用来将企业 ...
- translate 实现元素垂直居中
<div class="demo2"> <span>about me</span> </div> css .demo2{ width ...
- java基础知识(6)---抽象类与接口
抽象类: abstract抽象:不具体,看不明白.抽象类表象体现.在不断抽取过程中,将共性内容中的方法声明抽取,但是方法不一样,没有抽取,这时抽取到的方法,并不具体,需要被指定关键字abstract所 ...
- python+selenium简单实现拖动元素实例
from selenium import webdriver#引入ActionChains类from selenium.webdriver.common.action_chains impo ...
- play的job执行方式
除了使用Quartz CRON trigger, 还可以写一个action来专门触发job,这样子就可以随时启动job的开始,而且还能并行其他的任务.较方便.