Codeforces Beta Round #5
A题,无聊的题目。
#include <cstdio>
#include <string>
#include <cstring>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include <queue>
#include <vector>
#include <map>
#include <set>
#include <algorithm>
#include <iostream>
using namespace std;
set<string>st;
int main()
{
char str[];
int i,ans,temp,len;
ans = ;
temp = ;
while(gets(str) != )
{
len = strlen(str);
if(str[] == '+')
{
st.insert(str);
temp ++;
}
else if(str[] == '-')
{
st.erase(str);
temp --;
}
else
{
for(i = ;i < len;i ++)
{
if(str[i] == ':') break;
}
ans += (len - i - )*temp;
}
}
printf("%d\n",ans);
return ;
}
B题,无聊题目,1Y.
#include <cstdio>
#include <string>
#include <cstring>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include <queue>
#include <vector>
#include <map>
#include <set>
#include <algorithm>
#include <iostream>
using namespace std;
char str[][];
int main()
{
int n,i,j,maxz,len,mod,st,z;
//freopen("a.txt","r",stdin);
maxz = ;
i = ;
while(gets(str[i]) != )
{
len = strlen(str[i++]);
maxz = max(len,maxz);
}
n = i;
mod = maxz%;
for(i = ;i <= maxz+;i ++)
printf("*");
printf("\n");
z = ;
for(i = ;i < n;i ++)
{
printf("*");
len = strlen(str[i]);
if(len% == mod)
{
st = (maxz - len)/;
}
else
{
st = (maxz - len)/ + z;
z = (z+)%;
}
for(j = ;j < st;j ++)
{
printf(" ");
}
for(;j < len+st;j ++)
printf("%c",str[i][j-st]);
for(;j < maxz;j ++)
printf(" ");
printf("*\n");
}
for(i = ;i <= maxz+;i ++)
printf("*");
printf("\n");
return ;
}
C题,乱搞题,我用栈找到左右括号对应的位置,然后再从头扫一边,利用这个标记,找到最长的。怀疑有可能超时,但还是过了。
#include <cstdio>
#include <string>
#include <cstring>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include <queue>
#include <vector>
#include <map>
#include <set>
#include <algorithm>
#include <iostream>
using namespace std;
char str[];
int s[];
int flag[];
int main()
{
int len,i,top,maxz,ans,temp,dis;
scanf("%s",str);
len = strlen(str);
top = ;
maxz = ;
ans = ;
for(i = ;i < len;i ++)
{
if(str[i] == ')')
{
if(top == ) continue;
top --;
flag[s[top]] = i;
}
else
{
s[top++] = i;
}
}
for(i = ;i < len;i ++)
{
temp = i;
dis = ;
if(maxz > len - i + ) break;
while(str[temp] == '(')
{
if(!flag[temp]) break;
dis += flag[temp] - temp + ;
temp = flag[temp] + ;
if(temp == len) break;
}
if(dis == ) continue;
if(maxz < dis)
{
maxz = dis;
ans = ;
}
else if(maxz == dis)
ans ++;
}
printf("%d %d\n",maxz,ans);
return ;
}
D题,物理题,被题意绕了一下,注意只有d点限速,不是某一段路限速。然后就是各种if else 各种算。。
#include <cstdio>
#include <string>
#include <cstring>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include <queue>
#include <vector>
#include <map>
#include <set>
#include <algorithm>
#include <iostream>
using namespace std;
int main()
{
double a,v,l,d,w;
double t1,t2,s1,s2,t3,s3;
scanf("%lf%lf%lf%lf%lf",&a,&v,&l,&d,&w);
if(w >= v)
{
t1 = v*1.0/a;
s1 = 0.5*a*t1*t1;
if(s1 > l)
{
printf("%.8lf\n",sqrt(*l*1.0/a));
}
else
{
printf("%.8lf\n",t1 + (l-s1)/v);
}
}
else
{
t1 = w*1.0/a;
s1 = 0.5*a*t1*t1;
if(s1 > d)
{
t1 = v*1.0/a;
s1 = 0.5*a*t1*t1;
if(s1 > l)
{
printf("%.8lf\n",sqrt(*l*1.0/a));
}
else
{
printf("%.8lf\n",t1 + (l-s1)/v);
}
}
else
{
t1 = v/a;
s1 = 0.5*a*t1*t1;
t2 = (v-w)/a;
s2 = (v+w)/*t2;
double v0;
if(s1+s2 > d)
{
v0 = sqrt(a*(d +(w*w//a)));
t2 = v0/a + (v0-w)/a;
}
else
{
t2 = t1 + t2 + (d-s1-s2)/v;
}
t3 = (v-w)/a;
s3 = w*t3 + 0.5*a*t3*t3;
if(s3 > l-d)
{
t3 = (-w+sqrt(w*w+*a*(l-d)))/a;
printf("%.8lf\n",t3+t2);
}
else
{
printf("%.8lf\n",t3+t2+(l-d-s3)/v);
}
}
}
return ;
}
E题,留坑吧。托了好久,想了错的思路。看了题解,两种做法,都是把最大的找出来,转化成链,然后用栈做,怎么做的,我也没看明白。
还有一种就是标记左边第一个大的l,右边第一个大的r,然后l-r之间有多少个相同的。就能求一个位置的对数了。
Codeforces Beta Round #5的更多相关文章
- Codeforces Beta Round #80 (Div. 2 Only)【ABCD】
Codeforces Beta Round #80 (Div. 2 Only) A Blackjack1 题意 一共52张扑克,A代表1或者11,2-10表示自己的数字,其他都表示10 现在你已经有一 ...
- Codeforces Beta Round #62 题解【ABCD】
Codeforces Beta Round #62 A Irrational problem 题意 f(x) = x mod p1 mod p2 mod p3 mod p4 问你[a,b]中有多少个数 ...
- Codeforces Beta Round #83 (Div. 1 Only)题解【ABCD】
Codeforces Beta Round #83 (Div. 1 Only) A. Dorm Water Supply 题意 给你一个n点m边的图,保证每个点的入度和出度最多为1 如果这个点入度为0 ...
- Codeforces Beta Round #13 C. Sequence (DP)
题目大意 给一个数列,长度不超过 5000,每次可以将其中的一个数加 1 或者减 1,问,最少需要多少次操作,才能使得这个数列单调不降 数列中每个数为 -109-109 中的一个数 做法分析 先这样考 ...
- Codeforces Beta Round #79 (Div. 2 Only)
Codeforces Beta Round #79 (Div. 2 Only) http://codeforces.com/contest/102 A #include<bits/stdc++. ...
- Codeforces Beta Round #77 (Div. 2 Only)
Codeforces Beta Round #77 (Div. 2 Only) http://codeforces.com/contest/96 A #include<bits/stdc++.h ...
- Codeforces Beta Round #76 (Div. 2 Only)
Codeforces Beta Round #76 (Div. 2 Only) http://codeforces.com/contest/94 A #include<bits/stdc++.h ...
- Codeforces Beta Round #75 (Div. 2 Only)
Codeforces Beta Round #75 (Div. 2 Only) http://codeforces.com/contest/92 A #include<iostream> ...
- Codeforces Beta Round #74 (Div. 2 Only)
Codeforces Beta Round #74 (Div. 2 Only) http://codeforces.com/contest/90 A #include<iostream> ...
- Codeforces Beta Round #73 (Div. 2 Only)
Codeforces Beta Round #73 (Div. 2 Only) http://codeforces.com/contest/88 A 模拟 #include<bits/stdc+ ...
随机推荐
- 重温WCF之WCF中可靠性会话(十四)
1.WCF中可靠性会话在绑定层保证消息只会被传输一次,并且保证消息之间的顺序.当使用TCP(Transmission Control Protocol,传输控制协议)通信时,协议本身保证了可靠性.然而 ...
- C# 将文件转化成byte[]数组
/// <summary> /// 将文件转换成byte[] 数组 /// </summary> /// <param name="fileUrl"& ...
- git 创建本地分支,然后推送到服务器上
git checkout -b crm-2.repair-callback.phoneSet git checkout -b crm-2.repair-callback.RepairHis git p ...
- oracle删除用户下所有的表
需要创建这些删除语句,通过oracle的数据字典找到该用户下的所有表.视图等对象,拼接成语句.如下select 'drop table '||table_name|| ' cascade constr ...
- phpcms调用一级栏目和二级栏目
{loop subcat(,,,$siteid) $r} {php $num++} <strong><a href=} <br /> {elseif $n!=$c} | ...
- Sizeof与Strlen的区别与联系
转自:http://www.cnblogs.com/carekee/articles/1630789.html 一.sizeof sizeof(...)是运算符,在头文件中typedef为uns ...
- C# 对象转换为byte[] ,byte[]还原对象
/// <summary> /// 将一个object对象序列化,返回一个byte[] /// </summary> /// <param name ...
- loj 1210 (求最少的加边数使得图变成强连通)
题目链接:http://lightoj.com/volume_showproblem.php?problem=1210 思路:首先是缩点染色,然后重建并且统计新图中的每个点的入度和出度,于是答案就是m ...
- 去除字符串中的html标记及标记中的内容
去除字符串中的html标记及标记中的内容 --1.创建函数 create function [dbo].[clearhtml] (@maco varchar(8000)) returns varcha ...
- 使用Hue上传hive数据
大概逻辑是先上传hdfs数据,然后创建hive外部表,关联到hdfs上传数据的位置. 截图比较概要,但是用起来很简单 1.创建路径和上传文件 2.创建外部表