The 2014 ACM-ICPC Asia Mudanjiang Regional Contest 【部分题解】
2014牡丹江亚洲区域赛邀请赛
B题:图论题目
K题:想法题
分析:两种变化。加入和交换。首先:星号是n的话最少须要的数字是n+1,那么能够首先推断数字够不够,不够的话如今最前面添数字,假设满足的话直接模拟假设数字不够的话把当前的星号和最后一个数字交换就可以。
css函数能够不用。
AC代码:
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std; int ccs(string s)
{
int ans=0,tmp = 0;
for(int i=0;i<s.size();i++)
{
if(s[i]=='*')
{
if(tmp<2)
{
ans+=(2-tmp);
tmp = 1;
//printf("YES%d\n",i);
}
else
{
tmp--;
//printf("NO\n");
}
}
else
tmp++;
}
return ans;
} int check(string s,int x)
{
for(int i = s.size()-1;i>x;i--)
{
if(s[i]!='*')
return i;
}
return 0;
}
int solve(string s)
{
int len = s.size(),ans=0,tmp = 0;
for(int i=0;i<len;i++)
{
if(s[i]=='*')
tmp++;
}
int pps = 0;
if((tmp+tmp+1)>len)
{
pps = tmp+tmp+1 - len;
ans+=pps;
}
//printf("%d %d %d\n",tmp,ans,pps);
for(int i=0;i<s.size();i++)
{
if(s[i]=='*')
{
if(pps>=2){
pps--;
}
else
{
ans++;
int f = check(s,i);
swap(s[i],s[f]);
i--;
//cout<<s<<endl;
}
}
else
pps++;
}
return ans;
}
int main()
{
//freopen("Input.txt","r",stdin);
int T;
scanf("%d",&T);
while(T--)
{
string s;
cin>>s;
//printf("CCS:%d\n",ccs(s));
int ans = min(solve(s),ccs(s));
printf("%d\n",ans);
}
return 0;
}
I题:直接套用给出的第二个公式。
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <vector>
#include <cmath>
using namespace std;
int n;
double a[200];
double solve(int x)
{
double ans = 0;
for(int i=1;i<=n;i++)
{
double tmp = 0;
if(a[i]==0)
continue;
if(x==2)
tmp = a[i]*log2(a[i]);
else if(x==5)
tmp = a[i]*log(a[i]);
else if(x==10)
tmp = a[i]*log10(a[i]);
//printf("TMP%lf, %lf\n",tmp, log2(a[i]));
ans+=tmp;
}
return ans;
}
int main()
{
//freopen("Input.txt","r",stdin);
int T;
scanf("%d",&T);
while(T--)
{
int x;
string s;
cin>>n>>s;
for(int i=1;i<=n;i++){
scanf("%d",&x);
a[i]=(double)x/100;
}
double ans=0;
if(s=="bit")
ans = solve(2);
else if(s=="nat")
ans = solve(5);
else
ans = solve(10);
printf("%.12lf\n",-ans);
}
return 0;
}
A题:水题。
求出第一个班的平均值 x 和第二个平均值 y ,假设 x 为整数则x -- 。y 变整数之后+1.就是ans
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std; int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int n,m;
scanf("%d%d",&n,&m);
int sum1=0,sum2=0;
for(int i=1;i<n;i++)
{
int x;scanf("%d",&x);
sum1+=x;
}
for(int i=0;i<m;i++)
{
int x;
scanf("%d",&x);
sum2+=x;
}
double p1 = (double)sum1 / (n-1);
double p2 = (double)sum2 / m;
//printf("%.5lf %.5lf\n",p1,p2);
int mi = p1,ma = (int)p2+1;
if(mi == p1)
mi--;
printf("%d %d\n",min(mi,ma),max(mi,ma)); }
return 0;
}
The 2014 ACM-ICPC Asia Mudanjiang Regional Contest 【部分题解】的更多相关文章
- hdu 5016 点分治(2014 ACM/ICPC Asia Regional Xi'an Online)
Mart Master II Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)T ...
- The 2014 ACM-ICPC Asia Mudanjiang Regional Contest
The 2014 ACM-ICPC Asia Mudanjiang Regional Contest A.Average Score B.Building Fire Stations C.Card G ...
- HDU 5000 2014 ACM/ICPC Asia Regional Anshan Online DP
Clone Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/65536K (Java/Other) Total Submiss ...
- The 2014 ACM-ICPC Asia Mudanjiang Regional Contest(2014牡丹江区域赛)
The 2014 ACM-ICPC Asia Mudanjiang Regional Contest 题目链接 没去现场.做的网络同步赛.感觉还能够,搞了6题 A:这是签到题,对于A堆除掉.假设没剩余 ...
- ACM ICPC Central Europe Regional Contest 2013 Jagiellonian University Kraków
ACM ICPC Central Europe Regional Contest 2013 Jagiellonian University Kraków Problem A: Rubik’s Rect ...
- 2019-2020 ICPC, Asia Jakarta Regional Contest (Online Mirror, ICPC Rules, Teams Preferred)
2019-2020 ICPC, Asia Jakarta Regional Contest (Online Mirror, ICPC Rules, Teams Preferred) easy: ACE ...
- 2018 ICPC Pacific Northwest Regional Contest I-Inversions 题解
题目链接: 2018 ICPC Pacific Northwest Regional Contest - I-Inversions 题意 给出一个长度为\(n\)的序列,其中的数字介于0-k之间,为0 ...
- 2014 ACM/ICPC Asia Regional Shanghai Online
Tree http://acm.hdu.edu.cn/showproblem.php?pid=5044 树链剖分,区间更新的时候要用on的左++右--的标记方法,要手动扩栈,用c++交,综合以上的条件 ...
- HDU 5029 Relief grain(离线+线段树+启发式合并)(2014 ACM/ICPC Asia Regional Guangzhou Online)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5029 Problem Description The soil is cracking up beca ...
- 2014 ACM/ICPC Asia Regional Guangzhou Online
Wang Xifeng's Little Plot http://acm.hdu.edu.cn/showproblem.php?pid=5024 预处理出每个点八个方向能走的最远距离,然后枚举起点,枚 ...
随机推荐
- Android项目源码分享
http://blog.csdn.net/gao_chun/article/details/47263063 Android项目源码分享 给大家分享几个Android开发项目源码,大部分功能相信可以在 ...
- python关于入参中,传入的是指针还是引用
偶然看到别人的代码,发现有的会传入参数之后,做一次copy,试验一下,关于入参中,传入的是指针还是引用先说自己的结论:1.如果传入的是简单的类型,那么传入应该是引用的数值,2.假如传入的是df这种类型 ...
- NETCORE使用DB First
1)引用 (1)Install-Package Microsoft.EntityFrameworkCore (2)Install-Package Microsoft.EntityFrameworkCo ...
- ping ip
def ip_and_time(): """ get ip to ping from ip.txt then return two list , each ip that ...
- jvm 内存溢出 在myeclipse中加大tomcat的jvm内存 java.lang.OutOfMemoryError: PermGen space
使用myeclipse启动两个SSH2的部署在tomcat6下的项目 报出java.lang.OutOfMemoryError: PermGen space 解决办法: 在myeclipse中加大jv ...
- centos 7 安装 docker(详细)
更新源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup wget -O/etc/yum.re ...
- poj3710 Christmas Game
题目描述 题解: 树上删边. 对于奇数长度的环,可以看做一条边. 对于偶数长度的环,可以看做什么都没有. 没有特别好的解释…… 代码: #include<cstdio> #include& ...
- Python requests.post方法中data与json参数区别
在通过requests.post()进行POST请求时,传入报文的参数有两个,一个是data,一个是json. data与json既可以是str类型,也可以是dict类型. 区别: 1.不管json是 ...
- jquery select 常用操作总结
由于在项目各种所需,经常碰到select不种操作的要求,今天特意总结了一下,分享: jQuery获取Select选择的Text和Value: 语法解释: 1. $("#select_id&q ...
- LoadRunner中,参数化时Unique取值方式的理解
LoadRunner中,参数化时Unique取值方式的理解 2012年10月15日 18:10:36 瑞秋 阅读数:10028 在LoadRunner中进行参数化时,Parameter的取值设置有 ...