广州大学第十八届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 ...
随机推荐
- Linux之kill命令
1.kill命令的使用格式 kill [参数] [进程号] 2.kill命令的功能 发送指定的信号到相应进程.不指定型号将发送SIGTERM(15)终止指定进程.如果任然无法终止该程序可用" ...
- Qt-FFmpeg开发-视频播放【硬解码】(2)
Qt-FFmpeg开发-视频播放[硬解码] 目录 Qt-FFmpeg开发-视频播放[硬解码] 1.概述 2.实现效果 3.FFmpeg硬解码流程 4.主要代码 6.完整源代码 更多精彩内容 个人内容分 ...
- zoxide更新后 (cd)异常
关于zoxide github地址:https://github.com/ajeetdsouza/zoxide 简单来说 zoxide是一个cd的强化版.它会记录你曾经cd过的目录,在你使用cd的时候 ...
- NOIP模拟70
T1 暴雨 解题思路 \(f_{i,j,k,0/1}\) 表示前 i 个铲平 j 个当前最高的是 k 并且当前是 奇数/偶数 的方案数. 由于只可以铲平 k 块,因此对于同一种 \(i,j\) 而言高 ...
- Github Fork仓库的冲突与同步管理
在使用Github进行协作开发时,fork一个仓库并在本地进行开发是常见的工作流程.然而,当源仓库(上游仓库)有了更新时,如何同步这些更新并解决可能的合并冲突是一个关键问题.本文将详细介绍如何管理这些 ...
- LeetCode 719. 找出第 k 小的距离对 (Java)
题目: 给定一个整数数组,返回所有数对之间的第 k 个最小距离.一对 (A, B) 的距离被定义为 A 和 B 之间的绝对差值. 示例 1: 输入:nums = [1,3,1]k = 1输出:0 解释 ...
- 【Java面试题-基础知识02】Java抽象类和接口六连问?
1.抽象类和接口分别是什么? 抽象类是一种类,可以包含抽象方法和非抽象方法,抽象方法是没有具体实现的方法,需要在子类中被具体实现. 接口是一种完全抽象的类,其中的所有方法都是抽象方法,没有方法体,它只 ...
- docker on windows v19 红色启动不了
遇到: error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.40/containers/json: open //./ ...
- 华为云短信服务教你用C++实现Smgp协议
本文分享自华为云社区<华为云短信服务教你用C++实现Smgp协议>,作者:张俭. 引言&协议概述 中国联合网络通信有限公司短消息网关系统接口协议(SGIP)是中国网通为实现短信业务 ...
- Sass报错: Using / for division is deprecated
原因是:当sass版本>= 1.33.0时,会不支持 / 这种语法: 解决方式一: 降低sass版本,将sass版本换成:"sass": "^ ...