首页 > 其他分享 >【考后总结】6 月多校国赛模拟赛 6

【考后总结】6 月多校国赛模拟赛 6

时间:2023-06-27 20:24:04浏览次数:41  
标签:校国赛 A% 考后 int res inv maxn 模拟

6.27 冲刺国赛模拟 25

T1 简单计数

不是古典概型所以不能方案数相除。

考虑枚举第一个选择的位置 \(i\),这样分成两个独立的区间,只关心 \(k\) 所在的一个,转移方程:

\[f_{n,k}=\dfrac{1}{n-1}\left([k<n]+[k>1]+\sum_{i>k}f_{i-1,k}+\sum_{i<k-1}f_{n-(i+1),k-(i+1)}\right) \]

前缀和优化可以做到 \(O(T+n^2)\)。

注意到 \(k\) 的限制可以看作两个区间拼起来,具体是 \([1,k]\) 和 \([k,n]\),\(k\) 没有被选择的概率就是在两个中都没有被选择的概率乘积,这两个事件显然独立。

再注意到此时 \(k\) 就是边界位置了,而 \(f_{n,1}=f_{n,n}\) 所以只需要求出 \(f_{i,1}\) 就行了,答案就是 \(f_{n,k}=1-(1-f_{k,1})(1-f_{n-k+1,1})\),复杂度 \(O(T+n)\)。

点击查看代码
inline int q_pow(int A,int B,int P){
    int res=1;
    while(B){
        if(B&1) res=1ll*res*A%P;
        A=1ll*A*A%P;
        B>>=1;
    }
    return res;
}

int t;
int n,k;
int inv[maxn];
int f[maxn],g[maxn];

int main(){
    freopen("count.in","r",stdin);
    freopen("count.out","w",stdout);
    inv[1]=1;
    for(int i=2;i<=lim;++i) inv[i]=1ll*(mod-mod/i)*inv[mod%i]%mod;
    f[1]=0,f[2]=1;
    int sum=0;
    for(int i=3;i<=lim;++i){
        sum=(sum+f[i-2])%mod;
        f[i]=1ll*inv[i-1]*(1+sum)%mod;
    }
    t=read();
    while(t--){
        int n=read(),k=read();
        printf("%lld\n",(1ll-1ll*(1-f[k]+mod)*(1-f[n-k+1]+mod)%mod+mod)%mod);
    }
    return 0;
}

标签:校国赛,A%,考后,int,res,inv,maxn,模拟
From: https://www.cnblogs.com/SoyTony/p/Multiple_School_Simulation_Problems_of_NOI_in_June_6.htm

相关文章

  • 【考后总结】6 月西安多校国赛模拟赛 3
    6.17冲刺国赛模拟20T1树染色容易发现每种方案都可以变成没有交边的链剖分,在此基础上的方案数是每个链顶的深度,考虑DP。直接DP大致是维护\(\prod(\proda+\prodb)\timesdep_{top}\),发现这个东西非常不好转移,转移时需要枚举叶子,复杂度不优秀。改为设\(f_{i,0/1}\)表......
  • 【考后总结】6 月西安多校国赛模拟赛 4
    6.21冲刺国赛模拟22T1跳跃不妨看作两只青蛙从相同起点出发且跳跃次数相同,设\(f_{i,j,k}\)为两只青蛙分别在\(i,j\)位置,且相差步数\(k\)。由于需要记录相邻位置对答案贡献,我们在要求必须严格按照升序对处理状态,也就是必须保证当前跳跃的一只青蛙落点在另一只青蛙更前面,且......
  • 【考后总结】6 月西安多校国赛模拟赛 5
    6.24冲刺国赛模拟24T2简单图论题原题:Gym-104053CCustomsControls2构造题。这个限制可以进一步加强到对于每个节点\(u\),\(1\tou\)的路径权值都相等,定义为\(d_u\)。于是对\(u\)连边的两个节点的\(d\)一定相等,进而可以把所有相等的缩到一起,且这些点直接不能连边(点......
  • C/C++全国交通咨询模拟系统[2023-06-27]
    C/C++全国交通咨询模拟系统[2023-06-27](1)提供对城市信息进行编辑(如:添加或删除)的功能。(2)城市之间有三种交通工具:汽车、火车或飞机,提供对全国城市交通图和汽车时刻表、列车时刻表及飞机航班表进行编辑的功能。(信息的输入方式可以是文件输入和键盘输入两种方式)。(3)提供两种最优决策......
  • 基于OpenMV的自动驾驶智能小车模拟系统
    一、项目简介基于机器视觉模块OpenMV采集车道、红绿灯、交通标志等模拟路况信息,实现一辆能车道保持、红绿灯识别、交通标志识别、安全避障以及远程WiFi控制的多功能无人驾驶小车。赛道规格:1、编程所需软件:OpenMV:使用OpenMV官方的OpenMVIDEESP8266:使用Arduino官方的ArduinoIDESTM3......
  • JS 模拟 循环队列
     LoopArray代码(基于JS原生数组)/***循环队列*/varALoopQueue=(function(){/***@type{Array}*/letarr;/***头节点*@type{number}*/letfrontIdx;/***尾节点*@type{number}*/......
  • 模拟HTTP测试post请求与get请求方式的工作原理与抓包分析
    一,工作原理与简介HTTP请求是客户端向服务器发送请求的过程,常见的HTTP请求方法有GET和POST。如下图,HTTP新建请求过程(1)GET请求的工作原理是,客户端向服务器发送一个请求,请求中包含要获取的资源路径和参数,服务器根据路径和参数返回相应的资源。GET请求可以在URL中传递参数,参数以键......
  • B0626 模拟赛题解
    原题链接前言重庆一位金牌大佬出的。感受:除了最后一题,感觉难度不如C组,甚至没之前D组题难?T1浪费2.5h,最后还是打表秒了。T2想出正解,但发现是数据结构题,最后40min怒打100行,差点打出正解。T3花20min打出20分部分分,赛后发现XD秒了(tql)。T4看题浪费5min......
  • css颜色变淡和变浅方法收集(模拟sass的darken和lighten函数)
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Document</title><......
  • fiddler模拟弱网测试
    Fiddler模拟弱网测试一、Fiddler原理Fiddler代理位于Web客户端和Web服务器之间,扮演“中间人”的角色。Fiddler既代理客户端向服务器发送请求,又代理服务器向客户端返回响应内容。Fiddler官方地址:https://www.telerik.com/download/fiddler/fiddler4二、Fiddler弱网测试方......