广州大学第十八届ACM大学生程序设计竞赛(同步赛)——题解
这套题我答的很失败。没有按照题目的难度去答题,前期浪费了不少时间。
题目:
A-字符画
题解:思维、模拟。这道题我的通过率为62.5,没有过的原因是因为对细节的处理和把控不到位,对一些点忽视,我也记录了搜索的过程,但没有把搜索过的点消掉,而且没有找到最好的顺序去解答这道题,我是按照横的方法去找字符,但是如果按照竖的方法去搜索的话,就能ac。
题目如下:

还有:


代码如下:
点击查看代码
#include<bits/stdc++.h>
#define endl '\n'
//#define int long long
using namespace std;
typedef long long ll;
typedef pair<int, int> PII;
const int N = 2e5+10;
int n, m, k,sum1,sum2,sum3;
char a[505][505];
bool b[505][505];
bool check2(int x,int y){
if(b[x][y]==0) return true;
else return false;
}
void sovle(){
cin>>n>>m;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cin>>a[i][j];
}
}
for(int i=0;i<m-2;i++){
for(int j=0;j<n-4;j++){
if(a[j][i]=='#'&&a[j+1][i]=='#'&&a[j+2][i]=='#'&&a[j+3][i]=='#'&&a[j+4][i]=='#'&&a[j][i+1]=='#'&&a[j+1][i+1]=='.'&&a[j+2][i+1]=='#'&&a[j+3][i+1]=='.'&&a[j+4][i+1]=='#'&&a[j][i+2]=='#'&&a[j+1][i+2]=='#'&&a[j+2][i+2]=='#'&&a[j+3][i+2]=='#'&&a[j+4][i+2]=='#'&&check2(j,i)&&check2(j+1,i)&&check2(j+2,i)&&check2(j+3,i)&&check2(j+4,i)&&check2(j,i+1)&&check2(j+1,i+1)&&check2(j+2,i+1)&&check2(j+3,i+1)&&check2(j+4,i+1)&&check2(j,i+2)&&check2(j+1,i+2)&&check2(j+2,i+2)&&check2(j+3,i+2)&&check2(j+4,i+2)){
sum3++;
b[j][i]=b[j+1][i]=b[j+2][i]=b[j+3][i]=b[j+4][i]=b[j][i+1]=b[j+1][i+1]=b[j+2][i+1]=b[j+3][i+1]=b[j+4][i+1]=b[j][i+2]=b[j+1][i+2]=b[j+2][i+2]=b[j+3][i+2]=b[j+4][i+2]=1;
}
else if(a[j][i]=='#'&&a[j+1][i]=='#'&&a[j+2][i]=='#'&&a[j+3][i]=='#'&&a[j+4][i]=='#'&&a[j][i+1]=='#'&&a[j+1][i+1]=='.'&&a[j+2][i+1]=='#'&&a[j][i+2]=='#'&&a[j+1][i+2]=='#'&&a[j+2][i+2]=='#'&&check2(j,i)&&check2(j+1,i)&&check2(j+2,i)&&check2(j+3,i)&&check2(j+4,i)&&check2(j,i+1)&&check2(j+1,i+1)&&check2(j+2,i+1)&&check2(j,i+2)&&check2(j+1,i+2)&&check2(j+2,i+2)){
sum1++;
b[j][i]=b[j+1][i]=b[j+2][i]=b[j+3][i]=b[j+4][i]=b[j][i+1]=b[j+1][i+1]=b[j+2][i+1]=b[j][i+2]=b[j+1][i+2]=b[j+2][i+2]=1;
}
else if(a[j][i]=='#'&&a[j][i+1]=='#'&&a[j+1][i+1]=='.'&&a[j+2][i+1]=='#'&&a[j][i+2]=='#'&&a[j+1][i+2]=='#'&&a[j+2][i+2]=='#'&&a[j+3][i+2]=='#'&&a[j+4][i+2]=='#'&&check2(j,i)&&check2(j,i+1)&&check2(j+1,i+1)&&check2(j+2,i+1)&&check2(j,i+2)&&check2(j+1,i+2)&&check2(j+2,i+2)&&check2(j+3,i+2)&&check2(j+4,i+2)){
sum2++;
b[j][i]=b[j][i+1]=b[j+1][i+1]=b[j+2][i+1]=b[j][i+2]=b[j+1][i+2]=b[j+2][i+2]=b[j+3][i+2]=b[j+4][i+2]=1;
}
}
}
cout<<sum1<<' '<<sum2<<' '<<sum3;
}
int main()
{
//ios::sync_with_stdio(false), cin.tie(0),cout.tie(0);
int t = 1;
//cin>>t;
while (t --){
sovle();
}
return 0;
}
**G-能赢吗?会赢的!**
题解:思路正确,但是对二分深度理解不够,找值的时候出现问题,并且对题目理解清晰不够。
题目如下:

代码如下:
点击查看代码
#include <bits/stdc++.h>
using namespace std;
#define int long long
typedef pair<int,int> PII;
const int N=2e6+10;
int v[100001];
int c[100001];
int n;
bool check(int x)
{
for(int i=1;i<=n;i++){
if(x>v[i]+c[i])
{
x+=c[i]/2;
v[i+1]=(c[i]+1)/2;
}else
return 0;
}
return true;
}
signed main ()
{
int t=1;
//cin>>t;
while(t--)
{
cin>>n;
for(int i=1;i<=n;i++){
cin>>c[i];
}
v[1]=c[1];
long long r =1e12;
long long l =1;
while(l<r)
{
int mid=(l+r)>>1;
if(check(mid))
{
r=mid;
}else
{
l=mid+1;
}
}
cout<<l;
}
return 0;
}
广州大学第十八届ACM大学生程序设计竞赛(同步赛)——题解的更多相关文章
- “浪潮杯”第九届山东省ACM大学生程序设计竞赛重现赛 C-Cities
题目描述:There are n cities in Byteland, and the ith city has a value ai. The cost of building a bidirec ...
- Alice and Bob(2013年山东省第四届ACM大学生程序设计竞赛)
Alice and Bob Time Limit: 1000ms Memory limit: 65536K 题目描述 Alice and Bob like playing games very m ...
- 2013年山东省第四届ACM大学生程序设计竞赛-最后一道大水题:Contest Print Server
点击打开链接 2226: Contest Print Server Time Limit: 1 Sec Memory Limit: 128 MB Submit: 53 Solved: 18 [Su ...
- 山东省第四届ACM大学生程序设计竞赛解题报告(部分)
2013年"浪潮杯"山东省第四届ACM大学生程序设计竞赛排名:http://acm.upc.edu.cn/ranklist/ 一.第J题坑爹大水题,模拟一下就行了 J:Contes ...
- [2012山东省第三届ACM大学生程序设计竞赛]——n a^o7 !
n a^o7 ! 题目:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2413 Time Lim ...
- 河南省第十一届ACM大学生程序设计竞赛
nyoj-1365-山区修路 内存限制:128MB 时间限制:3000ms 特判: No通过数:4 提交数:4 难度:3 题目描述: SNJ位于HB省西部一片群峰耸立的高大山地,横亘于A江.B水之间, ...
- angry_birds_again_and_again(2014年山东省第五届ACM大学生程序设计竞赛A题)
http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2877 题目描述 The problems ca ...
- 第八届山东省ACM大学生程序设计竞赛个人总结
因为省赛,从开学紧张到5月7号.心思也几乎全放在ACM的训练上.因为我还是校台球协会的会长,所以台协还有一些事情需要忙,但是我都给延迟了.老会长一直在催我办校赛,但我一直说 等等吧,因为校赛只能在周六 ...
- sdut Mountain Subsequences 2013年山东省第四届ACM大学生程序设计竞赛
Mountain Subsequences 题目描述 Coco is a beautiful ACMer girl living in a very beautiful mountain. There ...
- ZZUOJ-1195-OS Job Scheduling(郑州大学第七届ACM大学生程序设计竞赛E题)
1195: OS Job Scheduling Time Limit: 2 Sec Memory Limit: 128 MB Submit: 106 Solved: 35 [id=1195&quo ...
随机推荐
- Swoole 源码分析之 Coroutine 协程模块
首发原文链接:Swoole 源码分析之 Coroutine 协程模块 大家好,我是码农先森. 引言 协程又称轻量级线程,但与线程不同的是:协程是用户级线程,不需要操作系统参与.由用户显式控制,可以在需 ...
- 鸿蒙HarmonyOS实战-Stage模型(线程模型)
前言 线程是计算机中的一种执行单元,是操作系统进行调度的最小单位.它是进程中的实际运行单位,每个进程可以包含多个线程.线程可以理解为进程中的一个执行流,它独立运行,拥有独立的栈和寄存器,但共享进程的资 ...
- 像阿里OSS一样的文件对像存储服务,容器实现 docker初探及minio测试
像阿里OSS一样的文件对像存储服务,容器实现 docker run -p 8000:9000 --name oss-minio -d -e "MINIO_ACCESS_KEY=AKIAIOS ...
- ReplayKit 启动录制按钮 RPSystemBroadcastPickerView 的使用
一.RPSystemBroadcastPickerView 介绍 ReplayKit12自从iOS11公布以来,提供了iOS系统级别的录屏能力(也就是录制自身App以外,手机屏幕内容)的能力,有一个非 ...
- uniapp 添加操作
1 分析: 2 需要动态的向数据库中插入数据,既然要进行添加操作,就会触发一个点击的事件,所以我们的第一步就是要先绑定事件 3 向服务器进行请求接口操作,请求的方法为 'POST' 4 最后就是在me ...
- java.sql.SQLException: MONTH 报错解决方法
idea控制台报错:java.sql.SQLException: MONTH Error attempting to get column 'xxx' from result set. Cause: ...
- c# IdHelper生成唯一的雪花Id
为什么使用雪花ID 在以前的项目中,最常见的两种主键类型是自增Id和UUID,在比较这两种ID之前首先要搞明白一个问题,就是为什么主键有序比无序查询效率要快,因为自增Id和UUID之间最大的不同点就在 ...
- Ubuntu安装VMware tools后不起作用
复制和立即适应客户机不起作用. 解决: 1)不需要卸载 2)命令行执行sudo apt-get install open-vm-tools-desktop 3)可能会提示apt-get update或 ...
- Go版RuoYi
RuoYi-Go https://github.com/Kun-GitHub/RuoYi-Go 1. 关于我 个人介绍 2. 介绍 后端用Go写的RuoYi权限管理系统 (功能正在持续实现)后端 G ...
- docker 报Failed to create thread: Operation not permitted (1) 解决方法
docker启动容器时报:Failed to create thread: Operation not permitted (1) 原因:docker内的用户权限受限 解决办法1: 启动docker时 ...