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+ ...
随机推荐
- 【PHP的异常处理【完整】】
PHP的异常处理机制大多数和java的很相似,但是没有finally,而且还可以自定义顶级异常处理器:捕捉到异常信息后,会跳出try-catch块,如果catch中没有跳转的动作,则会继续执行下一条语 ...
- OCJP(1Z0-851) 模拟题分析(九)over
Exam : 1Z0-851 Java Standard Edition 6 Programmer Certified Professional Exam 以下分析全都是我自己分析或者参考网上的,定有 ...
- 【译】DotNet 5.4或者说 .NET平台标准
原文:DotNet 5.4 or .NET Platform Standards 是的,你看到的确实是"DotNet 5.4".使用Visual Studio 2015 RC1 u ...
- PHP日期操作类代码-农历-阳历转换、闰年、计算天数等
<?php class Lunar { var $MIN_YEAR = 1891; var $MAX_YEAR = 2100; var $lunarInfo = array( array(0,2 ...
- PHPCMS-V9 获取一级栏目、二级栏目、三级栏目
<!-- 获取一级栏目 -->{pc:content action=" siteid="$siteid" order="listorder ASC& ...
- WPF程序最小化到任务通知栏
我们通常使用的桌面软件,都可以最小化到任务通知栏,并且可以从任务通知栏再打开当前软件,或者通过软件的快捷方式从任务通知栏呼出. 我们可以通过下面的方式把WPF程序最小化到任务栏.由于WPF并没有实现N ...
- hdu 4734 数位dp
给一个数A (十进制表示形式为AnAn-1An-2 ... A2A1,定义函数 F(x) = An * 2n-1 + An-1 * 2n-2 + ... + A2 * 2 + A1 * 1,给一个B, ...
- Java8中的default方法
default方法 Java 8中引入了一个新的概念,叫做default方法,也可以称为Defender方法,或者虚拟扩展方法(Virtual extension methods). Default方 ...
- GitHub上史上最全的Android开源项目分类汇总 (转)
GitHub上史上最全的Android开源项目分类汇总 标签: github android 开源 | 发表时间:2014-11-23 23:00 | 作者:u013149325 分享到: 出处:ht ...
- 智能车学习(十六)——CCD学习
一.使用硬件 1.兰宙CCD四代 优点:可以调节运放来改变放大倍数 缺点:使用软排线(容易坏),CCD容易起灰,需要多次调节 2.野火K60底层 二.CCD硬件电路 ( ...