总评

今天是个上分的好日子,可惜12:30修仙场并没有打。。。

A. Snowball(小模拟)

我上来还以为直接能O(1)算出来没想到还能小于等于0的时候变成0,那么只能小模拟了。从最高的地方进行高度的模拟,如果遇到石头就去判断一下会不会小于0其他没有什么好说的了

代码

#include <bits/stdc++.h>
using namespace std;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int a,b,c,d,e,f;
cin>>a>>b>>c>>d>>e>>f;
for(int i=b;i>=0;i--)
{
a+=i;
if(d==i)
{
a-=c;
if(a<=0)
a=0;
}
else if(f==i)
{
a-=e;
if(a<=0)
a=0;
}
}
cout<<a;
}

B. Squares and Segments(数学)

题目真是贼长啊,实际上就是找到最小的边能够映射成给定的正方形。上来我直接被样例的4给昏迷了,怎么还能4条边围成4个正方形,实际上2*2就可以

进而想到了如果这个正方形的个数是个完全平方数那么就是sqrt(n)*2

然后进行了一次推敲,如果不是完全平方数那么就用原本的个数减去最近的完全平方数然后去凑列,也就是说看差值能凑成多少最近的完全平方数的行的列,然后加上这些列就是边数

代码

#include <bits/stdc++.h>
using namespace std;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int t;
cin>>t;
if(sqrt(t)==int(sqrt(t)))
cout<<sqrt(t)*2;
else
cout<<int(sqrt(t))*2+(t-int(sqrt(t))*int(sqrt(t)))/int(sqrt(t))+(t%int(sqrt(t))!=0);
}

C. Postcard (字符串基础)

这个地方真的是语法上有太多的漏洞,当时直接看了c++一半就来了。。。语法漏洞还是比较多。用了string类的erase后续的会向前移并且坐标也会前移,也就是说你erase了两个然后坐标又前移了两个,如果继续遍历的话会出错必须把坐标改回来

然后我们来看看具体的情况有多少

首先要看看特例也就是不可能的情况

(1)如果去掉标记的字符还不能达到给定的长度,那么不可能

(2)如果没有*但是长度比原本的字符的长度长那么不可能

然后我们再去算可能的

(1)去掉型,去掉合适的然后能够得到答案

(2)增加型,存在。先把?的标记都去掉然后把第一个增加去掉其他的*即可

代码

#include <bits/stdc++.h>
using namespace std;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
string a;
cin>>a;
int len,ans=0,f=0;
cin>>len;
for(int i=0;i<a.size();i++)
{
if(isalpha(a[i]))
ans++;
else if(a[i]=='*')
f++;
}
int mk=a.size()-ans;
if(ans-mk>len||(ans<len&&!f))
return cout<<"Impossible",0;
if(ans-mk<=len&&ans>=len)
{
int re=ans-len;
int now=1;
for(int i=0;i<a.size();i++)
{
if(!isalpha(a[i]))
{
if(now<=re)
now++,a.erase(i-1,2),i-=1;
else
a.erase(i,1);
}
}
cout<<a;
}
if(ans<len)
{
for(int i=0;i<a.size();i++)
if(a[i]=='?')
a.erase(i-1,2),i-=1;
int te=a.size()-f;
for(int i=0;i<a.size();i++)
if(a[i]=='*')
{
a.erase(i,1);
if(te<len)
a.insert(i,len-te,a[i-1]),te=len;
}
cout<<a;
}
}

Codeforces Round #530 (Div. 2) (前三题题解)的更多相关文章

  1. Lyft Level 5 Challenge 2018 - Final Round (Open Div. 2) (前三题题解)

    这场比赛好毒瘤哇,看第四题好像是中国人出的,怕不是dllxl出的. 第四道什么鬼,互动题不说,花了四十五分钟看懂题目,都想砸电脑了.然后发现不会,互动题从来没做过. 不过这次新号上蓝名了(我才不告诉你 ...

  2. Codeforces Round #609 (Div. 2)前五题题解

    Codeforces Round #609 (Div. 2)前五题题解 补题补题…… C题写挂了好几个次,最后一题看了好久题解才懂……我太迟钝了…… 然后因为longlong调了半个小时…… A.Eq ...

  3. BestCoder Round #11 (Div. 2) 前三题题解

    题目链接: huangjing hdu5054 Alice and Bob 思路: 就是(x,y)在两个參考系中的表示演全然一样.那么仅仅可能在这个矩形的中点.. 题目: Alice and Bob ...

  4. Codeforces Round #460 (Div. 2) 前三题

    Problem A:题目传送门 题目大意:给你N家店,每家店有不同的价格卖苹果,ai元bi斤,那么这家的苹果就是ai/bi元一斤,你要买M斤,问最少花多少元. 题解:贪心,找最小的ai/bi. #in ...

  5. Codeforces Round #599 (Div. 2)的简单题题解

    难题不会啊…… 我感觉写这个的原因就是因为……无聊要给大家翻译题面 A. Maximum Square 简单题意: 有$n$条长为$a_i$,宽为1的木板,现在你可以随便抽几个拼在一起,然后你要从这一 ...

  6. Codeforces Round #524 (Div. 2)(前三题题解)

    这场比赛手速场+数学场,像我这样读题都读不大懂的蒟蒻表示呵呵呵. 第四题搞了半天,大概想出来了,但来不及(中途家里网炸了)查错,于是我交了两次丢了100分.幸亏这次没有掉rating. 比赛传送门:h ...

  7. Codeforces Round #195 A B C 三题合集 (Div. 2)

    A 题 Vasily the Bear and Triangle 题目大意 一个等腰直角三角形 ABC,角 ACB 是直角,AC=BC,点 C 在原点,让确定 A 和 B 的坐标,使得三角形包含一个矩 ...

  8. bestcoder Round #7 前三题题解

    BestCoder Round #7 Start Time : 2014-08-31 19:00:00    End Time : 2014-08-31 21:00:00Contest Type : ...

  9. Codeforces Round #416 (Div. 2)(A,思维题,暴力,B,思维题,暴力)

    A. Vladik and Courtesy time limit per test:2 seconds memory limit per test:256 megabytes input:stand ...

随机推荐

  1. flask的nocache防止js不刷新

    原文:http://librelist.com/browser/flask/2011/8/8/add-no-cache-to-response/#952cc027cf22800312168250e59 ...

  2. 编译android的一些坑

    1 降级gcc g++到4.4 2 参考:http://source.android.com/source/initializing.html来配置环境 3 使用jdk1.6 包括 java java ...

  3. Java文件实时监控Commons-io

    今天看到一网友写的 Java 文件监控,实时监控文件加载 ,突然想到Commons-io中已有此功能的实现,先温习下 写个简单的Demo: 有三种方式: 1.java common.io    内部实 ...

  4. Linux 常用命令大全2

    Linux 常用命令大全 [帮助命令] command —help man command man 2 command 查看第2个帮助文件 man -k keyword 查找含有关键字的帮助 info ...

  5. nginx - ubutun下安装nginx(详述编译方法)

    一.使用apt命令安装 sudo apt-get install nginx 二.编译方法安装(个人实践方法,具体见官方文档) 1)说明:我使用的虚拟机是64位 ubuntu server14.04, ...

  6. MogileFS的实现和bug解决

    MogileFS的实现 准备三个主机: centos7.1:tracker节点.database节点.storage节点:192.168.213.251 centos7.2.centos7.3:sto ...

  7. Connection: close和Connection: keep-alive有什么区别?

    看到有人问Connection: close和Connection: keep-alive有什么区别?想起以前学习到的一篇文章,今天转载来,大家看看,我也再温故知新下.如果有问题补充的在下面可以扩充下 ...

  8. 基于CentOS7.5的 Rsync 服务详解

    第1章 Rsync概述 1.1 Rsync基本概述 rsync是一款开源的备份工具,可以在不同服务器(主机)之间进行同步备份, 可实现完全备份与增量备份,因此非常适合用于架构集中式备份或异地备份等应用 ...

  9. UVa 101 - The Blocks Problem STL

    题目:给你n个方块,有四种操作: .move a onto b,把a和b上面的方块都放回原来位置,然后把a放到b上面: .move a over b,把a上面的放回原处,然后把a放在b所在的方块堆的上 ...

  10. ACM_Uppercase(水题)

    Uppercase Time Limit: 2000/1000ms (Java/Others) Problem Description: 给出一句中间无特殊符号的英语句子,要求将各单词的首字母改大写. ...