10.18 %你赛总结

news/2024/10/19 8:21:49

10.18 日模拟赛总结

T1 一维围棋

思路

由于本人太蒟了,不会 \(O(n)\)。求教。

简单题目。首先,看到数据范围 \(|s| \le 100\),于是得到可以有 \(O(n^4)\) 做法。先 \(O(n)\) 枚举 \(s_i\) 对于是 . 的位置变成 W。然后 \(O(n^2)\) 枚举修改后的数组的每个子串,对于 \([l,r]\) 这个区间内的子串。当其满足 \(s_l\)\(s_r\) 都为 W\([l+1,r-1]\) 区间内全为 B 且 从 \(l-1\)\(1\)\(r+1\)\(n\) 的字符第一个不是 W 的字符不为 B 即可。因为 \([l,r]\) 需要暴力 check。故总时间复杂度为 \(O(n^4)\)。可以通过此题。

AC code

#include<bits/stdc++.h>
#define int long long
using namespace std;
namespace WYL{int n,ans;string s,str;int main(){cin>>n;cin>>s;for(int i=0;i<s.size();i++){str=s;if(str[i]=='.'){str[i]='W';
//				cout<<str<<endl;for(int l=0;l<s.size();l++){for(int r=0;r<s.size();r++){if(r-l+1<3){continue;}int flag=0;if(str[l]=='W'&&str[r]=='W'){for(int j=l+1;j<=r-1;j++){if(str[j]!='B'){flag=1;break;}}}else{continue;}
//						cout<<flag<<" ";if(flag==1){continue;}for(int j=l;j>=0;j--){if(str[j]=='.'){flag=0;break;}if(str[j]=='B'){flag=1;break;}}if(flag==1){continue;}for(int j=r;j<=s.size()-1;j++){if(str[j]=='.'){flag=0;break;}if(str[j]=='B'){flag=1;break;}}if(flag==1){continue;}ans=max(ans,r-l-1);
//						cout<<l<<" "<<r<<endl;}}}}cout<<ans<<endl;return 0;}
}
signed main(){ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
//	freopen("capture.in","r",stdin);
//	freopen("capture.out","w",stdout);WYL::main();return 0;
}

T2 斜二等轴测图

思路

其实跟 一元二次方程 难度差不多。这一提供两种思路。

第一。我们考虑把原图分成三个部分来看。我画个图,这就很明显了。

这个图是 \(a=4,b=3,c=2\) 的。我们对于每一行每一列进行奇偶判断在直接输出一下就可以了。这里提醒 数组要开大一点,不然怎么挂的你都不知道。

第二种思路也很一眼。这是我亲爱的同机房大佬提出的。我们可以把原图分层,分开处理 /+-。这样没有上面那种解法容易挂分。但是我考场写的上面那种思路。于是顺其自然只提供思路一的代码(乐。

AC code

#include<bits/stdc++.h>
using namespace std;
namespace WYL{int T,a,b,c,chang,kuan;char mp[200][200];void debug(){for(int i=1;i<=kuan;i++){for(int j=1;j<=chang;j++){cout<<mp[i][j];}cout<<endl;}}void shang(){for(int i=1;i<=b*2+1;i++){if(i%2==1){int shuliang=a*2+1;
//				cout<<shuliang<<endl;int qianmiankong=chang-shuliang-i+1;int sum=1;for(int j=qianmiankong+1;j<=qianmiankong+shuliang;j++){if(sum%2==1){mp[i][j]='+';}else{mp[i][j]='-';}sum++;}}else{int shuliang=a*2+1;int qianmiankong=chang-shuliang-i+1;int sum=1;for(int j=qianmiankong+1;j<=qianmiankong+shuliang;j++){if(sum%2==1){mp[i][j]='/';}else{mp[i][j]='.';}sum++;}}}return;}void qian(){int huangshu=c*2,sum=1;for(int i=kuan;i>=kuan-huangshu+1;i--){int shuliang=2*a+1;if(sum%2==1){int num=1;for(int j=1;j<=shuliang;j++){if(num%2==1){mp[i][j]='+';}else{mp[i][j]='-';}num++;}}else{int num=1;for(int j=1;j<=shuliang;j++){if(num%2==1){mp[i][j]='|';}else{mp[i][j]='.';}num++;}}sum++;}return;}void ce(){int lieshu=b*2,sum=1,kaishi=2;for(int i=chang;i>=chang-lieshu+1;i--){if(sum%2==1){int num=1;for(int j=1;j<=2*c;j++){if(num%2==1){mp[j+kaishi-1][i]='|';}else{mp[j+kaishi-1][i]='+';}num++;}}else{int num=1;for(int j=1;j<=2*c;j++){if(num%2==1){mp[j+kaishi-1][i]='.';}else{mp[j+kaishi-1][i]='/';}num++;}}sum++;kaishi++;}return;}int main(){cin>>T;while(T--){cin>>a>>b>>c;chang=(a+b)*2+1;kuan=(c+b)*2+1;
//			cout<<chang<<" "<<kuan<<endl;for(int i=1;i<=kuan;i++){for(int j=1;j<=chang;j++){mp[i][j]='.';}}shang();
//			debug();qian();
//			debug();ce();debug();}return 0;}
}
int main(){ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
//	freopen("draw.in","r",stdin);
//	freopen("draw.out","w",stdout);WYL::main();return 0;
}
/*1 4 3 221 1 16 2 4
*/

T3 [SNOI2017] 炸弹

思路

首先观察数据 $1 \le n \le 500000 $。得出如果暴力建图一定会超时。所以考虑线段树优化建图。用什么建图。这个很容易。就是把当前炸弹的坐标与它能够炸到区间连边。这个其实和 CF786B 差不多。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

帆软报表-数据权限控制与实现

1、组织表设计(同数据库设计)工号用户名监管机构code监管机构名大区code大区名区域code区域名机构等级机构.S(user_code)机构.G(user_name)机构.G(org1_code)机构.G(org1_name)机构.G(org2_code)机构.G(org2_name)机构.G(org3_code)机构.G(org3_name)机构.G(level)2、登陆人信…

VMware Data Services Manager 2.1 - 数据库管理和数据服务管理

VMware Data Services Manager 2.1 - 数据库管理和数据服务管理VMware Data Services Manager 2.1 - 数据库管理和数据服务管理 在 vSphere 环境中按需配置和自动管理 PostgreSQL 和 MySQL 数据库 请访问原文链接:https://sysin.org/blog/vmware-data-services-manager/ 查看最…

Eclipse Symphony

Eclipse Symphony 是一个Eclipse 基金会下的多功能的开源工具链协调器,旨在将各种边缘软件和硬件堆栈无缝集成为一个完整的端到端体验。它允许开发者和采用者在不进行任何更改的情况下使用他们当前的系统,并将这些分散的系统统一为一个连贯的整体。Symphony 是一个基于标准的…

读数据工程之道:设计和构建健壮的数据系统13无服务器

无服务器1. 无服务器 1.1. 云供应商的一个大趋势是无服务器,允许开发人员和数据工程师无须在后台管理服务器即可运行应用程序1.1.1. 无服务器快速将价值投入到其正确的用例1.2. 无服务器真正开始流行是在2014年AWS Lambda全面投入使用之后1.2…

计量经济学(十二)——虚拟变量回归模型

img { display: block; margin-left: auto; margin-right: auto } table { margin-left: auto; margin-right: auto } 虚拟变量回归(Dummy Variable Regression)是处理分类变量的标准工具,在回归分析中具有广泛应用。分类变量通常是定性变量,例如性别(男/女)、地区(东/西…

手表厂家一览

swatch集团 劳力士集团 历峰集团 LVMH集团

Wi-Fi 无线频宽 20M/40M/80M All In One

Wi-Fi 无线频宽 20M/40M/80M All In One Wi-Fi 无线频段/无线电波段 2.4G / 5G / 6GWi-Fi 无线频宽 20M/40M/80M All In OneWi-Fi 无线频段/无线电波段 2.4G / 5G / 6GWi-Fi 频段 Wi-Fi 是基于 IEEE 802.11 系列标准的无线网络协议系列,常用于设备的局域网络和互联网接入,允…

关于人力资源管理,我有一些思考。欢迎你来指点江山,也可以来吃瓜。

两种人力资源管理的理念: 以人定岗和以岗定人 “以人定岗”倾向于中国传统的思维方式,主张以人为核心,以人为本,而西方企业管理主张以“事”为核心,通过职能分析,设定职务岗位,定岗定责,以岗定人。 这两种用人方法揭示了中西方用人哲学的不同。 显然在实际操作中,“以…