CF-1111

题目链接

A. Superhero Transformation

  • tags : strings
#include <bits/stdc++.h>
using namespace std;
char s[5] = {'a','e','i','o','u'};
bool check(char t){
for(int i=0;i<5;i++){
if(t == s[i])
return true;
}
return false;
}
int main(){
string a,b;
cin>>a>>b;
int la = a.length();
int lb = b.length();
if(la!=lb){
puts("No");
return 0;
}
else{
for(int i=0;i<la;i++){
bool f1 = check(a[i]);
bool f2 = check(b[i]);
if((f1&&f2)||(!f1&&!f2)){
continue;
}
else{
puts("No");
return 0;
}
}
}
puts("Yes");
return 0;
}

B. Average Superhero Gang Power

  • tags:brute force
  • (一开局就想了个假算法,wa了n发,楞是没想到O(n)暴力
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,k,m;
ll a[1000100];
ll sum[1000100];
//num为删除的个数
double calc(int num){
ll s;
if(num>0)
s = sum[n-1]-sum[num-1];
else s = sum[n-1];
s += min((m-num),(n-num)*k);
return (double)s/(n-num);
}
int main(){
scanf("%lld%lld%lld",&n,&k,&m);
for(int i=0;i<n;i++){
scanf("%lld",&a[i]);
}
sort(a,a+n);
sum[0] = a[0];
for(int i=1;i<n;i++)sum[i] = sum[i-1]+a[i];
double ans = 0;
//枚举剩余个数
for(int i=max(1ll,n-m);i<=n;i++){
ans = max(ans,calc(n-i));
}
printf("%.18f\n",ans);
return 0;
}

C. Creative Snap

  • 分治算法
  • 考虑区间[l,r],二分求出区间内复仇者数量num
    • 若num==0,则返回A
    • 否则
      • 若l==r,则返回B*num
      • 否则,返回:min(B*num*(r-l+1),calc(l,mid)+calc(mid+1,r))
  • 复杂度为:O(n*k*log(k))
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,k,A,B;
ll a[100010];
ll calc(int l,int r){
ll num = upper_bound(a,a+k,r) - lower_bound(a,a+k,l);
if(num==0){
return A;
}
else {
if(r==l)return num*B;
ll mid = (l+r)/2;
return min(B*(r-l+1ll)*num,calc(l,mid)+calc(mid+1,r));
}
}
int main(){
scanf("%lld%lld%lld%lld",&n,&k,&A,&B);
for(int i=0;i<k;i++)
scanf("%lld",&a[i]);
sort(a,a+k);
ll ans = calc(1,1<<n);
cout<<ans<<endl;
return 0;
}

D. Destroy the Colony

  • 待补

E. Tree

  • 待补

CF-1111 (2019/2/7 补)的更多相关文章

  1. CF-1013 (2019/02/09 补)

    CF-1013 A. Piles With Stones 比较两个序列的和,因为只能拿走或者不拿,所以总数不能变大. B. And 答案只有 -1,0,1,2几种可能,所以对于每一种答案都暴力扫一次是 ...

  2. April Fools Day Contest 2019: editorial回顾补题

    A. Thanos Sort time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  3. 2019 hdu多校1

    A:一类线性dp,时间卡的有点紧 /* 定义 dp[t][i][j][k]代表填完前 t 个位置后,{0, 1, 2, 3} 这 4 个数字最后一次出现的位置, 排序后为 t, i, j, k(t & ...

  4. 不断更新的 ToDo-List

    有些事情要明着写出来才会去干. 这里是一个不断更新的 ToDo-List,大致按照重要度和列出时间排序,已经完成的会画上删除线. 主要着眼短期计划,其中的大部分事务应该在一周内解决,争取不做一只鸽子. ...

  5. Arthas 开源一周年,GitHub Star 16 K ,我们一直在坚持什么?

    缘起 最近看到一个很流行的标题,<开源XX年,star XXX,我是如何坚持的>.看到这样的标题,忽然发觉 Arthas 从 2018 年 9 月开源以来,刚好一年了,正好在这个秋高气爽的 ...

  6. Codeforces Round#344

    A题意思是,给出两个数列,求一个区间,使第一个数列的区间或和第二个数列的区间或的和最大,输出最大和 很显然,或运算会使得答案越运算越大.所以,直接全部或起来,相加就是答案. = =打cf的时候自动脑补 ...

  7. 原码、反码、补码的正(nao)确(can)打开方式

    我们知道日常生活中使用的数分为整数和实数,整数的小数点固定在数的最右边,可以省略不写,而实数的小数点则不固定.在计算机中只能识别和表示“0”和“1”,而无法识别小数点,因此要想使得计算机能够处理日常使 ...

  8. linux中tomcat startup.sh出现commond not found

    问题: 前些天,再Linux提交更新代码启动tomcat时报commond not found 过程: 查了下百度,http://code2care.org/2015/-bash:-startup.s ...

  9. Booth乘法

    先看一个例子,结合疑问看算法. 1.已知X=+0.0011 Y=-0.1011 求[XY]补 解:[x]补 =0.0011 , [-x]补 =1.1101,[y]补 =1.0101 部分积      ...

随机推荐

  1. IT兄弟连 JavaWeb教程 JSP中的注释

    由于JSP页面由HTML.JSP.Java脚本等组成,所以在其中可以使用多种注释格式 HTML中的注释 HTML语言的注释不会被显示在网页中,但是在浏览器中选择查看网页源代码时,还是能够看到注释的信息 ...

  2. java并发编程(一)

    java并发编程(一) 线程基础 在Java代码中,单独创建线程,都需要使用类java.lang.Thread,通常可以通过集成并扩展Thread的run()方法,也可以来创建一个Thread,将一个 ...

  3. 远程kafka通信实例,各种bug解决----虚拟机+本地电脑

    为了实现远程kafka通信,我可谓是呕心沥血.期间各种bug各种调,太煎熬了 (T.T) 介绍: 我用一台虚拟机作为远程消息的发送方,用本地电脑主机作为消息的接收方 虚拟机:安装java,kafka, ...

  4. Java 分析工具汇总

    http://blog.csdn.net/fenglibing/article/details/6411999 jps  jps -mlvV jmap jmap -heap <pid>   ...

  5. 关于 js中的arguments 对象

    arguments对象包含了函数运行时的所有参数,arguments[0]就是第一个参数,arguments[1]就是第二个参数,以此类推.这个对象只有在函数体内部,才可以使用. var f = fu ...

  6. BIO,NIO,AIO总结

    熟练掌握 BIO,NIO,AIO 的基本概念以及一些常见问题是你准备面试的过程中不可或缺的一部分,另外这些知识点也是你学习 Netty 的基础. BIO,NIO,AIO 总结 1. BIO (Bloc ...

  7. Spark Mllib里数据集如何取前M行(图文详解)

    不多说,直接上干货! 见具体, Hadoop+Spark大数据巨量分析与机器学习整合开发实战的第13章 使用决策树二元分类算法来预测分类StumbleUpon数据集 见具体 Hadoop+Spark大 ...

  8. ruby字符串处理

    1. str="abc123"puts str[0].chr     =>  a puts str[0]           =>a的ascii码 2.中文字符串的正则 ...

  9. ubuntu下lnmp添加虚拟目录没有权限

    lnmp.org下载的lnmp集成环境,通过lnmp vhost tsp创建了虚拟主机目录,将此目录导入到phpstorm中时提示错误,应该时权限的问题,想通过chmod -R 777 tsp来改变t ...

  10. Struts2标签<s:checkboxlist>回显问题

    Struts2 checkboxlist回显问题中,说明两种方式,第一种方式很普遍,第二种则是个人根据现有资源加上尝试得来的成果,第二种主要是为个人笔记(其中相关知识点不一一介绍). 一.普通方法: ...