2019/11/08 校内模拟
T1 药品试验
我的处理方法是这样的,将每个 pip_ipi 表示成 kip1k_ip_1kip1 的形式(就是用 p1p_1p1 表示 pip_ipi)。
那么令 A=1−bcA=\frac{1-b}{c}A=c1−b,B=−acB=-\frac{a}{c}B=−ca,那么:
然后我们就可以用 p1p_1p1 把 p2np_{2n}p2n 表示出来,由于 p2n=1p_{2n}=1p2n=1,就可以解出 p1p_1p1,然后就可以推了。
此外,这道题的做法还有很多,也有 O(logn)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 校内模拟相关推荐
- 2019/11/05 校内模拟
CSP-S 模拟 T1 盘王节 这是一道模拟题,那些细节问题一定要想清楚再写. 那么有两种策略: 先把御符打完,再用剩下的兵符随便打. 一张御符都不打,直接用自己大的兵符打对方小的兵符,得到最大伤害. ...
- 2018.11.08 NOIP模拟 景点(倍增+矩阵快速幂优化dp)
传送门 首先按照题意构造出转移矩阵. 然后可以矩阵快速幂求出答案. 但是直接做是O(n3qlogm)O(n^3qlogm)O(n3qlogm)的会TTT掉. 观察要求的东西发现我们只关系一行的答案. ...
- 2018.11.08 NOIP模拟 班车(倍增+dfs+bit)
传送门 对于每个点离线处理出向上走2i2^i2i班车到的最上面的点. 然后每个询问(u,v)(u,v)(u,v)先把(u,v)(u,v)(u,v)倍增到刚好走不到lcalcalca的情况(有一个点如果 ...
- 2017.6.11 校内模拟赛
题面及数据及std(有本人的也有原来的) :2017.6.11 校内模拟赛 T1 自己在纸上模拟一下后就会发现 可以用栈来搞一搞事情 受了上次zsq 讲的双栈排序的启发.. 具体就是将原盘子大小cop ...
- 2021年 第十二届蓝桥杯第二期校内模拟赛题解(Java版)
时隔多日,终于会写一些简单DP了哈哈哈! 稍微改版,方便阅读,若有错,请指出 2019年 第十届蓝桥杯省赛题解(JavaB组版) 2020年 第十一届蓝桥杯第一场省赛题解(JavaB组版) 2020年 ...
- 【蓝桥】第十一届软件类校内模拟赛(二)填空题部分
起晚了起晚了,比赛都快结束了才整完qwq 文章目录 前言 填空题 1题目描述 2题目描述 3题目描述 4题目描述 前言 本题解为第十一届软件类校内模拟赛个人题解,但非官方满分题解,因此,可能存在下列问 ...
- [蓝桥杯第十一届校内模拟赛] Apare_xzc
华中师范大学蓝桥杯第十一届校内模拟赛 2020/3/22 8:00-12:00 题目还是比省赛要简单的,我9:25就做完了. 第一题 分析: 简单题,求给定的1200000的正约数的个数.我们可以暴力 ...
- 第十四届蓝桥杯校内模拟赛第二期-Java个人题解(仅供参考)
刚刚结束第十四届蓝桥杯校内模拟赛第二期,在这记录下自己的代码 不保证正确! 不保证正确! 不保证正确! 有问题一起改正!! 题解 2048 代码: package _14届模拟2;public cla ...
- 2019初三计算机考试模拟,初三学生特别关注:2019年中考模拟试卷正式发布!五月份练起来...
虽然大家都还沉浸在五一假期的欢乐之中,不过对于广大的初三学子来说,留给他们的中考复习时间,已经不多了.距离中考还有一个多月的时间,这段时间的复习至关重要,小山认为这阶段主要是练习中考模拟题为主,因为经 ...
- 蓝桥杯校内模拟赛_C++组
蓝桥杯校内模拟赛 填空题 填空题比较简单,只需要在空格中填写整数答案即可: 在计算机存储中,15.125GB是多少MB? 解题思路: 1GB=1024MB,打开系统计算器计算即可 答案: 15488 ...
最新文章
- Nginx配置与使用
- zabbix监控防火墙和交换机
- python 值传递还是引用传递_python函数是值传递还是引用传递
- python如何模拟键盘输入_python实现键盘输入的实操方法
- Jeasyframe 开源框架 V1.6 发布
- linux svn 版本安装,有人有linux版本的svn安装包吗
- 【C语言】中的stdbool.h头文件
- 优秀的CSS框架---bootstrap
- Javascript框架设计思路图
- w ndows无法完成格式化,Windows无法完成格式化怎么办呢?教你解决U盘问题!
- html 中div的下划线,div css布局命名时尽量避免下划线
- S7-200SMART案例分析——运动控制编程(三)
- Dalvik虚拟机探析
- Golang源码中xmm0寄存器
- mysql 外键报错_MySQL添加外键、删除外键方式,MySQL删除外键报错快速解决方案...
- Krpano全景:在javascript中动态添加/删除/修改(位置)热点(向后端写入)
- 风水招财用品:貔貅的材质与区别
- live555作为RTSP流媒体服务器RTSPServer时解决对接海康NVR时G711音频不能正常播放的问题
- uni-app的uni-ui组件使用
- 数据库文件的加载和挂起