2025多校冲刺省选模拟赛3

2025多校冲刺省选模拟赛3

\(T1\) A. 等差 \(100pts/100pts\)

  • 考虑哈希,每 \(k\) 个作为一组与上一组统一计算。

    • \(Base>\) 值域时用高精度来存储并判断的正确性显然。
  • 观察到可行的最小的 \(k\) 单调不降,不妨直接枚举答案。

  • 暴力实现时间复杂度为 \(O(n^{2})\) ,精细实现记录极长匹配结尾后时间复杂度为 \(O(n \log n)\)

    点击查看代码
    const ll mod=1000003579,base=998244353;
    ll a[2000010],pos[2000010];
    ll hsh[2000010],jc[2000010];
    ll ask_hash(ll l,ll r)
    {return (hsh[r]-(__int128_t)hsh[l-1]*jc[r-l+1]%mod+mod)%mod;
    }
    int main()
    {
    #define Isaac
    #ifdef Isaacfreopen("arithmetic.in","r",stdin);freopen("arithmetic.out","w",stdout);
    #endifll n,i,j,k,ans,flag;ll last;scanf("%lld",&n);jc[0]=1;for(i=1;i<=n;i++){jc[i]=jc[i-1]*base%mod;pos[i]=2*i;}for(i=1,k=1;i<=n;i++){scanf("%lld",&a[i]);hsh[i]=(hsh[i-1]*base%mod+a[i])%mod;ans=0;for(;2*k+1<=i;k++){last=(ask_hash(k+1,2*k)-ask_hash(1,k)+mod)%mod;flag=1;for(j=pos[k];j+k<=i&&flag==1;j+=k){flag&=((ask_hash(j+1,j+k)-ask_hash(j-k+1,j)+mod)%mod==last);pos[k]=(((ask_hash(j+1,j+k)-ask_hash(j-k+1,j)+mod)%mod==last)?j:pos[k]);}if(j!=i&&flag==1){flag&=((ask_hash(j+1,i)-ask_hash(j-k+1,i-k)+mod)%mod==(ask_hash(1+k,k+i-j)-ask_hash(1,i-j)+mod)%mod);}if(flag==1){ans=1;break;}}printf("%lld",ans);}return 0;
    }
    

\(T2\) B. 叉积 \(0pts/0pts\)

  • 等价于最大化 \(\sum\limits_{i=l}^{r}x'y_{i}-yx_{i}'\)

  • 部分分

    • \(48pts\) :暴力。
    点击查看代码
    pair<ll,ll>a[100010];
    int main()
    {
    #define Isaac
    #ifdef Isaacfreopen("cross.in","r",stdin);freopen("cross.out","w",stdout);
    #endifll n,m,x,y,ans=0,minn,sum,i,j;scanf("%lld%lld",&n,&m);for(i=1;i<=n;i++){scanf("%lld%lld",&a[i].first,&a[i].second);}for(j=1;j<=m;j++){scanf("%lld%lld",&x,&y);ans=sum=minn=0;for(i=1;i<=n;i++){sum+=x*a[i].second-y*a[i].first;ans=max(ans,sum-minn);minn=min(minn,sum);}printf("%lld\n",ans);}return 0;
    }
    
  • 正解

\(T3\) C. 序列变换 \(29pts/9pts\)

  • 部分分

    • \(29pts/9pts\) :爆搜。
    点击查看代码
    const ll p=998244353;
    int a[50],b[50],ans=0;
    bitset<210>s;
    void dfs(int n)
    {int flag=1;for(int i=1;i<=n;i++){flag&=(a[i]==b[i]);}if(flag==1){ans=(ans+1)%p;return;}for(int i=1;i<=n;i++){for(int j=i+1;j<=n;j++){if(a[i]+1<=b[i]&&a[j]+1<=b[j]){s[a[i]]=s[a[j]]=0;if(s[a[i]+1]==0&&s[a[j+1]]==0){a[i]++;a[j]++;s[a[i]]=s[a[j]]=1;dfs(n);s[a[i]]=s[a[j]]=0;a[i]--;a[j]--;}s[a[i]]=s[a[j]]=1;}}}
    }
    int main()
    {
    #define Isaac
    #ifdef Isaacfreopen("transform.in","r",stdin);freopen("transform.out","w",stdout);
    #endifint n,i;cin>>n;for(i=1;i<=n;i++){cin>>a[i];s[a[i]]=1;}for(i=1;i<=n;i++){cin>>b[i];}dfs(n);cout<<ans<<endl;return 0;
    }
  • 正解

总结

  • 因不会叉积基本概念,打完 \(T1,T3\) 后直接去学向量了。

后记

  • 因是 \(IOI\) 赛制,学校 \(OJ\) 可以下载第一个非 \(AC\) 测试点。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/866694.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

还不会 Cert Manager 自动签发证书?一文掌握

相信很多小伙伴对于 Cert Manager 不陌生,Cert Manager 是 Kubernetes 上的证书管理工具,基于 ACME 协议与 Lets Encrypt 签发免费证书并为证书自动续期,实现永久免费使用证书。 本文将介绍如何使用 Cert Manager 实现自动签发证书并与 Rainbond 结合使用。 Cert Manager 概…

JAVA-Day 09:While循环语句

While循环 while循环格式 初始化语句; while(条件判断语句){ 循环体语句; 条件控制语句; } 初始化语句只执行一次 判断语句为True,循环继续 判断语句为False,循环结束 例: 世界最高山峰珠穆朗玛峰的高度为8844.43米=8844430毫米,假如有 一张足够大的纸,它的厚度为0.1毫米。…

rust学习十六.2、并发-利用消息传递进行线程间通讯

通过信道是rust的解决线程之间通信的2个工具之一,另外1个是是共享内存状态。 rust推出这个,明显地是因为受到go之类的影响。 在书籍中,作者提到go编程文档中的内容: 不要通过共享内存来通讯;而是通过通讯来共享内存(Do not communicate by sharing memory; instead, share…

2025,谁会成为 AI Agent 的新入口?|播客《编码人声》

「编码人声」是由「RTE开发者社区」策划的一档播客节目,关注行业发展变革、开发者职涯发展、技术突破以及创业创新,由开发者来分享开发者眼中的工作与生活。2024 年末,一群来自 Android、Chrome OS、Oculus 等操作系统的开发元老联合创业,推出 AI Agent 操作系统 /dev/agen…

【Windows内核】Ntdll解除挂钩学习

简介 我们之前都是直接通过使用直接系统调用的方式来绕过用户态钩子,通过在项目文件中创建并调用系统调用来实现此目标。还有另外一种方法也可以绕过用户态的钩子,那么这种方法是将已经加载到进程中的钩子DLL替换为一个未经修改且未被钩主的版本来达到相同的目标。 将勾住的D…

21. 主窗口控件

一、主窗口控件之前,我们使用可视控件创建具体的实例时都选择了一个父窗体,将控件放到这个窗体上,即使在创建实例时没有选择父窗体,也可以用控件的 setParent() 方法将控件放到父窗体上。如果一个控件没有放到任何窗体上,则这个控件可以单独成为窗口,并且可以作为父窗口来…

智慧帮手:一站式搭建帮助中心,优化客户服务体验

在数字化时代,客户服务已成为企业赢得市场、留住客户的关键。一个高效、便捷的帮助中心,不仅能够快速响应客户需求,还能提升客户满意度和忠诚度。然而,如何搭建一个既满足客户需求又符合企业特色的帮助中心,成为众多企业面临的挑战。本文将探讨如何借助一站式解决方案,如…

解锁餐饮新篇:精准搭建内部知识库,赋能高效运营

在当今竞争激烈的餐饮行业中,提升运营效率和服务质量已成为企业脱颖而出的关键。随着餐饮业务的不断扩展,内部信息管理和知识传承成为了一大挑战。如何构建一个高效、精准的内部知识库,成为解锁餐饮新篇章的重要一环。本文将探讨如何借助智能化工具,如HelpLook,实现这一目…

【YashanDB知识库】进行load data的时候报找不到动态库liblz4.so

本文内容来自YashanDB官网,原文内容请见 https://www.yashandb.com/newsinfo/7863047.html?templateId=1718516 现象 23.2版本的依赖项准备里指明,要依赖动态库:liblz4.so,liblz4.so.1,liblz4.so.1.9.3 在执行load data的时候报找不到动态库liblz4.so 操作系统在/lib64/目…

JAVA-Day 08:For循环语句

For循环 For循环格式 for循环语句格式 for(初始化语句;条件判断语句;条件控制语句){ 循环语句体; } 执行流程: 1、执行初始化语句 2、执行条件判断语句,看其结果是True还是False,如果是True,执行循语句体,如果是False,循环结束 3、执行条件控制语句 4、回到2继续执行条件判…

记录---JS 的蝴蝶效应 —— 事件流

🧑‍💻 写在开头 点赞 + 收藏 === 学会🤣🤣🤣前言 在 JavaScript 的世界里,事件流就像一只永不停歇的蝴蝶,每一个动作、每一个点击、每一个滚动,都会触发一连串的蝴蝶效应。作为一名开发者,掌握事件流的艺术,不仅能让你的网页更加生动、更加交互,也能让用户体验…

HTTPS 加密机制

HTTPS 概述 HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer 或 Hypertext Transfer Protocol Secure,超文本传输安全协议),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。…