今天是毕业的学长给高二的同学测试。组队比赛,ACM赛制,于是就愉快的和学姐一队啦。

  看到英文题面感到恐慌,不过好在不难读懂。

  

  A:并没有什么技术含量的模拟题;

  

  B:字符串题,给定一些比赛和每个队胜利的场数,判断是否合法。

  [[a-b]-[c-d]],a 2,b 0,c,1,d 0就是合法的。(意思是:a和b比一场,c和d比一场,两场的胜者再一起比一场)

  递归地读入形成一个树的结构,从最基础的比赛层层check上去。

  

 # include <cstdio>
# include <iostream>
# include <cstring>
# include <string> using namespace std; int l,a,b,v[],x,cnt=,ap=;
bool vis[],f=true;
char p,s[];
struct race
{
int x,y,w;
}r[]; int read (int x)
{
int pos=x+,a,b;
if(s[pos]=='[')
{
pos=read(pos);
a=cnt;
}else
a=s[pos]-'a';
pos+=;
if(s[pos]=='[')
{
pos=read(pos);
b=cnt;
}else
b=s[pos]-'a';
r[++cnt].x=a;
r[cnt].y=b;
return pos+;
} int main()
{
scanf("%s",s+);
read();
l=strlen(s+);
for (int i=;i<=l;++i)
if(s[i]>='a'&&s[i]<='z'&&vis[ s[i]-'a' ]==false)
vis[ s[i]-'a' ]=true,ap++;
for (int i=;i<=ap;++i)
{
cin>>p>>x;
v[p-'a']=x;
}
for (int i=;i<=cnt;++i)
{
race now=r[i];
if(now.x<)
a=now.x;
else
a=r[now.x].w;
if(now.y<)
b=now.y;
else
b=r[now.y].w;
if(v[a]==&&v[b]!=)
{
r[i].w=b;
v[b]--;
}
else if(v[a]!=&&v[b]==)
{
r[i].w=a;
v[a]--;
}
else f=false;
}
for (int i=;i<;++i)
if(v[i]) f=false;
if(f) printf("Yes\n");
else printf("No\n");
return ;
}

B

  C:求在$[l,r]$区间内素因子个数为质数的数。$1<=l,r<=1e9$

  学姐做的这个题,是素数筛一类的思想。

  

 #include <cstdio>
#include <cmath> const int N = ; bool notp[N+];
int prm[N+], tot, a[N+], b[N+], l, r, ans; void prime() {
notp[] = notp[] = ;
for (int i = ; i <= N; ++i) {
if (!notp[i]) prm[++tot] = i;
for (int j = ; i * prm[j] <= N && j <= tot; ++j) {
notp[i*prm[j]] = ;
if (i % prm[j] == ) break;
}
}
} int main() {
scanf("%d%d", &l, &r);
prime();
for (int i = l; i <= r; ++i) b[i-l+] = i;
for (int i = ; i <= tot; ++i) {
if (prm[i] > r) break;
int j = l / prm[i];
if (prm[i] * j < l) ++j;
for (j; prm[i] * j <= r; ++j) {
while (b[prm[i]*j-l+] % prm[i] == )
++a[prm[i]*j-l+], b[prm[i]*j-l+] /= prm[i];
}
}
for (int i = l; i <= r; ++i) {
if (b[i-l+] > ) ++a[i-l+];
if (!notp[a[i-l+]]) ++ans;
}
printf("%d\n", ans);
return ;
}

C

  D,E,F,G:咕咕咕;

  H:点开H题可能是我整场比赛最正确的决定了。正好是我之前想过的一个题,类似于那道L语言,但是要判断方案数,数据范围非常大,但是抱着反正不会交了不亏的思想写了一个交上去,A了...而且还比AC自动机快?果然做题要有信仰。

  

 # include <cstdio>
# include <iostream>
# include <cstring>
# include <string>
# define R register int
# define mod using namespace std; const int maxn=;
int n,cnt=;
char c[];
int ch[maxn][],l;
bool vis[maxn];
int dp[]; inline void ins()
{
int n,x=,l=strlen(c+);
for (R i=;i<=l;++i)
{
n=c[i]-'a';
if(!ch[x][n]) ch[x][n]=++cnt;
x=ch[x][n];
}
vis[x]=true;
} inline void Find (int pos)
{
int x=,n;
for (R i=pos;i<=l;++i)
{
n=c[i]-'a';
if(!ch[x][n]) break;
x=ch[x][n];
if(vis[x])
{
dp[i]+=dp[pos-];
if(dp[i]>=mod) dp[i]-=mod;
}
}
} int main()
{
scanf("%d",&n);
for (R i=;i<=n;++i)
{
scanf("%s",c+);
ins();
}
dp[]=;
scanf("%s",c+);
l=strlen(c+);
for (R i=;i<l;++i)
if(dp[i]) Find(i+);
printf("%d\n",dp[l]);
return ;
}

H

  I,J,K:咕咕咕;

  ---shzr

ACM模拟赛的更多相关文章

  1. 丁酉年六月十一ACM模拟赛

    似乎该写题解了.今天模拟ACM,10道题(本来还有2道被删了),9道都来自BZOJ,中间我做过2道.那么说,今天Solv.便大大增多了(但还是不如强大的Amphetamine). 题单及一句话题解如下 ...

  2. HDU 3月ACM模拟赛T10 COUNT

    题面 //来自TKJ的友好提供 ^_^ 然后我又被卡了半天不知道怎么转移N3 于是听CWY给我讲 终于会了 (虽然他讲的不是很清楚QAQ 但是凭着我们之间根本不存在的默契竟然达成了心智联通) 重点在于 ...

  3. 模拟赛20181016 Uva 1040 状压+搜索 2005 ACM world final problem c

    题目的隐含条件将这道题指向了最小生成树: 利用类似prim的方法,枚举所有子图并判断是否包含询问点,如果包含那么可以更新答案: 边统计边更新,且由于更新一定是向更多的点状态下更新,所以一定可以统计到答 ...

  4. 第九届蓝桥杯国赛+第二天的第11届acm省赛的总结

    第九届蓝桥杯国赛+第二天的第11届acm省赛的总结 25号坐的去北京的火车,10个小时的火车,然后挤了快两个小时的地铁,最终达到了中国矿业大学旁边的订的房间.12个小时很难受,晕车症状有点严重,吃了快 ...

  5. NOIP模拟赛20161022

    NOIP模拟赛2016-10-22 题目名 东风谷早苗 西行寺幽幽子 琪露诺 上白泽慧音 源文件 robot.cpp/c/pas spring.cpp/c/pas iceroad.cpp/c/pas ...

  6. 第六届acm省赛总结(退役贴)

    前言: 这是我的退役贴,之前发到了空间里,突然想到也要在博客里发一篇,虽然我很弱,但是要离开了还是有些感触,写出来和大家分享一下,希望不要见笑.回来看看,这里也好久没有更新了,这一年确实有些懈怠,解题 ...

  7. NOI模拟赛 Day1

    [考完试不想说话系列] 他们都会做呢QAQ 我毛线也不会呢QAQ 悲伤ING 考试问题: 1.感觉不是很清醒,有点困╯﹏╰ 2.为啥总不按照计划来!!! 3.脑洞在哪里 4.把模拟赛当作真正的比赛,紧 ...

  8. NOIP第7场模拟赛题解

    NOIP模拟赛第7场题解: 题解见:http://www.cqoi.net:2012/JudgeOnline/problemset.php?page=13 题号为2221-2224. 1.car 边界 ...

  9. contesthunter暑假NOIP模拟赛第一场题解

    contesthunter暑假NOIP模拟赛#1题解: 第一题:杯具大派送 水题.枚举A,B的公约数即可. #include <algorithm> #include <cmath& ...

随机推荐

  1. angularjs学习第二天笔记---过滤器

    您好,我是一名后端开发工程师,由于工作需要,现在系统的从0开始学习前端js框架之angular,每天把学习的一些心得分享出来,如果有什么说的不对的地方,请多多指正,多多包涵我这个前端菜鸟,欢迎大家的点 ...

  2. Java对MySQL数据库进行连接、查询和修改(转)

    Java对MySQL数据库进行连接.查询和修改 0. 一般过程: (1) 调用Class.forName()方法加载驱动程序. (2) 调用DriverManager对象的getConnection( ...

  3. linux系统编程:自己动手写一个pwd命令

    pwd命令:打印当前的工作目录 我们都知道每个目录下面都有两个特殊的目录( . 和 .. ), .: 当前目录, ..: 上层目录,  每个目录都有一个i节点与之相关联 ghostwu@ubuntu: ...

  4. 华中农业大学第五届程序设计大赛网络同步赛-A

    Problem A: Little Red Riding Hood Time Limit: 1 Sec  Memory Limit: 1280 MBSubmit: 860  Solved: 133[S ...

  5. cf232E. Quick Tortoise(分治 bitset dp)

    题意 题目链接 Sol 感觉这个思路还是不错的 #include<bits/stdc++.h> using namespace std; const int MAXN = 501, SS ...

  6. 全局eslint不生效的处理

    react项目里能用上 eslint 的 airbnb 规范真是的,对自己的编码有很好的帮助,不经可以养成良好的代码风格,而且还能检测出 state或者变量 是否 使用过, 然而,所在团队的小伙伴们, ...

  7. Nginx 优化配置及详细注释

    Nginx 的nginx.conf文件,是调优后的,具体影响已经写清楚注释,可以拿来用,有一些设置无效,我备注上了,不知道是不是版本的问题,回头查一下再更正. #普通配置 #==性能配置 #运行用户 ...

  8. Android Relative Layout 安卓相对布局详解

    思维导图可在幕布找到 1. 基础 如果在相对布局里,控件没有指明相对位置,则默认都是在相对布局的左上角: <TextView android:layout_width="wrap_co ...

  9. Android Design Support Library(三)用CoordinatorLayout实现Toolbar隐藏和折叠

    此文的代码在Android Design Support Library(一)用TabLayout实现类似网易选项卡动态滑动效果代码的基础上进行修改,如果你没有看过本系列的第一篇文章最好先看一看.Co ...

  10. springboot 学习之路 17(webflux 入门 (1))

    Webflux: webflux是在springboot2系列引入的技术:补充一些概念: 1> Reactive Streams 是 JVM 中面向流的库标准和规范: 处理可能无限数量的元素 按 ...