当前位置: 首页 > news >正文

sm2025 模拟赛6 (2025.9.22)

T1 四色球 (easy,80%)

link / 弱化版
思路
考虑贪心。我们肯定希望把能先换了的球换掉,这样肯定优。设 (a,b)(a,b)(a,b) 表示此时有一个颜色为 aaa 的球占用了本来应为颜色 bbb 的球的位置。那么形如 (a,b)(a,b)(a,b)(b,a)(b,a)(b,a) (二元环)可以用 111 的代价交换使其合法。然后将形如 (a,b),(b,c),(c,a)(a,b),(b,c),(c,a)(a,b),(b,c),(c,a) 这样的球(三元环)用 222 代价交换……按环的大小依次交换即可。

反思
忘记三四环要分开交换了,宕机。

T2 迷宫(mid-,30%)

link
思路
树形dp 。按位统计答案。最后算 [l,r][l,r][l,r] 的答案不好算,前缀和转化为 [1,r]−[1,l−1][1,r]-[1,l-1][1,r][1,l1] 。设 fi,j,0/1,0/1f_{i,j,0/1,0/1}fi,j,0/1,0/1 表示到第 iii 层,已经改变了 jjj 次方向,当前 是(1)(1)(1)(0)(0)(0) 是按规定的方向,是否到达上界 ,此状态下的答案。分讨转移即可。

反思
二进制题注意往拆位计算上想!
被方向绕晕了,分讨要清晰!!

代码

#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int maxn=1e3+5,mod=1e9+7;int n,k;
ll f[maxn][maxn][2][2],g[maxn][maxn][2][2];
string dt;
ll Solve(string st){memset(f,0,sizeof(f)); memset(g,0,sizeof(g));//!f[1][0][0][1]=f[1][0][1][1]=g[1][0][0][1]=g[1][0][1][1]=1;for(int i=2;i<=n;i++)for(int j=0;j<=k;j++){if(st[i]=='1'){if(dt[i]=='L'){//f[i][j][0/1][0/1]:到第 i 层,已经改变了 j 次方向,当前 是(1)否(0) 是规定的方向,是否到达上界 f[i][j][0][0]=(f[i-1][j][0][0]+f[i-1][j][0][1])%mod*2%mod;f[i][j][1][0]=(f[i-1][j][1][0]*2%mod+g[i-1][j][1][0])%mod;f[i][j][1][1]=(f[i-1][j][1][1]*2%mod+g[i-1][j][1][1])%mod;g[i][j][0][0]=(g[i-1][j][0][0]+g[i-1][j][0][1])%mod;g[i][j][1][0]=g[i-1][j][1][0];g[i][j][1][1]=g[i-1][j][1][1];if(j){(f[i][j][0][0]+=(f[i-1][j-1][1][0]+f[i-1][j-1][1][1])%mod*2%mod)%=mod;(f[i][j][1][0]+=(f[i-1][j-1][0][0]*2%mod+g[i-1][j-1][0][0])%mod)%=mod;(f[i][j][1][1]+=(f[i-1][j-1][0][1]*2%mod+g[i-1][j-1][0][1])%mod)%=mod;(g[i][j][0][0]+=(g[i-1][j-1][1][0]+g[i-1][j-1][1][1])%mod)%=mod;(g[i][j][1][0]+=g[i-1][j-1][0][0])%=mod;(g[i][j][1][1]+=g[i-1][j-1][0][1])%=mod;}}else{f[i][j][1][0]=(f[i-1][j][1][0]+f[i-1][j][1][1])%mod*2%mod;f[i][j][0][0]=(f[i-1][j][0][0]*2%mod+g[i-1][j][0][0])%mod;f[i][j][0][1]=(f[i-1][j][0][1]*2%mod+g[i-1][j][0][1])%mod;g[i][j][1][0]=(g[i-1][j][1][0]+g[i-1][j][1][1])%mod;g[i][j][0][0]=g[i-1][j][0][0];g[i][j][0][1]=g[i-1][j][0][1];if(j){(f[i][j][1][0]+=(f[i-1][j-1][0][0]+f[i-1][j-1][0][1])%mod*2%mod)%=mod;(f[i][j][0][0]+=(f[i-1][j-1][1][0]*2%mod+g[i-1][j-1][1][0])%mod)%=mod;(f[i][j][0][1]+=(f[i-1][j-1][1][1]*2%mod+g[i-1][j-1][1][1])%mod)%=mod;(g[i][j][1][0]+=(g[i-1][j-1][0][0]+g[i-1][j-1][0][1])%mod)%=mod;(g[i][j][0][0]+=g[i-1][j-1][1][0])%=mod;(g[i][j][0][1]+=g[i-1][j-1][1][1])%=mod;} }}else{if(dt[i]=='L'){f[i][j][0][0]=f[i-1][j][0][0]*2%mod;f[i][j][0][1]=f[i-1][j][0][1]*2%mod;f[i][j][1][0]=(f[i-1][j][1][0]*2%mod+g[i-1][j][1][0])%mod;g[i][j][0][0]=g[i-1][j][0][0];g[i][j][0][1]=g[i-1][j][0][1];g[i][j][1][0]=g[i-1][j][1][0];if(j){(f[i][j][0][0]+=f[i-1][j-1][1][0]*2%mod)%=mod;(f[i][j][0][1]+=f[i-1][j-1][1][1]*2%mod)%=mod;(f[i][j][1][0]+=(f[i-1][j-1][0][0]*2%mod+g[i-1][j-1][0][0])%mod)%=mod;(g[i][j][0][0]+=g[i-1][j-1][1][0])%=mod;(g[i][j][0][1]+=g[i-1][j-1][1][1])%=mod;(g[i][j][1][0]+=g[i-1][j-1][0][0])%=mod;}}else{f[i][j][1][0]=f[i-1][j][1][0]*2%mod;f[i][j][1][1]=f[i-1][j][1][1]*2%mod;f[i][j][0][0]=(f[i-1][j][0][0]*2%mod+g[i-1][j][0][0])%mod;g[i][j][1][0]=g[i-1][j][1][0];g[i][j][1][1]=g[i-1][j][1][1];g[i][j][0][0]=g[i-1][j][0][0];if(j){(f[i][j][1][0]+=f[i-1][j-1][0][0]*2%mod)%=mod;(f[i][j][1][1]+=f[i-1][j-1][0][1]*2%mod)%=mod;(f[i][j][0][0]+=(f[i-1][j-1][1][0]*2%mod+g[i-1][j-1][1][0])%mod)%=mod;(g[i][j][1][0]+=g[i-1][j-1][0][0])%=mod;(g[i][j][1][1]+=g[i-1][j-1][0][1])%=mod;(g[i][j][0][0]+=g[i-1][j-1][1][0])%=mod;}}}}return (f[n][k][0][0]+f[n][k][0][1]+f[n][k][1][0]+f[n][k][1][1])%mod;
}string a,b;
int main(){freopen("maze.in","r",stdin);freopen("maze.out","w",stdout);cin>>n>>k>>dt>>a>>b; dt="  "+dt,a=" "+a,b=" "+b;for(int i=a.size()-1;i>=1;i--){if(a[i]=='1'){a[i]='0';break;}else a[i]='1';}cout<<(Solve(b)-Solve(a)+mod)%mod;return 0;
}

T3 幂

link

T4 生成树

http://www.dtcms.com/a/431658.html

相关文章:

  • 网站制作建站做网站编辑好吗
  • LeetCode刷题记录----31.下一个排序(Medium)
  • 青海海东平安县建设局网站如何建设网站与域名
  • 页面做的比较炫酷的网站企业管理软件都有哪些
  • 软考中级习题与解答——第十四章_UML建模(3)
  • shell脚本调用钉钉机器人发送告警
  • 网站关键词基础排名怎么做wordpress mysql端口
  • 做网站用Linux还是win宁夏成城建设集团网站
  • Unity笔记(十)——SpriteRenderer精灵渲染器、SpriteAtlas精灵图集、瓦片地图代码控制、动画系统
  • 广州做礼物的网站扁平化企业网源码win8风格精简化源码asp带后台企业网站
  • C#基础09-面向对象关键字
  • 增长超人网站建设价格教育培训网站建设
  • 互联网项目各阶段数据驱动与AI技术的深度运用策略
  • 网站开发语言php5.1做网站客户总是要退款
  • 天津网站推广方法html购物网页设计报告
  • 奉贤青岛网站建设网站迭代
  • 高唐企业建网站服务商短租网站那家做的好处
  • GD32 I2C外设详介绍
  • 【C++】C++的多态是个啥,咋用的?
  • 【Linux 系统】进程状态
  • 搜索引擎网站排行榜广州seo优化公司排名
  • 【强化学习】#8 DQN(深度Q学习)
  • 【原创】SpringBoot3+Vue3学生信息管理系统
  • Linux查看日志方法
  • 个人签名设计网站服装网站策划设计
  • 《Span-based Localizing Network for Natural Language Video Localization》
  • VRRP上行逃生:两种核心方案详解
  • 方法的调用:递归
  • 设计师常用的灵感网站做网站怎么盈利
  • 工程承包网站哪个好?临汾工程建设招标投标网站