Codeforces Round #513
题意:给一些数字,每个电话号码以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 ;
}
题意:给一个数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 ;
}
分析:最大子矩阵,矩阵是由两个向量计算而成,子矩阵和=两个向量部分乘积。计算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的更多相关文章
- Codeforces Round #513 游记
Codeforces Round #513 游记 A - Phone Numbers 题目大意: 电话号码是8开头的\(1\)位数字.告诉你\(n(n\le100)\)个数字,每个数字至多使用一次.问 ...
- Codeforces Round #513 总结
首次正式的$Codeforces$比赛啊,虽然滚粗了,然而终于有$rating$了…… #A Phone Numbers 签到题,然而我第一次写挂了(因为把11看成8了……) 只需要判断一下有多少个 ...
- Codeforces Round #513 by Barcelona Bootcamp C. Maximum Subrectangle(双指针+思维)
https://codeforces.com/contest/1060/problem/C 题意 给两个数组,a数组有n个元素,b数组有m个元素,两个数组元素互相相乘形成n*m的矩阵,找一个子矩阵,元 ...
- Codeforces Round #513解题报告(A~E)By cellur925
我是比赛地址 A:Phone Numbers $Description$:给你一串数字,问你能组成多少开头为8的11位电话号码. $Sol$:统计8的数量,与$n$%11作比较. #include&l ...
- 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-> ...
- Codeforces Round #513 by Barcelona Bootcamp
A. Phone Numbers 签. #include <bits/stdc++.h> using namespace std; #define N 110 char s[N]; ], ...
- [Codeforces Round #513 by Barcelona Bootcamp (rated, Div. 1 + Div. 2) ](A~E)
A: 题目大意:给你一个数字串,每个数字只可以用一次,求最多可以组成多少个电话号码(可以相同),电话号码第一个数字为$8$,且长度为$11$ 题解:限制为$8$的个数和总长度,直接求 卡点:无 C++ ...
- Codeforces Round 513 (Div.1+Div.2)
比赛传送门 10月4号的比赛,因为各种原因(主要是懒),今天才写总结-- Div1+Div2,只做出两个题+迟到\(20min\),日常掉\(rating\)-- \(\rm{A.Phone\;Num ...
- Codeforces Round #513 (rated, Div. 1 + Div. 2)
前记 眼看他起高楼:眼看他宴宾客:眼看他楼坍了. 比赛历程 开考前一分钟还在慌里慌张地订正上午考试题目. “诶这个数位dp哪里见了鬼了???”瞥了眼时间,无奈而迅速地关去所有其他窗口,临时打了一个缺省 ...
随机推荐
- C#生成二維碼(ThoughtWorks.QRCode)
本人使用的是ThoughtWorks.QRCode.dll,在網上可以下載,但要注意dll文件的完整性和準確性,本人之前下載的dll就是不正確導致調試時出現錯誤. 以下為cs文件代碼: using S ...
- 打ms15-034补丁出现“此更新 不适用于您的计算机”
1.MS15-034漏洞的补丁是KB3042553; 2.如果在一台Windows Server 2012 R2的服务器上直接安装补丁文件KB3042553,可能会出现“此更新 不适用于您的计算机”的 ...
- MYSQL分区表详解
分区表对用户来说是一个独立的逻辑表,但是底层是多个物理字表组成的.分区代码实际上是对一组底层表的句柄对象封装.对分区表的请求,都会通过句柄对象转化成储存引擎的接口调用.所以分区对于SQL层来说是一个完 ...
- jq api --css
.css() $("p").css("color","red"); $("p").css({ "color&q ...
- elastic 集群安装
Elastic Search 安装和配置 1.下载 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6. ...
- Beam概念学习系列之PTransform数据处理
不多说,直接上干货! PTransform数据处理 PTransform对PCollection进行并行处理,每次处理1条,例如Filter过滤.Groupby分组.Combine统计.Join关联等 ...
- HDU 4460 Friend Chains
Problem Description For a group of people, there is an idea that everyone is equals to or less than ...
- 转:JAVA线程池ThreadPoolExecutor与阻塞队列BlockingQueue
从Java5开始,Java提供了自己的线程池.每次只执行指定数量的线程,java.util.concurrent.ThreadPoolExecutor 就是这样的线程池.以下是我的学习过程. 首先是构 ...
- Spring接收List型参数
第一种形式: 提交的数据形式:id=1,2,3 --> urlEncoding --> id=1%2C2%2C3 <form method="post" act ...
- ORACLE 查询被锁定表及解锁释放session的方法
后台数据库操作某个表时处于假死状态,可能该表被某个用户锁定,导致其他用户无法继续操作, 如下是解决方案和实例. 查被锁的表,以及用户 SELECT object_name, machine, s.si ...