解题报告

  • JZOJ 5182 码灵鼠
    • 题目
    • 分析
    • 代码
  • JZOJ 5178 So many prefix?
    • 题目
    • 分析
    • 代码
  • JZOJ 5177 TRAVEL
    • 题目
    • 分析
    • 代码

JZOJ 5182 码灵鼠

题目

a0=1a_0=1a0​=1
an=ai+aj(n≥1,i,ja_n=a_i+a_j (n\geq 1, i,jan​=ai​+aj​(n≥1,i,j均在[0,n−1][0,n-1][0,n−1]内均匀随机)))
问ana_nan​的期望值


分析

由于是等概率的,也就是an=2∗ai(1≤i≤n)a_n=2*a_i(1\leq i\leq n)an​=2∗ai​(1≤i≤n)
等差数列告诉我们,an=2∗(1+n)n2÷na_n=2*\frac{(1+n)n}{2}\div nan​=2∗2(1+n)n​÷n
综上所述,an=n+1a_n=n+1an​=n+1


代码

#include <cstdio>
#define rr register
using namespace std;
unsigned n,t;
inline signed iut(){rr unsigned ans=0; rr char c=getchar();while (c<48||c>57) c=getchar();while (c>47&&c<58) ans=(ans<<3)+(ans<<1)+c-48,c=getchar();return ans;
}
void print(unsigned ans){if (ans>9) print(ans/10);putchar(ans%10+48);
}
signed main(){t=iut();while (t--){n=iut();print(n+1);putchar(10);}return 0;
}

JZOJ 5178 So many prefix?

题目

求所有长度是偶数的前缀在字符串出现的次数和


分析

这道题其实就是kmp了,其实可以说是一道动态规划的题目
设f[i]f[i]f[i]表示以s[i]s[i]s[i]结尾的前缀出现的次数
f[i]=f[fail[i]]+[even(i)]f[i]=f[fail[i]]+[even(i)]f[i]=f[fail[i]]+[even(i)]
然后统计和就行了


代码

#include <cstdio>
#include <cstring>
#define rr register
using namespace std;
char s[200001]; int len,fail[200001],f[200001];
signed main(){scanf("%s",s+1); len=strlen(s+1);for (rr int i=1,j=0;i<len;++i){while (j&&s[i+1]!=s[j+1]) j=fail[j];//失败指针fail[i+1]=(j+=(s[i+1]==s[j+1]));f[i+1]=(i&1)+f[fail[i+1]];//动态规划}for (rr int i=2;i<=len;++i) f[i]+=f[i-1];printf("%d",f[len]);return 0;
}

JZOJ 5177 TRAVEL

题目


分析

枚举通道的lll,spfa求出最大的rrr,因为字典序需要最小,所以lll要从小到大排序,虽然分析短,但是代码毕竟也是打了很长时间的


代码

#include <cstdio>
#include <algorithm>
#include <deque>
#define rr register
using namespace std;
struct node{int x,y,l,r,next;bool operator <(const node &a)const{return l<a.l;}
}e[6003];
int n,k,m,ls[1003],v[1003],dis[1003],ans,lll,rrr;
inline signed iut(){rr int ans=0; rr char c=getchar();while (c<48||c>57) c=getchar();while (c>47&&c<58) ans=(ans<<3)+(ans<<1)+c-48,c=getchar();return ans;
}
inline signed spfa(int val){rr deque<int>q; q.push_back(1); v[1]=1; dis[1]=1000001;for (rr int i=2;i<=n;++i) v[i]=dis[i]=0;while (q.size()){int x=q.front(); q.pop_front();for (rr int i=ls[x];i;i=e[i].next)if (e[i].l<=val&&e[i].r>=val&&dis[e[i].y]<min(dis[x],e[i].r)){//如果必然会有val且当前虫洞可行dis[e[i].y]=min(dis[x],e[i].r);if (!v[e[i].y]){v[e[i].y]=1;if (q.size()&&dis[e[i].y]>dis[q.front()]) q.push_front(e[i].y);else q.push_back(e[i].y);    }}v[x]=0;}    return dis[n];
}
inline void print(int ans){if (ans>9) print(ans/10);putchar(ans%10+48);
}
signed main(){n=iut(); k=iut();for (rr int i=1;i<=k;++i){rr int x=iut(),y=iut(),l=iut(),r=iut();if (x==y) continue;e[++m]=(node){x,y,l,r,0};}sort(e+1,e+1+m);for (rr int i=1;i<=m;++i){e[i+m]=e[i]; swap(e[i+m].x,e[i+m].y);e[i].next=ls[e[i].x]; ls[e[i].x]=i;e[i+m].next=ls[e[i+m].x]; ls[e[i+m].x]=i+m;}for (rr int i=1;i<=m;++i){rr int r=spfa(e[i].l);if (ans<r-e[i].l+1){ans=r-e[i].l+1;lll=e[i].l; rrr=r;}}if (ans){print(ans);for (rr int i=lll;i<=rrr;++i) putchar(i==lll?10:32),print(i);}else putchar(48);return 0;
}

2018_10_24 模拟赛相关推荐

  1. NOI.AC NOIP模拟赛 第六场 游记

    NOI.AC NOIP模拟赛 第六场 游记 queen 题目大意: 在一个\(n\times n(n\le10^5)\)的棋盘上,放有\(m(m\le10^5)\)个皇后,其中每一个皇后都可以向上.下 ...

  2. 2017.6.11 校内模拟赛

    题面及数据及std(有本人的也有原来的) :2017.6.11 校内模拟赛 T1 自己在纸上模拟一下后就会发现 可以用栈来搞一搞事情 受了上次zsq 讲的双栈排序的启发.. 具体就是将原盘子大小cop ...

  3. 2020年蓝桥杯模拟赛2020.3.25直播笔记

    2020年蓝桥杯模拟赛解题报告(CPP版本) 第八题 长草的bfs写法[我想暴力模拟O kmn] 深搜会爆 bfs像投到水里的涟漪 问题: const int dx[] = {1, 0, -1, 0} ...

  4. 2021年 第12届 蓝桥杯 第4次模拟赛真题详解及小结【Java版】

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2021年(第12届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:大部 ...

  5. 2021年 第12届 蓝桥杯 第3次模拟赛真题详解及小结【Java版】

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2021年(第12届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:大部 ...

  6. 蓝桥杯 Java B组 省赛决赛模拟赛 详解及小结汇总+题目下载【2013年(第4届)~2021年(第12届)】

    蓝桥杯 Java B组 省赛决赛模拟赛 详解及小结汇总+题目下载[2013年(第4届)~2021年(第12届)] 百度网盘-CSDN蓝桥杯资料(真题PDF+其它资料)   提取码:6666 2013年 ...

  7. 2020年 第11届 蓝桥杯 第2次模拟赛真题详解及小结【Java版】

    蓝桥杯 Java B组 省赛真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 注意:部分代码及程序 源自 蓝桥杯 官网视频(历年真题解析) 郑未老师. 2013年 第04届 蓝桥杯 ...

  8. 10.30 NFLS-NOIP模拟赛 解题报告

    总结:今天去了NOIP模拟赛,其实是几道USACO的经典的题目,第一题和最后一题都有思路,第二题是我一开始写了个spfa,写了一半中途发现应该是矩阵乘法,然后没做完,然后就没有然后了!第二题的暴力都没 ...

  9. 模拟赛-20190114-新魔法(distance)

    前言 第一篇模拟赛题思路总结 题目相关 题目链接 题目大意 给定一个长度为nnn序列,每一个位置iii都有一种颜色aia_iai​ 现在有mmm次操作,操作分两种: 第一种操作,将所有颜色xxx都替换 ...

最新文章

  1. eclipse中如何将java项目转为java Web项目
  2. shell python -c_python, shell, C/C++ 从命令行获得参数
  3. Linux内核的整体架构介绍
  4. 亚马逊智能语音助手Alexa大举招聘 放出400个职位
  5. Unknown column '' in 'field list'
  6. python入门:Anaconda和Jupyter notebook的安装与使用
  7. 【转载】徐国洪:好耶向移动广告技术产品转型
  8. C++ vector 容器的使用
  9. python流程图自动生成_python自动化办公 自动生成PPT通报
  10. 自媒体文案伪原创文章生成器软件
  11. 用计算机音乐的歌词,电脑酷狗音乐怎么在屏幕上显示歌词
  12. 刮刮乐微信html5源码,微信小程序canvas实现刮刮乐效果
  13. 通过阿里云或清华镜像站安装tensorflow2.0
  14. r语言做绘制精美pcoa图_如何绘制精美的PCoA图形
  15. 他是“创业教父”,做出4家上市公司,秘诀6个字:找俗人,打呆仗!
  16. 计算机组装部zho,PowerPC汇编实现BES Ⅲ数据获取读出系统机箱级数据组装
  17. 1234无重复三位数python_第11篇参考答案:Python入门经典习题题解
  18. python语言实现冒泡算法(附代码)
  19. C语言:浙大版《C语言程序设计(第3版)》题目集 习题5-5 使用函数统计指定数字的个数 (15 分)
  20. 普洱茶扫盲篇-辨别优质普洱

热门文章

  1. DSF(Debugger Services Framework) service介绍
  2. python word转excel_看Python如何无缝转换Word和Excel
  3. Vue项目管理器中 安装及使用Monaco Editor
  4. 支付宝转账-提取根证书失败 AlipayRootCert Is Invalid
  5. android平板ps,移动端和平板上的Photoshop Touch(支持iOS和Android)
  6. 火狐浏览器(Google搜索引擎)点击新链接默认为在新版标签页打开链接
  7. 不同浏览器对键盘事件的不同认知
  8. 2018/5/25-2018/6/7
  9. 齐岳|水溶性竹红菌素PLGA纳米粒|负载奥沙利铂的mPEG-PLGA纳米粒子|包载黄豆苷元的PLGA纳米颗粒
  10. 关于出现 linux Table is marked as crashed and should be repaired