博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
10.23 noip模拟试题
阅读量:4561 次
发布时间:2019-06-08

本文共 4616 字,大约阅读时间需要 15 分钟。

尼玛蛋pdf好难粘

直接写了

T1

/*开始写wa了 我真弱2333 关于p的排序规则不只是差值 为了字典序最小 还要拍别的*/#include
#include
#define maxn 100010#define inf 1e7#define mem(a,b) for(int i=0;i<=n;i++)a[i]=b[i];using namespace std;int n,m,ans=inf,k;char s[maxn],r[maxn],l[maxn];struct node{ int c,o;}p[maxn];int cmp(const node &x,const node &y){ if(x.c!=y.c)return x.c
j; else return i
s[j];//优先改数大的 大的大的大的 话说这sort的cmp不能写很多if好像 会慢死 }int Abs(int x){ return x>0?x:-x;}int Cmp(){ for(int i=1;i<=n;i++){ if(l[i]
r[i])return 0; }}int main(){ freopen("number.in","r",stdin); freopen("number.out","w",stdout); scanf("%d%d%s",&n,&m,s+1); for(k=0;k<=9;k++){ for(int i=1;i<=n;i++){ p[i].c=Abs(s[i]-'0'-k); p[i].o=i; } sort(p+1,p+1+n,cmp); int mx=0; for(int i=1;i<=m;i++) mx+=p[i].c; if(mx

T2

/*1 S=a1 c=a2-a12 S=a1 c=a3-a13 S=a2 c=a3-a2我晕 还带验证合法性 尼玛SP个毛啊 wo de da an dui a */#include
#define maxn 200010using namespace std;int n,a[maxn],S,c,A[maxn],B[maxn],cnt;bool f[maxn];int init(){ int x=0,f=1;char s=getchar(); while(s<'0'||s>'9'){
if(s=='-')f=-1;s=getchar();} while(s>='0'&&s<='9'){x=x*10+s-'0';s=getchar();} return x*f;}void Clear(){ cnt=0; for(int i=0;i<=n;i++) f[i]=A[i]=B[i]=0;}bool Judge(){ int now=a[S]; for(int i=S;i<=n;i++) if(a[i]==now){ f[i]=1;now+=c;B[++B[0]]=a[i]; A[0]=0;int falg=0; for(int j=1;j<=n;j++) if(!f[j])A[++A[0]]=a[j]; if(A[0]<=1||B[0]<=1)continue; int C=A[2]-A[1]; for(int j=3;j<=A[0];j++) if(A[j]-A[j-1]!=C){ falg=1;break; } if(falg==0)return 1; }}void Printf(){ printf("%d ",B[0]); for(int i=1;i
/*我尼玛今天刚意识到 这样Dfs是O(m)的啊 啊 啊 很自信地暴力 华丽的T了*/#include
#define maxm 10010#define maxn 510using namespace std;int n,m,Q,num,head[maxn],f[maxn],cnt,l,r;struct node{ int o,v,pre;}e[maxm*2];int init(){ int x=0,f=1;char s=getchar(); while(s<'0'||s>'9'){
if(s=='-')f=-1;s=getchar();} while(s>='0'&&s<='9'){x=x*10+s-'0';s=getchar();} return x*f;}void Add(int from,int to,int x){ num++;e[num].v=to; e[num].o=x; e[num].pre=head[from]; head[from]=num;}void Dfs(int x){ for(int i=head[x];i;i=e[i].pre){
//O()O()O()O if((e[i].o>=l&&e[i].o<=r)||f[e[i].v])continue; f[e[i].v]=1;Dfs(e[i].v); }}int main(){ freopen("network5.in","r",stdin); freopen("network.out","w",stdout); n=init();m=init();int u,v; for(int i=1;i<=m;i++){ u=init();v=init(); Add(u,v,i);Add(v,u,i); } Q=init(); while(Q--){ for(int i=1;i<=n;i++)f[i]=0; l=init();r=init();cnt=0; for(int i=1;i<=n;i++) if(f[i]==0){ f[i]=1;cnt++;Dfs(i); } printf("%d\n",cnt); } return 0;}
/*并茶几~边老多老多  有很多很多虚的渣的没用的 因为不能用的是一段区间 所以能用的就是 前缀 后缀预处理统计出有贡献的边们然后Q次询问就成了每次O(n) */#include
#define maxm 10010#define maxn 510#define Cf for(int i=0;i<=n;i++)fa[i]=iusing namespace std;int n,m,Q,A[maxm],B[maxm],fa[maxn];struct node{ int u,v;}p[maxm];int init(){ int x=0,f=1;char s=getchar(); while(s<'0'||s>'9'){
if(s=='-')f=-1;s=getchar();} while(s>='0'&&s<='9'){x=x*10+s-'0';s=getchar();} return x*f;}int find(int x){ if(x!=fa[x])return fa[x]=find(fa[x]); return fa[x];}int main(){ freopen("network.in","r",stdin); freopen("network.out","w",stdout); n=init();m=init();int u,v;Cf; for(int i=1;i<=m;i++){ u=init();v=init(); p[i].u=u;p[i].v=v; } for(int i=1;i<=m;i++){ int r1=find(p[i].u); int r2=find(p[i].v); if(r1!=r2){ fa[r2]=r1;A[++A[0]]=i; } } Cf; for(int i=m;i>=1;i--){ int r1=find(p[i].u); int r2=find(p[i].v); if(r1!=r2){ fa[r2]=r1;B[++B[0]]=i; } } Q=init(); while(Q--){ Cf;int l,r,cnt=0; l=init();r=init(); for(int i=1;i<=A[0];i++){ if(A[i]>=l)break; int r1=find(p[A[i]].u); int r2=find(p[A[i]].v); if(r1!=r2){ fa[r2]=r1;cnt++; } } for(int i=1;i<=B[0];i++){ if(B[i]<=r)break; int r1=find(p[B[i]].u); int r2=find(p[B[i]].v); if(r1!=r2){ fa[r2]=r1;cnt++; } } printf("%d\n",n-cnt); } return 0;}

 

转载于:https://www.cnblogs.com/yanlifneg/p/5991195.html

你可能感兴趣的文章
mysql 自动记录数据插入及最后修改时间
查看>>
c程序设计语言_习题1-9_将输入流复制到输出流,并将多个空格过滤成一个空格...
查看>>
ZT 80-90年代港台300部电视剧 你看过多少?
查看>>
C/C++关于全局变量和局部变量初始化与不初始化的区别
查看>>
题目1007:奥运排序问题
查看>>
爬虫实例——爬取1元夺宝用户头像(借助谷歌浏览器开发者工具)
查看>>
双目立体匹配经典算法之Semi-Global Matching(SGM)概述:匹配代价计算之Census变换(Census Transform,CT)...
查看>>
制作导航条
查看>>
iOS中的内存管理1
查看>>
23种设计模式全解析
查看>>
Learning Python 008 正则表达式-003 sub()方法
查看>>
Linux的虚拟机拷贝到另外的操作系统时,NAT方式的静态IP无效,一直是获取的DHCP动态地址...
查看>>
要检测两个C文件的代码的抄袭情况
查看>>
PHP-多域名单点登陆方案
查看>>
iOS开发之应用内支付IAP全部流程
查看>>
【web技术】html特效代码(一)
查看>>
SWFObject: 基于Javascript的Flash媒体版本检测与嵌入模块
查看>>
高可用集群搭建
查看>>
Lua学习笔记
查看>>
Redis监控工具,命令和调优
查看>>