总评

今天是个上分的好日子,可惜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. beego3---gohttp底层实现

    package main //gohttp底层实现,通过gohttp不是通过beego实现的输出 // import ( "io" "log" "ne ...

  2. html5 canvas程序演示--P1197 [JSOI2008]星球大战

    html5 canvas程序演示--P1197 [JSOI2008]星球大战 <!doctype html> <html> <head> <meta char ...

  3. 学习 Shell —— 认识 shell

    0. 认识 shell shell 是一个命令行解释器(interpreter),它会输出一个提示符,等待输入一个命令,然后执行该命令.如果该命令行的第一个单词不是一个内置的 shell 命令,那么 ...

  4. 【bug】【userAgent】极速模式与非极速模式存在差异

    UC浏览器 Android 极速模式 UC浏览器 Android 非极速模式

  5. Python实现用户交互,显示省市县三级联动的选择

    题目:Python实现用户交互,显示省市县三级联动的选择 定义的字典为: dic = { "江西": { "萍乡": ["安源", &quo ...

  6. bzoj 1655: [Usaco2006 Jan] Dollar Dayz 奶牛商店【高精度+完全背包】

    居然要用高精度! 懒得operator了,转移是裸的完全背包 #include<iostream> #include<cstdio> using namespace std; ...

  7. linux守护进程的编写

    linux监控一个进程进行 代码如下: #!/bin/sh cd /home/autoprocess/ auto=`pgrep -f autoProcessNew.php | wc -l` if [ ...

  8. 2017杭电多校第六场1011Classes

    传送门 Classes Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Tota ...

  9. 51nod1459 迷宫游戏

    1459 迷宫游戏 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 你来到一个迷宫前.该迷宫由若干个房间组成,每个房间都有一个得分,第一次进入这个房间,你 ...

  10. ORACLE_AQ 队列

    Oracle AQ Demo,Step by Step 我准备用AQ来做一个数据仓库系统,提交分析任务队列.有以下需求: 1.利用通知异步的执行存储过程 2.设定队列大小极限 3.出列即删除 OK,l ...