A. Phone Numbers

题意:给一些数字,每个电话号码以8开头,11位,求最多组成多少个号码,重复累加。

#include <bits/stdc++.h>

using namespace std;

const int maxn = ;
char str[maxn]; int main() {
int n;
scanf("%d%s",&n,str);
int cnt = ;
for(int i = ; i < strlen(str); i++) {
if(str[i]=='') cnt++;
} while(cnt) {
if((n-cnt)>=cnt*) break;
cnt--;
} cout<<cnt<<endl; return ;
}

B. Maximum Sum of Digits

题意:给一个数n,找出 a,b,使得 a + b = n,S(a) + S(b) 最大,其中S(x) 是个位数字之和。

分析:从案例中可知,先尽可能出9

#include <bits/stdc++.h>

using namespace std;

char str[];

int calc(long long x) {
int res = ;
while(x) {
res += x%;
x/=;
}
return res;
} int main() {
scanf("%s",str);
long long x= ;
for(int i = ; i < (int)strlen(str); i++)
x = x* + str[i] - ''; long long a;
if(str[]>'') {
a = (str[]-'')-;
for(int i = ; i < (int)strlen(str); i++) {
a = a * + ;
}
}
else {
a = ;
for(int i = ; i < (int)strlen(str); i++) {
a = a * + ;
}
} long long b = x - a;
printf("%d\n",calc(a)+calc(b)); return ;
}

C. Maximum Subrectangle

分析:最大子矩阵,矩阵是由两个向量计算而成,子矩阵和=两个向量部分乘积。计算a,b向量,连续 i 个数字最小和,这样组成的子矩阵和最小,然后枚举子矩阵长宽。

#include <bits/stdc++.h>

using namespace std;

const int maxn = +;
int a[maxn],b[maxn],min1[maxn],min2[maxn]; int main() { int n,m;
scanf("%d%d",&n,&m); for(int i = ; i <= n; i++) scanf("%d",&a[i]);
for(int i = ; i <= m; i++) scanf("%d",&b[i]);
int x; scanf("%d",&x); for(int i = ; i <= n; i++) {
int sum = ;
for(int j = ; j <= i; j++) sum+=a[j];
min1[i] = sum;
for(int j = i+; j <= n; j++) {
sum-=a[j-i];
sum+=a[j];
min1[i] = min(min1[i],sum);
}
} for(int i = ; i <= m; i++) {
int sum = ;
for(int j = ; j <= i; j++) sum+=b[j];
min2[i] = sum;
for(int j = i+; j <= m; j++) {
sum-=b[j-i];
sum+=b[j];
min2[i] = min(min2[i],sum);
}
} int ans = ;
for(int i = ; i<= n; i++) {
for(int j = ; j <= m; j++) {
if((long long)min1[i]*min2[j]<=x)
ans = max(ans,i*j);
}
} cout<<ans<<endl; return ;
}

Codeforces Round #513的更多相关文章

  1. Codeforces Round #513 游记

    Codeforces Round #513 游记 A - Phone Numbers 题目大意: 电话号码是8开头的\(1\)位数字.告诉你\(n(n\le100)\)个数字,每个数字至多使用一次.问 ...

  2. Codeforces Round #513 总结

    首次正式的$Codeforces$比赛啊,虽然滚粗了,然而终于有$rating$了…… #A  Phone Numbers 签到题,然而我第一次写挂了(因为把11看成8了……) 只需要判断一下有多少个 ...

  3. Codeforces Round #513 by Barcelona Bootcamp C. Maximum Subrectangle(双指针+思维)

    https://codeforces.com/contest/1060/problem/C 题意 给两个数组,a数组有n个元素,b数组有m个元素,两个数组元素互相相乘形成n*m的矩阵,找一个子矩阵,元 ...

  4. Codeforces Round #513解题报告(A~E)By cellur925

    我是比赛地址 A:Phone Numbers $Description$:给你一串数字,问你能组成多少开头为8的11位电话号码. $Sol$:统计8的数量,与$n$%11作比较. #include&l ...

  5. Codeforces Round #513 by Barcelona Bootcamp (rated, Div. 1 + Div. 2) C D

    C - Maximum Subrectangle 因为是两个数组相乘的到的 矩阵所以  a(i ->j)*b(x->y) 的面积 就是   a(i ->j) 的和乘与b(x-> ...

  6. Codeforces Round #513 by Barcelona Bootcamp

    A. Phone Numbers 签. #include <bits/stdc++.h> using namespace std; #define N 110 char s[N]; ], ...

  7. [Codeforces Round #513 by Barcelona Bootcamp (rated, Div. 1 + Div. 2) ](A~E)

    A: 题目大意:给你一个数字串,每个数字只可以用一次,求最多可以组成多少个电话号码(可以相同),电话号码第一个数字为$8$,且长度为$11$ 题解:限制为$8$的个数和总长度,直接求 卡点:无 C++ ...

  8. Codeforces Round 513 (Div.1+Div.2)

    比赛传送门 10月4号的比赛,因为各种原因(主要是懒),今天才写总结-- Div1+Div2,只做出两个题+迟到\(20min\),日常掉\(rating\)-- \(\rm{A.Phone\;Num ...

  9. Codeforces Round #513 (rated, Div. 1 + Div. 2)

    前记 眼看他起高楼:眼看他宴宾客:眼看他楼坍了. 比赛历程 开考前一分钟还在慌里慌张地订正上午考试题目. “诶这个数位dp哪里见了鬼了???”瞥了眼时间,无奈而迅速地关去所有其他窗口,临时打了一个缺省 ...

随机推荐

  1. Knime读取Jason数据

    Knime ETL 工具 Jason数据解析到DB 1. 下面例子是一段Jason代码 [{,,},{,,},{,,}] 2. 用文本文件存储上面代码. test_jason.txt 3. 用File ...

  2. mysql 显示树结构表的节点全路径

    SELECT TYPEID AS TYPEID, pTYPEID AS 父TYPEID, levels AS 父到子之间级数, concat(paths, ',', TYPEID) AS 父到子路径, ...

  3. Permanent data region free space insufficient to allocate 64792 bytes of memory

    TT0802: Database permanent space exhaustedTT6220: Permanent data region free space insufficient to a ...

  4. Js简易代码生成工具

    代码 javascript:(function(){ document.body.innerHTML = '<textarea id="txtTemplate" style= ...

  5. pulic——function(下载的公共的)

    1. /* * 用途: 对Date的扩展,将 Date 转化为指定格式的String */ // 月(M).日(d).小时(h).分(m).秒(s).季度(q) 可以用 1-2 个占位符, // 年( ...

  6. 线程同步(windows平台):信号量

    一:介绍 信号量也是系统核心对象,它允许多个线程同一时刻访问同一资源,但需限制同一时刻访问资源的最大线程数目. 信号量遵循规则:1.当前资源计数大于0,信号量有效.2.当前资源计数等于0,信号量无效. ...

  7. 【JAVA】java方法覆写规则

    A.重写规则之一: 重写方法不能比被重写方法限制有更严格的访问级别. (但是可以更广泛,比如父类方法是包访问权限,子类的重写方法是public访问权限.) 比如:Object类有个toString() ...

  8. SQLAlchemy基本操作和常用技巧

    点击打开链接 Python的ORM框架SQLAlchemy基本操作和常用技巧,包含大量实例,非常好的一个学习SQLAlchemy的教程,需要的朋友可以参考下 python编程语言下的一款开源软件.提供 ...

  9. phpstorm主题设置

    毫无疑问,phpstorm很好用,但是安装完成后自带的主题,丑的一匹,所以总结下如何更换主题............. 1.主题下载位置 http://www.phpstorm-themes.com ...

  10. 弱类型dynamic与var

    dynamic与var都可代替任何类型 var关键字是C# 3.0开始新增的特性,称为推断类型. 1.必须在定义时初始化 2.一但初始化完成就不能再给变量赋与初始化值类型不同的值 3.var要求是局部 ...