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

Codeforces Round 1031 (Div. 2)补题

地址


A烧烤温度

贪心思路比较容易想到的。

错:
写成z1=max(0,(k-b)/y+1); 以为k<b时能正确处理
实际上会abs(k-b)<y时,z1=1,会出错。
z2也一样

点击查看代码
#include<bits/stdc++.h>
using namespace std;void solve(){int k,a,b,x,y;cin>>k>>a>>b>>x>>y;int ans,z1=0,z2=0;if(x>y){if(k>=b){z1=(k-b)/y+1;k-=z1*y;}if(k>=a){z2=(k-a)/x+1;}ans=z1+z2;}else{if(k>=a){z1=(k-a)/x+1;k-=z1*x;}if(k>=b){z2=(k-b)/y+1;}ans=z1+z2;}cout<<ans<<endl;return ;
}signed main(){int t;cin>>t;while(t--) solve();return 0;
}

B屋顶板覆盖屋顶

贪心思路也是比较容易想的
外围是可以延伸出去的,借助外围向外铺屋顶板,矛盾就在内部

错:
以为只有当最初的两块屋顶板x方向有重叠或y方向有重叠时才需要判断dif是否被a或b边整除
实际上画图得出不论重叠与否,difx和dify至少有一个能够整除a或b才是Yes,否则为No(在x方向和y方向不重叠的前提下)
1.特判if(x1=x2)和if(y1=y2) 这种情况下一个dif为0一定可以满足,但是需保证另一个dif必须满足,即两个dif满足
2.else的情况(x有交集或y有交集或都没有交集)两个dif至少有一个满足就能借助外围的特性塞满。

trick:
求dif时可以直接用两个左下顶点x和y分别相减求得
求得的dif正好是一个a或b加上需要的dif(在相离的情况下)
或者不足一个a或b(在相交的情况下)
取模时不会受到影响

点击查看代码
#include<bits/stdc++.h>
using namespace std;void solve(){int w,h,a,b,x1,y1,x2,y2;cin>>w>>h>>a>>b>>x1>>y1>>x2>>y2;if(x1==x2){int dif=abs(y1-y2)%b;if(dif) cout<<"No"<<endl;else cout<<"Yes"<<endl;return ;}if(y1==y2){int dif=abs(x1-x2)%a;if(dif) cout<<"No"<<endl;else cout<<"Yes"<<endl;return ;}if(abs(x1-x2)%a&&abs(y1-y2)%b) cout<<"No"<<endl;else cout<<"Yes"<<endl;return ;
}signed main(){int t;cin>>t;while(t--) solve();return 0;
}

C金苹果二维前缀和

贪心:
发现选择一个区域用炸弹炸掉后
每次一格一格地移动,可以获得其余所有的金锭
ans=sum-毁掉的金锭

遍历所有的格子,
如果是空地,计算产生爆炸毁掉的金锭数,存最小的毁掉的金锭数
快速计算爆炸范围内毁掉的金锭数:二维前缀和\(O(1)\)实现

二维前缀和实现细节和一维其实差不多
前面也是用0来更新,后面注意二维数组越界的问题

trick:
当二维前缀和数组面对越界风险时,
可以max(i-k,0)min(i+k-1,n)
来替换为边界值和0,可以画图很快证明,
对于边界值,超出的部分为空的,超一维还是超两维对应的值都是m和n分别替换后的值
对于0,只要超出0界了,就一定是空的,而0对应的也是空的,所以超一维还是超两维也都是用0替换相应的值

点击查看代码
#include<bits/stdc++.h>
using namespace std;void solve(){int n,m,k;cin>>n>>m>>k;vector<vector<char>> a(n+1,vector<char>(m+1));vector<vector<int>> s(n+1,vector<int>(m+1));for(int i=1;i<=n;i++)for(int j=1;j<=m;j++) cin>>a[i][j];for(int i=1;i<=n;i++)for(int j=1;j<=m;j++) s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1]+(a[i][j]=='g');int sum=s[n][m];int ans=s[n][m];for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)if(a[i][j]=='.'){int res=s[min(i+k-1,n)][min(j+k-1,m)]-s[max(i-k,0)][min(j+k-1,m)]-s[min(i+k-1,n)][max(j-k,0)]+s[max(i-k,0)][max(j-k,0)];ans=min(ans,res);}cout<<sum-ans<<endl;return ;
}signed main(){int t;cin>>t;while(t--) solve();return 0;
}
http://www.jsqmd.com/news/35140/

相关文章:

  • 2025年陕西叛逆少年管教机构权威推荐榜单:叛逆孩子改变/叛逆孩子矫正/叛逆孩子教育源头机构精选
  • 2025年悬挑楼梯公司推荐榜:Top5厂家全面评测与选择攻略
  • Ubuntu忘记登录密码重置步骤-CSDN博客
  • 2025年可靠的钢结构旋转楼梯工厂推荐榜
  • 2025年积分球生产厂家评测:顶尖技术引领光学测量新时代
  • 第一个图形界面程序 -- 简单示例
  • 串子(待补)
  • 2025山东济南艺考文化课机构推荐榜:震华学校五星领衔,3 所优质学校助力艺考生文化课突围
  • TENGJUN-3.5MM耳机插座(JA06-BPF032-A):反向沉板结构下的4极音频连接解决方案 - 教程
  • 2025媒体邀约公司、深圳媒体推广公司、深圳软文推广公司推荐榜:媒介易领衔,中小规模企业凭实力上榜
  • 2025年11月钢管厂家最新推荐榜:实力企业凭技术与口碑脱颖而出
  • 禁止输入法联网_批量禁止指定目录下的程序联网
  • 虚幻引擎5 GAS制作俯视角RPG游戏 P05-05 游戏效果委托
  • 高性能计算-CUDA-mma-PTX
  • 2025年口碑好的GEO(AI搜索优)服务商解析与推荐
  • 2025年手机壳厂家革新包装技术:离心式包装机深度解析
  • 2025年广州工商注册公司权威推荐榜单:税务股权架构方案/工商变更/工商注销源头公司精选
  • 完整教程:TypeScript 面试题及详细答案 100题 (21-30)-- 接口(Interface)
  • 详细介绍:SkyDiffusion:用 BEV 视角打开街景→航拍图像合成新范式
  • Blender中如何让导出的FBX模型文件同时携带多个动画片段
  • 精美的vue流程设计器
  • 2025年刀轮船订制厂家权威推荐榜单:斗轮清淤船/刀轮式挖泥船/小型斗轮船源头厂家精选
  • 高效地使用std::map
  • YACS2025年10月甲组
  • 2025年peek什么材料定制厂家权威推荐榜单:peek原料/材料peek/peek塑料原料源头厂家精选
  • 一对一视频聊天源码,高效查找方法之二分查找 - 云豹科技
  • Netty 示例
  • 2025年电子压力试验生产厂家权威推荐榜单:混凝土压力试验机/纸箱压力试验机/全自动压力试验机源头厂家精选
  • 从网络下载图片到本地
  • Netty 的示例