Codeforces Round #530 (Div. 2) (前三题题解)
总评
今天是个上分的好日子,可惜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) (前三题题解)的更多相关文章
- Lyft Level 5 Challenge 2018 - Final Round (Open Div. 2) (前三题题解)
这场比赛好毒瘤哇,看第四题好像是中国人出的,怕不是dllxl出的. 第四道什么鬼,互动题不说,花了四十五分钟看懂题目,都想砸电脑了.然后发现不会,互动题从来没做过. 不过这次新号上蓝名了(我才不告诉你 ...
- Codeforces Round #609 (Div. 2)前五题题解
Codeforces Round #609 (Div. 2)前五题题解 补题补题…… C题写挂了好几个次,最后一题看了好久题解才懂……我太迟钝了…… 然后因为longlong调了半个小时…… A.Eq ...
- BestCoder Round #11 (Div. 2) 前三题题解
题目链接: huangjing hdu5054 Alice and Bob 思路: 就是(x,y)在两个參考系中的表示演全然一样.那么仅仅可能在这个矩形的中点.. 题目: Alice and Bob ...
- Codeforces Round #460 (Div. 2) 前三题
Problem A:题目传送门 题目大意:给你N家店,每家店有不同的价格卖苹果,ai元bi斤,那么这家的苹果就是ai/bi元一斤,你要买M斤,问最少花多少元. 题解:贪心,找最小的ai/bi. #in ...
- Codeforces Round #599 (Div. 2)的简单题题解
难题不会啊…… 我感觉写这个的原因就是因为……无聊要给大家翻译题面 A. Maximum Square 简单题意: 有$n$条长为$a_i$,宽为1的木板,现在你可以随便抽几个拼在一起,然后你要从这一 ...
- Codeforces Round #524 (Div. 2)(前三题题解)
这场比赛手速场+数学场,像我这样读题都读不大懂的蒟蒻表示呵呵呵. 第四题搞了半天,大概想出来了,但来不及(中途家里网炸了)查错,于是我交了两次丢了100分.幸亏这次没有掉rating. 比赛传送门:h ...
- Codeforces Round #195 A B C 三题合集 (Div. 2)
A 题 Vasily the Bear and Triangle 题目大意 一个等腰直角三角形 ABC,角 ACB 是直角,AC=BC,点 C 在原点,让确定 A 和 B 的坐标,使得三角形包含一个矩 ...
- bestcoder Round #7 前三题题解
BestCoder Round #7 Start Time : 2014-08-31 19:00:00 End Time : 2014-08-31 21:00:00Contest Type : ...
- 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 ...
随机推荐
- 混合使用Delphi和C ++(附下载)
您想将C ++添加到Delphi应用程序中吗?或者将Delphi代码添加到C ++应用程序中?这是如何做. 您可能不知道的一件事是如何在RAD Studio中集成C ++和Delphi语言.您可以将单 ...
- SQLALchemy之介绍,基本使用
一.介绍 SQLALchemy也是一个python的ORM框架,django内部的ORM框架只适用于django,而SQLALchemy适用于所有python的web框架 SQLAlchemy是一个基 ...
- NOI.AC #31 MST —— Kruskal+点集DP
题目:http://noi.ac/problem/31 好题啊! 题意很明白,对于有关最小生成树(MST)的题,一般是要模拟 Kruskal 过程了: 模拟 Kruskal,也就是把给出的 n-1 条 ...
- wrap(),wrapAll(),wrapInner()的区别
wrap从字面上理解就是包裹的意思,这三个函数也都是起到将内部节点进行包裹的作用,但是他们的各自的功能有又大不相同. 1. a.wrap(b) 这个函数的作用是用b将a进行包裹,其中a所选中的可以为 ...
- CodeForces 731B Coupons and Discounts (水题模拟)
题意:有n个队参加CCPC,然后有两种优惠方式,一种是一天买再次,一种是买两天,现在让你判断能不能找到一种方式,使得优惠不剩余. 析:直接模拟,如果本次是奇数,那么就得用第二种,作一个标记,再去计算下 ...
- 浙江省CIO协会钱塘江论坛近日在网易云创沙龙宣布成立
本文来自网易云社区 9月19日,由网易云与浙江省首席信息官协会共同主办的“网易云创CIO沙龙”在杭州举行,本次活动以“瞩目钱塘,赋能企业数字化创新”为主题,网易云企业服务部总经理岳峥辉,浙江省首席信息 ...
- P3402 【模板】可持久化并查集
传送门 //minamoto #include<bits/stdc++.h> using namespace std; #define getc() (p1==p2&&(p ...
- Linux学习笔记之Linux shell脚本运行出现问题:bash: ./test: bin/sh: bad interpreter: No such file or directory
问题: 在Linux系统中使用“vi test.sh”命令创建.sh文件,保存文件(:wq)并赋予权限(chmod +x test.sh)后,执行(./test.sh),出现问题:“bash: ./t ...
- 状态压缩+枚举 POJ 3279 Fliptile
题目传送门 /* 题意:问最少翻转几次使得棋子都变白,输出翻转的位置 状态压缩+枚举:和之前UVA_11464差不多,枚举第一行,可以从上一行的状态知道当前是否必须翻转 */ #include < ...
- c++类的内存布局
问题: 考察了reinterpret_cast和static_cast的区别.顺道发现了一个可以查看c++内存布局的工具(在VS中). 结果: 前两个输出的地址形同,后一个不同. class A{in ...