太菜了,刷刷NOIP题玩玩。

今天的题好像以前有做过(雾)

A.

#include<bits/stdc++.h>
typedef long long ll;
int n,q,phi,p[],cnt;
ll x;
inline ll sqr(ll x){return x*x;}
ll fpow(ll x,ll p){
ll ans=;
for(;p;p>>=,x=x*x%n)if(p&)ans=(ans*x)%n;
return ans;
}
inline ll read(){
ll f=,x=;char ch;
do{ch=getchar();if(ch=='-')f=-;}while(ch<''||ch>'');
do{x=x*+ch-'';ch=getchar();}while(ch>=''&&ch<='');
return f*x;
}
int main(){
n=read();q=read();phi=n;int qwq=n;
for(int i=;i*i<=n;i++){
if(n%i==)phi=phi/i*(i-);
while(n%i==)n/=i;
}
if(n!=)phi=phi/n*(n-);
p[cnt=]=;n=qwq;
for(int i=;i*i<=n;i++)if(phi%i==){p[++cnt]=i;if(i*i!=phi)p[++cnt]=phi/i;}
while(q--){
x=read();char ch='';
if(fpow(x,phi)!=){putchar('');continue;}
for(int j=;j<=cnt;j++)if(fpow(x,p[j])==){ch='';break;}
putchar(ch);
}
}

B.

#include<bits/stdc++.h>
#define N 100010
const int yql=1e9+;
typedef long long ll;
using namespace std;
struct Edge{int u,v,next;}G[*N];
int tot=,head[*N],fa[N],n;
ll ans,w[N],sumv[N];
void addedge(int u,int v){
G[++tot].u=u;G[tot].v=v;G[tot].next=head[u];head[u]=tot;
G[++tot].u=v;G[tot].v=u;G[tot].next=head[v];head[v]=tot;
}
inline ll read(){
int f=,x=;char ch;
do{ch=getchar();if(ch=='-')f=-;}while(ch<''||ch>'');
do{x=x*+ch-'';ch=getchar();}while(ch>=''&&ch<='');
return f*x;
}
void dfs(int u,int f){
for(int i=head[u];i;i=G[i].next){
int v=G[i].v;if(v==f)continue;
fa[v]=u;dfs(v,u);
sumv[u]=(sumv[u]+sumv[v])%yql;
}
ll tmp=(sumv[u]*2LL+w[u])%yql*w[u]%yql;
for(int i=head[u];i;i=G[i].next){
int v=G[i].v;if(v==f)continue;
tmp=(tmp+(sumv[u]+yql-sumv[v])%yql*sumv[v])%yql;
}
//printf("%lld\n",tmp);
ans=(ans+tmp*w[u])%yql;
sumv[u]=(sumv[u]+w[u])%yql;
}
int main(){
n=read();w[]=read();
for(int i=;i<=n;i++){
int u=read();w[i]=read();
i[w]%=yql;
addedge(u,i);
}
dfs(,);
//for(int i=1;i<=n;i++)printf("%lld ",sumv[i]);puts("");
printf("%lld\n",ans%yql);
return ;
}

C.

#include<bits/stdc++.h>
const int N=;
using namespace std;
int n,m,fa[N],cnt=;
map<string,int> mps;
struct Edge{int u,v,w;}G[N];
char s[],p[];
bool operator <(Edge x,Edge y){return x.w<y.w;}
inline int find(int x){return x==fa[x]?x:fa[x]=find(fa[x]);}
inline int read(){
int f=,x=;char ch;
do{ch=getchar();if(ch=='-')f=-;}while(ch<''||ch>'');
do{x=x*+ch-'';ch=getchar();}while(ch>=''&&ch<='');
return f*x;
}
int main(){
n=read();m=read();
for(int i=;i<=m;i++){
scanf("%d%s%s",&G[i].w,s,p);
string qwq=string(s);
if(mps[qwq]==)mps[qwq]=++cnt;
G[i].u=mps[qwq];
qwq=string(p);
if(mps[qwq]==)mps[qwq]=++cnt;
G[i].v=mps[qwq];
}
for(int i=;i<=cnt;i++)fa[i]=i;
sort(G+,G+m+);
for(int i=;i<=m&&n;i++){
int x=find(G[i].u),y=find(G[i].v);
if(x!=y){fa[x]=y;--n;printf("%d\n",G[i].w);}
}
for(int i=;i<=n;i++)puts("INF");
}

【jzoj2017.8.21提高组A】的更多相关文章

  1. JZOJ 11.21 提高B组反思

    JZOJ 11.21 提高B组反思 T1 第二类斯特林数 直接套公式 \(S(i,j)=S(i-1,j-1)+S(i-1,j)*j\) 由于过大,\(unsigned\ long\ long\)都存不 ...

  2. [NOIP2015] 提高组 洛谷P2615 神奇的幻方

    题目描述 幻方是一种很神奇的N*N矩阵:它由数字1,2,3,……,N*N构成,且每行.每列及两条对角线上的数字之和都相同. 当N为奇数时,我们可以通过以下方法构建一个幻方: 首先将1写在第一行的中间. ...

  3. NOIP2008提高组(前三题) -SilverN

    此处为前三题,第四题将单独发布 火柴棒等式 题目描述 给你n根火柴棍,你可以拼出多少个形如“A+B=C”的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能是0).用火柴棍拼数字0 ...

  4. [NOIP2011] 提高组 洛谷P1315 观光公交

    题目描述 风景迷人的小城Y 市,拥有n 个美丽的景点.由于慕名而来的游客越来越多,Y 市特意安排了一辆观光公交车,为游客提供更便捷的交通服务.观光公交车在第 0 分钟出现在 1号景点,随后依次前往 2 ...

  5. NOIP 2015提高组复赛

    神奇的幻方 题目描述 幻方是一种很神奇的N*N矩阵:它由数字1,2,3,……,N*N构成,且每行.每列及两条对角线上的数字之和都相同. 当N为奇数时,我们可以通过以下方法构建一个幻方: 首先将1写在第 ...

  6. 洛谷-神奇的幻方-NOIP2015提高组复赛

    题目描述 幻方是一种很神奇的N*N矩阵:它由数字1,2,3,--,N*N构成,且每行.每列及两条对角线上的数字之和都相同. 当N为奇数时,我们可以通过以下方法构建一个幻方: 首先将1写在第一行的中间. ...

  7. 洛谷 P2678 & [NOIP2015提高组] 跳石头

    题目链接 https://www.luogu.org/problemnew/show/P2678 题目背景 一年一度的“跳石头”比赛又要开始了! 题目描述 这项比赛将在一条笔直的河道中进行,河道中分布 ...

  8. 【二分查找】 跳石头NOIP2015提高组 D2T1

    [二分查找]跳石头NOIP2015提高组 D2T1 >>>>题目 [题目描述] 一年一度的“跳石头”比赛又要开始了! 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石 ...

  9. 2017清北学堂(提高组精英班)集训笔记——动态规划Part3

    现在是晚上十二点半,好累(无奈脸),接着给各位——也是给自己,更新笔记吧~ 序列型状态划分: 经典例题:乘积最大(Luogu 1018) * 设有一个长度为 N 的数字串,要求选手使用 K 个乘号将它 ...

随机推荐

  1. BZOJ4237 稻草人(分治+树状数组+单调栈)

    如果要询问的某个纵坐标为inf的点左边是否有点能与其构成所要求的矩形,只要用个单调栈就可以了.可以想到用分治来制造单调性. 按横坐标排序,每次考虑跨过分治中心的矩形.考虑右边的每个点能与左边的哪些点构 ...

  2. 【题解】Atcoder AGC#16 E-Poor Turkeys

    %拜!颜神怒A此题,像我这样的渣渣只能看看题解度日╭(╯^╰)╮在这里把两种做法都记录一下吧~ 题解做法:可以考虑单独的一只鸡 u 能否存活.首先我们将 u 加入到集合S.然后我们按照时间倒序往回推, ...

  3. 洛谷 P2258 子矩阵 解题报告

    P2258 子矩阵 题目描述 给出如下定义: 子矩阵:从一个矩阵当中选取某些行和某些列交叉位置所组成的新矩阵(保持行与列的相对顺序)被称为原矩阵的一个子矩阵. 例如,下面左图中选取第 2 . 4行和第 ...

  4. lighttpd - 配置文件

    转载其他网站,收藏查看! 配置文件lighttpd.conf参数详细说明的链接和选译 发表于 2010年12月22日 http://redmine.lighttpd.net/projects/ligh ...

  5. React Patterns

    Contents Stateless function JSX spread attributes Destructuring arguments Conditional rendering Chil ...

  6. [bzoj 1594]猜数游戏

    主要是怎么处理矛盾 矛盾的条件有$2$种: 第一种是当把所有相等的$a$都全部找到后,他们并没有全联通,所以矛盾,因为没有两个是相同的 第二种是在2组$(l,r,a)$,$(l1,r1,a1)$中,$ ...

  7. Codeforces Round #514 (Div. 2):D. Nature Reserve(二分+数学)

    D. Nature Reserve 题目链接:https://codeforces.com/contest/1059/problem/D 题意: 在二维坐标平面上给出n个数的点,现在要求一个圆,能够容 ...

  8. mac之os x系统下搭建nodejs+express4.x+mongodb+gruntjs整套前端工程

    第一次在Mac OS X上搭建前端开发环境,做一个小小记录,包括一些与windows系统的区别和常用快捷键 首先,在进行环境搭建之前先来看一下苹果系统的“cmd”,也就是Terminal(终端). 打 ...

  9. ExecuteNonQuery,ExecuteReader,ExecuteScalar 区别

    ExecuteNonQuery方法 :执行非查询SQL操作,包括增insert.删delete.改update ExcuteReader方法 :执行查询,返回DataReader,通过DataRead ...

  10. RotateAnimation 详解

    RotateAnimation 详解 看看新闻网>看引擎>开源产品 其他构造器的旋转也可参考这副图. RotateAnimation旋转坐标系为以旋转点为坐标系(0,0)点.x轴为0度,顺 ...