T1 药品试验

首先不难发现的是:

{a=(1−α)βb=(1−α)(1−β)+αβc=α(1−β)\begin{cases} a=(1-\alpha)\beta\\ b=(1-\alpha)(1-\beta)+\alpha\beta\\ c=\alpha(1-\beta) \end{cases}⎩⎪⎨⎪⎧​a=(1−α)βb=(1−α)(1−β)+αβc=α(1−β)​

然后化一下递推式:

pi=api−1+bpi+cpi+1pi+1=1−bcpi−acpi−1\begin{aligned} p_i&=ap_{i-1}+bp_i+cp_{i+1}\\ p_{i+1}&=\frac{1-b}{c}p_i-\frac{a}{c}p_{i-1} \end{aligned}pi​pi+1​​=api−1​+bpi​+cpi+1​=c1−b​pi​−ca​pi−1​​

但是我们还不知道 p1p_1p1​ 的值,没办法递推。

我的处理方法是这样的,将每个 pip_ipi​ 表示成 kip1k_ip_1ki​p1​ 的形式(就是用 p1p_1p1​ 表示 pip_ipi​)。

那么令 A=1−bcA=\frac{1-b}{c}A=c1−b​,B=−acB=-\frac{a}{c}B=−ca​,那么:

pi+1=Api+Bpi−1pi+1=(Aki+Bki−1)p1\begin{aligned} p_{i+1}&=Ap_i+Bp_{i-1}\\ p_{i+1}&=(Ak_i+Bk_{i-1})p_1 \end{aligned}pi+1​pi+1​​=Api​+Bpi−1​=(Aki​+Bki−1​)p1​​

然后我们就可以用 p1p_1p1​ 把 p2np_{2n}p2n​ 表示出来,由于 p2n=1p_{2n}=1p2n​=1,就可以解出 p1p_1p1​,然后就可以推了。

时间复杂度 O(n)O(n)O(n)。

此外,这道题的做法还有很多,也有 O(log⁡n)O(\log n)O(logn) 的做法,这里不赘述。

#include<bits/stdc++.h>
using namespace std;
const int N=1e7+5,P=1e9+7;
int n,alpha,beta,f,g,k;
inline int add(int x,int y)  {return x+y>=P?x+y-P:x+y;}
inline int dec(int x,int y)  {return x-y< 0?x-y+P:x-y;}
inline int mul(int x,int y)  {return 1ll*x*y>=P?1ll*x*y%P:x*y;}
inline int power(int a,int b){int ans=1;for(;b;b>>=1,a=mul(a,a))  if(b&1)  ans=mul(ans,a);return ans;
}
int main(){scanf("%d%d%d",&n,&alpha,&beta);int a=mul(dec(1,alpha),beta),c=mul(alpha,dec(1,beta)),b=add(mul(dec(1,alpha),dec(1,beta)),mul(alpha,beta));int inv=power(c,P-2),A=mul(dec(1,b),inv),B=P-mul(a,inv);g=A,f=add(mul(A,A),B),(n==2?k=g:1),(n==3?k=f:1);for(int i=4,up=(n<<1);i<=up;++i){int tmp=f;f=add(mul(A,f),mul(B,g)),(n==i?k=f:1),g=tmp;}printf("%d\n",mul(k,power(f,P-2)));return 0;
}

T2 小猫钓鱼

这道题非常可惜,因为数组开小的原因从 100100100 掉到了 303030,rank1 掉到了 rank7。

其实题目本身也没什么难度,直接按照题意模拟即可。

#include<bits/stdc++.h>
using namespace std;
const int N=105,M=1e5+5;
queue<int>Q[N];
int n,m,l,s,T,L,R,tot;
int vis[N],out[M],d[M],a[N][N],pos[M];
void Clear(){L=1,R=0,tot=0;memset(vis,0,sizeof(vis));memset(pos,0,sizeof(pos));
}
void discrete(){sort(d+1,d+tot+1);int k=unique(d+1,d+tot+1)-d-1;for(int i=1;i<=n;++i)for(int j=1;j<=l;++j)a[i][j]=lower_bound(d+1,d+k+1,a[i][j])-d;s=lower_bound(d+1,d+k+1,s)-d;
}
int main(){while(~scanf("%d%d%d%d%d",&n,&m,&l,&s,&T)){if(n==-1)  break;Clear(),d[++tot]=s;for(int i=1;i<=n;++i){for(int j=1;j<=l;++j)  scanf("%d",&a[i][j]),d[++tot]=a[i][j];}discrete();for(int i=1;i<=n;++i)for(int j=1;j<=l;++j)  Q[i].push(a[i][j]);int num=n;for(int cas=1;cas<=T;++cas){if(num<=1)  break;for(int i=1;i<=n;++i)if(!vis[i]){int x=Q[i].front();Q[i].pop();if(L<=R){if(x==s){for(int j=L;j<=R;++j)  Q[i].push(out[j]),pos[out[j]]=0;Q[i].push(x),L=1,R=0;}else{if(pos[x]){int now=pos[x];for(int j=now;j<=R;++j)  Q[i].push(out[j]),pos[out[j]]=0;Q[i].push(x),R=now-1;}else  out[++R]=x,pos[x]=R;}}else  out[L=R=1]=x,pos[x]=1;if(Q[i].empty())  vis[i]=cas,num--;}}for(int i=1;i<=n;++i){if(vis[i])  printf("%d ",-vis[i]);else  printf("%d ",Q[i].size());}puts("");for(int i=1;i<=n;++i){while(!Q[i].empty())  printf("%d ",d[Q[i].front()]),Q[i].pop();puts("");}}return 0;
}

T3 迷雾华光

还没有写。

2019/11/08 校内模拟相关推荐

  1. 2019/11/05 校内模拟

    CSP-S 模拟 T1 盘王节 这是一道模拟题,那些细节问题一定要想清楚再写. 那么有两种策略: 先把御符打完,再用剩下的兵符随便打. 一张御符都不打,直接用自己大的兵符打对方小的兵符,得到最大伤害. ...

  2. 2018.11.08 NOIP模拟 景点(倍增+矩阵快速幂优化dp)

    传送门 首先按照题意构造出转移矩阵. 然后可以矩阵快速幂求出答案. 但是直接做是O(n3qlogm)O(n^3qlogm)O(n3qlogm)的会TTT掉. 观察要求的东西发现我们只关系一行的答案. ...

  3. 2018.11.08 NOIP模拟 班车(倍增+dfs+bit)

    传送门 对于每个点离线处理出向上走2i2^i2i班车到的最上面的点. 然后每个询问(u,v)(u,v)(u,v)先把(u,v)(u,v)(u,v)倍增到刚好走不到lcalcalca的情况(有一个点如果 ...

  4. 2017.6.11 校内模拟赛

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

  5. 2021年 第十二届蓝桥杯第二期校内模拟赛题解(Java版)

    时隔多日,终于会写一些简单DP了哈哈哈! 稍微改版,方便阅读,若有错,请指出 2019年 第十届蓝桥杯省赛题解(JavaB组版) 2020年 第十一届蓝桥杯第一场省赛题解(JavaB组版) 2020年 ...

  6. 【蓝桥】第十一届软件类校内模拟赛(二)填空题部分

    起晚了起晚了,比赛都快结束了才整完qwq 文章目录 前言 填空题 1题目描述 2题目描述 3题目描述 4题目描述 前言 本题解为第十一届软件类校内模拟赛个人题解,但非官方满分题解,因此,可能存在下列问 ...

  7. [蓝桥杯第十一届校内模拟赛] Apare_xzc

    华中师范大学蓝桥杯第十一届校内模拟赛 2020/3/22 8:00-12:00 题目还是比省赛要简单的,我9:25就做完了. 第一题 分析: 简单题,求给定的1200000的正约数的个数.我们可以暴力 ...

  8. 第十四届蓝桥杯校内模拟赛第二期-Java个人题解(仅供参考)

    刚刚结束第十四届蓝桥杯校内模拟赛第二期,在这记录下自己的代码 不保证正确! 不保证正确! 不保证正确! 有问题一起改正!! 题解 2048 代码: package _14届模拟2;public cla ...

  9. 2019初三计算机考试模拟,初三学生特别关注:2019年中考模拟试卷正式发布!五月份练起来...

    虽然大家都还沉浸在五一假期的欢乐之中,不过对于广大的初三学子来说,留给他们的中考复习时间,已经不多了.距离中考还有一个多月的时间,这段时间的复习至关重要,小山认为这阶段主要是练习中考模拟题为主,因为经 ...

  10. 蓝桥杯校内模拟赛_C++组

    蓝桥杯校内模拟赛 填空题 填空题比较简单,只需要在空格中填写整数答案即可: 在计算机存储中,15.125GB是多少MB? 解题思路: 1GB=1024MB,打开系统计算器计算即可 答案: 15488 ...

最新文章

  1. Nginx配置与使用
  2. zabbix监控防火墙和交换机
  3. python 值传递还是引用传递_python函数是值传递还是引用传递
  4. python如何模拟键盘输入_python实现键盘输入的实操方法
  5. Jeasyframe 开源框架 V1.6 发布
  6. linux svn 版本安装,有人有linux版本的svn安装包吗
  7. 【C语言】中的stdbool.h头文件
  8. 优秀的CSS框架---bootstrap
  9. Javascript框架设计思路图
  10. w ndows无法完成格式化,Windows无法完成格式化怎么办呢?教你解决U盘问题!
  11. html 中div的下划线,div css布局命名时尽量避免下划线
  12. S7-200SMART案例分析——运动控制编程(三)
  13. Dalvik虚拟机探析
  14. Golang源码中xmm0寄存器
  15. mysql 外键报错_MySQL添加外键、删除外键方式,MySQL删除外键报错快速解决方案...
  16. Krpano全景:在javascript中动态添加/删除/修改(位置)热点(向后端写入)
  17. 风水招财用品:貔貅的材质与区别
  18. live555作为RTSP流媒体服务器RTSPServer时解决对接海康NVR时G711音频不能正常播放的问题
  19. uni-app的uni-ui组件使用
  20. 数据库文件的加载和挂起

热门文章

  1. 中国域名8大玩家传奇故事
  2. NMOS和PMOS导通电流 走向
  3. Ubuntu20.04开启wifi热点
  4. win gvim erlang 环境配置
  5. 盘点分布式文件存储系统
  6. 3种常用的缓存读写策略
  7. win10桌面的计算机图标怎么删除,win10系统桌面图标小箭头去掉的操作步骤
  8. 清除计算机垃圾cmd命令,cmd清理缓存命令(cmd命令清除垃圾)
  9. centos6.5 MailScanner+ Spamassassin垃圾邮件过滤器+clamav 杀毒软件
  10. U盘无法打开的解决方法大全