SMU Summer 2024 Contest Round 2 (7.9)zhaosang
A-A
http://162.14.124.219/contest/1006/problem/A
考查用vector画图
我枚举到n==5才开始用,浪费40分钟,还是找规律太慢,得多学
做题代码如下:一坨
#include <bits/stdc++.h>
using namespace std;
using ll =long long;
const ll N =1e6+8;
char v[1000001];
int w[10000001];
ll diff[N],prefix[N];
vector<vector<char>> generate_carpet(int N) {
if (N == 0) {
return {{'#'}};
}
vector<vector<char>> smaller_carpet = generate_carpet(N - 1);
int size = smaller_carpet.size();
int new_size = size * 3;
vector<vector<char>> new_carpet(new_size, vector<char>(new_size, '.'));
for (int i = 0; i < new_size; ++i) {
for (int j = 0; j < new_size; ++j) {
if (!(size <= i && i < 2 * size && size <= j && j < 2 * size)) {
new_carpet[i][j] = smaller_carpet[i % size][j % size];
}
}
}
return new_carpet;
}
void print_carpet(const vector<vector<char>>& carpet) {
for (const auto& row : carpet) {
for (char ch : row) {
cout << ch;
}
cout << endl;
}
}
int main(){
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
ll n;
cin>>n;
if(n==1){
cout<<"###"<<'\n';
cout<<"#.#"<<'\n';
cout<<"###"<<'\n';
}else if(n==2){
cout<<"#########"<<'\n';
cout<<"#.##.##.#"<<'\n';
cout<<"#########"<<'\n';
cout<<"###...###"<<'\n';
cout<<"#.#...#.#"<<'\n';
cout<<"###...###"<<'\n';
cout<<"#########"<<'\n';
cout<<"#.##.##.#"<<'\n';
cout<<"#########"<<'\n';
}else if(n==0){
cout<<"#"<<'\n';
}else if(n==3)
{
cout<<"###########################"<<'\n';
cout<<" #.##.##.##.##.##.##.##.##.#"<<'\n';
cout<<"###########################"<<'\n';
cout<<"###...######...######...###"<<'\n';
cout<<"#.#...#.##.#...#.##.#...#.#"<<'\n';
cout<<"###...######...######...###"<<'\n';
cout<<"###########################"<<'\n';
cout<<"#.##.##.##.##.##.##.##.##.#"<<'\n';
cout<<"###########################"<<'\n';
cout<<"#########.........#########"<<'\n';
cout<<"#.##.##.#.........#.##.##.#"<<'\n';
cout<<"#########.........#########"<<'\n';
cout<<"###...###.........###...###"<<'\n';
cout<<"#.#...#.#.........#.#...#.#"<<'\n';
cout<<"###...###.........###...###"<<'\n';
cout<<"#########.........#########"<<'\n';
cout<<"#.##.##.#.........#.##.##.#"<<'\n';
cout<<"#########.........#########"<<'\n';
cout<<"###########################"<<'\n';
cout<<"#.##.##.##.##.##.##.##.##.#"<<'\n';
cout<<"###########################"<<'\n';
cout<<"###...######...######...###"<<'\n';
cout<<"#.#...#.##.#...#.##.#...#.#"<<'\n';
cout<<"###...######...######...###"<<'\n';
cout<<"###########################"<<'\n';
cout<<"#.##.##.##.##.##.##.##.##.#"<<'\n';
cout<<"###########################"<<'\n';
}else if(n==4){
cout<<"#################################################################################"<<'\n';
cout<<"#.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.#"<<'\n';
cout<<"#################################################################################"<<'\n';
cout<<"###...######...######...######...######...######...######...######...######...###"<<'\n';
cout<<"#.#...#.##.#...#.##.#...#.##.#...#.##.#...#.##.#...#.##.#...#.##.#...#.##.#...#.#"<<'\n';
cout<<"###...######...######...######...######...######...######...######...######...###"<<'\n';
cout<<"#################################################################################"<<'\n';
cout<<"#.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.#"<<'\n';
cout<<"#################################################################################"<<'\n';
cout<<"#########.........##################.........##################.........#########"<<'\n';
cout<<"#.##.##.#.........#.##.##.##.##.##.#.........#.##.##.##.##.##.#.........#.##.##.#"<<'\n';
cout<<"#########.........##################.........##################.........#########"<<'\n';
cout<<"###...###.........###...######...###.........###...######...###.........###...###"<<'\n';
cout<<"#.#...#.#.........#.#...#.##.#...#.#.........#.#...#.##.#...#.#.........#.#...#.#"<<'\n';
cout<<"###...###.........###...######...###.........###...######...###.........###...###"<<'\n';
cout<<"#########.........##################.........##################.........#########"<<'\n';
cout<<"#.##.##.#.........#.##.##.##.##.##.#.........#.##.##.##.##.##.#.........#.##.##.#"<<'\n';
cout<<"#########.........##################.........##################.........#########"<<'\n';
cout<<"#################################################################################"<<'\n';
cout<<"#.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.#"<<'\n';
cout<<"#################################################################################"<<'\n';
cout<<"###...######...######...######...######...######...######...######...######...###"<<'\n';
cout<<"#.#...#.##.#...#.##.#...#.##.#...#.##.#...#.##.#...#.##.#...#.##.#...#.##.#...#.#"<<'\n';
cout<<"###...######...######...######...######...######...######...######...######...###"<<'\n';
cout<<"#################################################################################"<<'\n';
cout<<"#.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.#"<<'\n';
cout<<"#################################################################################"<<'\n';
cout<<"###########################...........................###########################"<<'\n';
cout<<"#.##.##.##.##.##.##.##.##.#...........................#.##.##.##.##.##.##.##.##.#"<<'\n';
cout<<"###########################...........................###########################"<<'\n';
cout<<"###...######...######...###...........................###...######...######...###"<<'\n';
cout<<"#.#...#.##.#...#.##.#...#.#...........................#.#...#.##.#...#.##.#...#.#"<<'\n';
cout<<"###...######...######...###...........................###...######...######...###"<<'\n';
cout<<"###########################...........................###########################"<<'\n';
cout<<"#.##.##.##.##.##.##.##.##.#...........................#.##.##.##.##.##.##.##.##.#"<<'\n';
cout<<"###########################...........................###########################"<<'\n';
cout<<"#########.........#########...........................#########.........#########"<<'\n';
cout<<"#.##.##.#.........#.##.##.#...........................#.##.##.#.........#.##.##.#"<<'\n';
cout<<"#########.........#########...........................#########.........#########"<<'\n';
cout<<"###...###.........###...###...........................###...###.........###...###"<<'\n';
cout<<"#.#...#.#.........#.#...#.#...........................#.#...#.#.........#.#...#.#"<<'\n';
cout<<"###...###.........###...###...........................###...###.........###...###"<<'\n';
cout<<"#########.........#########...........................#########.........#########"<<'\n';
cout<<"#.##.##.#.........#.##.##.#...........................#.##.##.#.........#.##.##.#"<<'\n';
cout<<"#########.........#########...........................#########.........#########"<<'\n';
cout<<"###########################...........................###########################"<<'\n';
cout<<"#.##.##.##.##.##.##.##.##.#...........................#.##.##.##.##.##.##.##.##.#"<<'\n';
cout<<"###########################...........................###########################"<<'\n';
cout<<"###...######...######...###...........................###...######...######...###"<<'\n';
cout<<"#.#...#.##.#...#.##.#...#.#...........................#.#...#.##.#...#.##.#...#.#"<<'\n';
cout<<"###...######...######...###...........................###...######...######...###"<<'\n';
cout<<"###########################...........................###########################"<<'\n';
cout<<"#.##.##.##.##.##.##.##.##.#...........................#.##.##.##.##.##.##.##.##.#"<<'\n';
cout<<"###########################...........................###########################"<<'\n';
cout<<"#################################################################################"<<'\n';
cout<<"#.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.#"<<'\n';
cout<<"#################################################################################"<<'\n';
cout<<"###...######...######...######...######...######...######...######...######...###"<<'\n';
cout<<"#.#...#.##.#...#.##.#...#.##.#...#.##.#...#.##.#...#.##.#...#.##.#...#.##.#...#.#"<<'\n';
cout<<"###...######...######...######...######...######...######...######...######...###"<<'\n';
cout<<"#################################################################################"<<'\n';
cout<<"#.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.#"<<'\n';
cout<<"#################################################################################"<<'\n';
cout<<"#########.........##################.........##################.........#########"<<'\n';
cout<<"#.##.##.#.........#.##.##.##.##.##.#.........#.##.##.##.##.##.#.........#.##.##.#"<<'\n';
cout<<"#########.........##################.........##################.........#########"<<'\n';
cout<<"###...###.........###...######...###.........###...######...###.........###...###"<<'\n';
cout<<"#.#...#.#.........#.#...#.##.#...#.#.........#.#...#.##.#...#.#.........#.#...#.#"<<'\n';
cout<<"###...###.........###...######...###.........###...######...###.........###...###"<<'\n';
cout<<"#########.........##################.........##################.........#########"<<'\n';
cout<<"#.##.##.#.........#.##.##.##.##.##.#.........#.##.##.##.##.##.#.........#.##.##.#"<<'\n';
cout<<"#########.........##################.........##################.........#########"<<'\n';
cout<<"#################################################################################"<<'\n';
cout<<"#.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.#"<<'\n';
cout<<"#################################################################################"<<'\n';
cout<<"###...######...######...######...######...######...######...######...######...###"<<'\n';
cout<<"#.#...#.##.#...#.##.#...#.##.#...#.##.#...#.##.#...#.##.#...#.##.#...#.##.#...#.#"<<'\n';
cout<<"###...######...######...######...######...######...######...######...######...###"<<'\n';
cout<<"#################################################################################"<<'\n';
cout<<"#.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.#"<<'\n';
cout<<"#################################################################################"<<'\n';
}else{
vector<vector<char>> carpet = generate_carpet(n);
print_carpet(carpet);
}
}
B-B
http://162.14.124.219/contest/1006/problem/B
就是问你字符串里面有多少个连续相同的两个的子串数量,
但是问的是某一个区间里面的。
思路就是先找出所有的子串,然后再开一个数组,保存子串的数量在位置上
然后利用一个前缀和就可以找到答案了
#include <bits/stdc++.h>
using namespace std;
using ll =long long;
const ll N =1e6+8;
char v[1000001];
int w[10000001];
ll diff[N],prefix[N];
int main(){
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
ll n,q;
cin>>n>>q;
for(int i=1;i<=n;i++){
cin>>v[i];
}
for(int i=1;i<=n;i++){
if((v[i]==v[i+1])){
w[i]=1;
}
}
for(int j=1;j<=n;j++) prefix[j]=prefix[j-1]+w[j];
while(q--){
ll l,r;
cin>>l>>r;
if(w[r]==1){
cout<<prefix[r]-prefix[l-1]-1<<'\n';
}else{
cout<<prefix[r]-prefix[l-1]<<'\n';
}
}
}
C-C
最近在训练二分,可惜前面时间浪费太多,现在看到很高兴,会做了。
思路==就是二分加模拟,判断条件是最多行数>=使用的数量,这样模拟,把每一个数
加在一个数中,如果这个数小于二分的答案继续加下一个,直到大于等于,然后行数加1
(就是每一行要满足二分的答案),最后如果行数超了限制说明大了,如果可以继续二分继续变大==
代码如下:
#include <bits/stdc++.h>
using namespace std;
using ll =long long;
const ll inf = 2e18;
vector<ll>v(10000001);
ll m,n;
bool check(ll x){
vector<ll>pd(1);
for(int i=1;i<=n;i++){
if(v[i]>x) return false;
if(pd.back()==0){
pd.back()+=v[i];
}else{
if(pd.back()+v[i]+1ll<=x){
pd.back()+=1ll+v[i];
}else
pd.push_back(v[i]);
}
}
return pd.size()<=m;
}
int main(){
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
cin>>n>>m;
for(int i=1;i<=n;i++)cin>>v[i];
ll l=1,r=inf;
ll ans=-1;
while(l<=r){
ll mid =(l+r)>>1;
if(check(mid)) ans=mid,r=mid-1;
else l=mid+1;
}
cout<<ans;
return 0;
}
SMU Summer 2024 Contest Round 2 (7.9)zhaosang的更多相关文章
- Codeforces Round #581(Div. 2)
Codeforces Round #581(Div. 2) CF 1204 A. BowWow and the Timetable 题解:发现,$4$的幂次的二进制就是一个$1$后面跟偶数个$0$. ...
- Cow Contest POJ - 3660 (floyd 传递闭包)
N (1 ≤ N ≤ 100) cows, conveniently numbered 1..N, are participating in a programming contest. As we ...
- 【CodeForces - 1200C】Round Corridor (数论gcd)
Round Corridor Descriptions Amugae位于一个非常大的圆形走廊中.走廊由两个区域组成.内部区域等于nñ扇区,外部区域等于m米部门.在相同区域(内部或外部)的每对扇区之间 ...
- Educational Codeforces Round 29(6/7)
1.Quasi-palindrome 题意:问一个字符串(你可以添加前导‘0’或不添加)是否是回文串 思路:将给定的字符串的前缀‘0’和后缀‘0’都去掉,然后看其是否为回文串 #include< ...
- Codeforces Round #334(div.2)(新增不用二分代码) B
B. More Cowbell time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...
- Round Numbers (排列组合)
Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 7558 Accepted: 2596 Description The c ...
- codeforces Round #389(Div.2)C Santa Claus and Robot(思维题)
题目链接:http://codeforces.com/contest/752/problem/C 题意:给出一系列机器人的行动方向(机器人会走任意一条最短路径),问最少标记几个点能让机器人按这个 路径 ...
- Codeforces Round #626 (Div. 2) B. Count Subrectangles
题目连接:https://codeforces.com/contest/1323/problem/B 题意:给一个大小为n的a数组,一个大小为m的b数组,c数组是二维数组c[i][j]=a[i]*b[ ...
- 2017-2018 ACM-ICPC German Collegiate Programming Contest (GCPC 2017)(9/11)
$$2017-2018\ ACM-ICPC\ German\ Collegiate\ Programming\ Contest (GCPC 2017)$$ \(A.Drawing\ Borders\) ...
- Codeforces Round #342 (Div 2) 解题报告
除夕夜之有生之年CF第一场 下午从奶奶家回到姥姥家,一看还有些时间,先吃点水果陪姥姥姥爷聊了会儿,再一看表,5:20....woc已经开场20分钟了...于是抓紧时间乱搞.. **A. Guest F ...
随机推荐
- HTML——超链接标签
一.超链接标签的基本使用 超链接是浏览者和服务器的交互的主要手段,也叫超级链接或a链接,是网页中指向一个目标的连接关系,这个目标可以是网页.网页中的具体位置.图片.邮件地址.文件.应用程序等. 超链接 ...
- ASP.NET Core替换Action实际执行方法
RequestDelegate 上次,我们在<如何判断当前请求的API类型>中查看endpoints.MapControllers()实现时,最终定位到ActionEndpointFact ...
- 《iOS面试之道》-“串行队列的代码实战” 勘误
一.原书第一版154页开始讲解串行队列.并发队列.以及在Dispatch_Async.Dispatch_Sync下面的作用 最后一段代码: if(_q == NULL) { _q = dispatch ...
- Java synchronized与ReentrantLock的区别
synchronized与ReentrantLock的区别 synchronized是一个关键字,ReentrantLock是一个类 synchronized修饰代码块和方法,ReentrantLoc ...
- 【Java面试题-基础知识02】Java抽象类和接口六连问?
1.抽象类和接口分别是什么? 抽象类是一种类,可以包含抽象方法和非抽象方法,抽象方法是没有具体实现的方法,需要在子类中被具体实现. 接口是一种完全抽象的类,其中的所有方法都是抽象方法,没有方法体,它只 ...
- Charles抓不到包常见原因排查
Charles抓不到包常见原因排查 1.1.1配置代理端口 1.wifi设置代理 2.Charles客户端安装证书 3.Charles 配置抓取域名或IP 4.配置域名 Focus 重点
- HTML元素如何按字符串原格式输出文本换行制表符信息
只需给相应HTML元素添加 style="white-space: pre"
- spring与设计模式之四适配器模式
一.定义 适配器模式-或者称为转接口模式,变压器模式.通过适配,可以让原来提供特定功能的对象完成另外一个标准的功能. 所以,所谓的适配应该可以这样称呼:让某些类/接口适配/转换某个标准/功能. 适配器 ...
- spring之NamedParameterJdbcTemplate返回自增列值
以前使用JdbcTemplate来获取自增列的值,现在发现NamedParameterJdbcTemplate也可以,而且后者大部分情况下,其实更加方便. 这种方便主要是在于代码维护方面:我们更加习惯 ...
- Windows/Linux 通过 ssh 打开 远程服务器 GUI程序
背景 在 Windows + ssh(Cygwin) + Linux(运行在虚拟机中的Ubuntu) 是一个很舒服的方案,但是偶尔需要用到 图形界面. 如果需要通过ssh打开远程服务器端的程序,需要X ...