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

CF每日3题(1400-1700)

最近有点忙,CF练习摆了很长时间,打算之后从3题开始,能练则练。

2126E 1400 数学

在这里插入图片描述
在这里插入图片描述

  • 注意前缀gcd,mingcd,mingcd,min单调递减,lcm,maxlcm,maxlcm,max单调递增
  • 还需要一些特殊位置判定
void solve(){int n;cin>>n;vector<int>p(n+1),s(n+1);forr(i,1,n)cin>>p[i];forr(i,1,n)cin>>s[i];if(p[n]!=s[1])return cout<<"no"<<endl,void();//整个数组gcd相等//单调性 以及 p[1]=a[1] s[n]=a[n]forr(i,2,n)if(p[i]>p[i-1]||p[1]%p[i])return cout<<"no"<<endl,void();reforr(i,1,n-1)if(s[i]>s[i+1]||s[n]%s[i])return cout<<"no"<<endl,void();if(p[1]%s[1]||s[n]%p[n])return cout<<"no"<<endl,void();//整个数组gcd和单个数据forr(i,1,n-1){if(p[n]!=__gcd(p[i],s[i+1]))return cout<<"no"<<endl,void();}cout<<"yes"<<endl;
}

2121E 找规律 1500

在这里插入图片描述
在这里插入图片描述
即要确定一个数和l,r两数同一位子相同的数最少

void solve(){string l,r;cin>>l>>r;int n=l.size(),ans=0;int pre=0;//记录前一位的状态//分析例子发现 对每一位 数字相同+2 差一+1forr(i,0,n-1){int ln=l[i]-'0',rn=r[i]-'0';if(ln==rn&&pre==0)ans+=2;//+2 本位和前一位都相等 eg.331 333  ans=4else if((rn-ln+10)%10==1){//差一 本位不得不取ln或rn 后面取数区间就宽了if(pre==0||(rn==0&&ln==9))ans++,pre=1;//+1 //前一位相同eg.340 351:f(340,342)+f(351,342)=2+1+0//9+1=10有进位 eg1.4299 4300:f(4299,4299)+f(4300,4299)=2+1+1+1//eg2.4291 4300:f(4291,429_)+f(4300,429_)=2+1+1+0else break;}else break;//差的>1 本位可以取ln,rn之间的数 下一位可以取1~10规避l和r}cout<<ans<<endl;
}

2113C 前缀和 1700

在这里插入图片描述
在这里插入图片描述
分析第三个样例知道

  • 第一炸炸出空间,后面就能精准炸出金子,所以也只有第一炸会炸毁金子
  • 只考虑第一炸最少会毁坏多少金子,使用前缀和在空地上拓展边长2*k-1的正方形枚举计算
const int N=510,M=998244353;
string s[N];
int sm[N][N];
void solve(){int n,m,k;cin>>n>>m>>k;forr(i,1,n)cin>>s[i],s[i]=' '+s[i];memset(sm,0,sizeof sm);forr(i,1,n){forr(j,1,m){sm[i][j]=sm[i-1][j]+sm[i][j-1]-sm[i-1][j-1]+(s[i][j]=='g');//计算i*j内金块数}}int ans=sm[n][m];//计算第一次爆炸最少能炸多少金块forr(i,1,n){forr(j,1,m){if(s[i][j]=='.'){int tp=sm[min(i+k-1,n)][min(j+k-1,m)]-sm[max(i-k,0ll)][min(j+k-1,m)]-sm[min(i+k-1,n)][max(j-k,0ll)]+sm[max(i-k,0ll)][max(j-k,0ll)];ans=min(tp,ans);}}}cout<<sm[n][m]-ans<<endl;
}
http://www.dtcms.com/a/321970.html

相关文章:

  • 第9章 AI 安全、可解释性与伦理合规
  • 3天落地企业级应用,JNPF+AI重塑开发效率
  • sqli-labs靶场less46-less50
  • 传送带包裹漏检率↓78%!陌讯动态感知模型在物流分拣的实战优化
  • dMSA 滥用 (BadSuccessor) 导致权限升级:使用 ADAudit Plus 监控关键属性更改
  • Python使用LLM把自然语言翻译成SQL语句
  • 线程组和线程池的基本用法
  • 深入理解 SwiftUI 布局:VStack、HStack 和表单控件全解析
  • 电脑和手机访问网站,自动检测跳转不同网站
  • 将2小时的财报OCR识别录入缩短至5分钟,如何实现财报智能OCR录入
  • 创建一个Vue3项目
  • TLF35584芯片功能总结
  • Python基础语法练习
  • 力扣-56.合并区间
  • ESP32-menuconfig(4) -- Partition Table
  • [优选算法专题一双指针——三数之和]
  • Google再次颠覆自家模型,使用 MoR 模型打破 Transformer 模型壁垒
  • Java选手如何看待Golang
  • webapi项目添加访问IP限制
  • 根据字符出现频率排序
  • 【Bellman负环】Cycle Finding
  • (0️⃣基础)程序控制语句(初学者)(第3天)
  • 调用API接口返回参数缺失是什么原因导致的?
  • [3D数据存储] 对象 | OObject | IObject | 属性 | O<类型>Property | I<类型>Property
  • 安全基础DAY2-等级保护
  • linux-文件系统
  • AD8032ARZ-REEL7 ADI亚德诺 运算放大器 集成电路IC
  • 阿拉伯文识别技术:为连接古老智慧与数字未来铺设了关键道路
  • scratch笔记和练习-第11课:穿越峡谷
  • Cell-cultured meat: The new favorite on the future dining table