Codeforces_837
A.扫一遍。
#include<bits/stdc++.h>
using namespace std; int n;
string s; int main()
{
cin >> n;
getchar();
getline(cin,s);
int ans = ,maxx = ;
for(int i = ;i < n;i++)
{
if(s[i] == ' ') maxx = ;
else
{
if(s[i] >= 'A' && s[i] <= 'Z') maxx++;
ans = max(ans,maxx);
}
}
cout << ans << endl;
return ;
}
B.暴力判断两种情况。
#include<bits/stdc++.h>
using namespace std; int n,m;
string s[],ss[]; int main()
{
cin >> n >> m;
for(int i = ;i <= n;i++)
{
cin >> s[i];
s[i] = ' '+s[i];
}
int flag = ;
if(n% == )
{
int t1 = n/+,t2 = n/*+;
char a = s[][],b = s[t1][],c = s[t2][];
if(a != b && b != c && a != c)
{
int ok = ;
for(int i = ;i < t1;i++)
{
for(int j = ;j <= m;j++)
{
if(s[i][j] != a) ok = ;
}
}
for(int i = t1;i < t2;i++)
{
for(int j = ;j <= m;j++)
{
if(s[i][j] != b) ok = ;
}
}
for(int i = t2;i <= n;i++)
{
for(int j = ;j <= m;j++)
{
if(s[i][j] != c) ok = ;
}
}
if(ok) flag = ;
}
}
if(m% == )
{
int t1 = m/+,t2 = m/*+;
char a = s[][],b = s[][t1],c = s[][t2];
if(a != b && b != c && a != c)
{
int ok = ;
for(int i = ;i < t1;i++)
{
for(int j = ;j <= n;j++)
{
if(s[j][i] != a) ok = ;
}
}
for(int i = t1;i < t2;i++)
{
for(int j = ;j <= n;j++)
{
if(s[j][i] != b) ok = ;
}
}
for(int i = t2;i <= m;i++)
{
for(int j = ;j <= n;j++)
{
if(s[j][i] != c) ok = ;
}
}
if(ok) flag = ;
}
}
if(flag) cout << "YES" << endl;
else cout << "NO" << endl;
return ;
}
C.暴力取两辆,判断是否可行。
#include<bits/stdc++.h>
using namespace std; int n,a,b,x[],y[]; bool ok(int i,int j)
{
if(x[i]+y[j] <= a && max(y[i],x[j]) <= b) return ;
if(x[i]+y[j] <= b && max(y[i],x[j]) <= a) return ;
if(x[i]+x[j] <= a && max(y[i],y[j]) <= b) return ;
if(x[i]+x[j] <= b && max(y[i],y[j]) <= a) return ;
if(y[i]+y[j] <= b && max(x[i],x[j]) <= a) return ;
if(y[i]+y[j] <= a && max(x[i],x[j]) <= b) return ;
if(y[i]+x[j] <= b && max(x[i],y[j]) <= a) return ;
if(y[i]+x[j] <= a && max(x[i],y[j]) <= b) return ;
return ;
} int main()
{
ios::sync_with_stdio();
cin >> n >> a >> b;
for(int i = ;i <= n;i++) cin >> x[i] >> y[i];
int ans = ;
for(int i = ;i <= n;i++)
{
for(int j = i+;j <= n;j++)
{
if(ok(i,j)) ans = max(ans,x[i]*y[i]+x[j]*y[j]);
}
}
cout << ans << endl;
return ;
}
D.dp。
#include<bits/stdc++.h>
using namespace std; int n,k,cnt1[] = {},cnt2[] = {},dp[][];
long long a[]; int main()
{
ios::sync_with_stdio();
cin >> n >> k;
for(int i = ;i <= n;i++) cin >> a[i];
for(int i = ;i <= n;i++)
{
while(a[i]% == )
{
a[i] /= ;
cnt2[i]++;
}
while(a[i]% == )
{
a[i] /= ;
cnt1[i]++;
}
}
memset(dp,-,sizeof(dp));
dp[][] = ;
for(int i = ;i <= n;i++)
{
for(int j = k;j >= ;j--)
{
for(int t = ;t >= cnt1[i];t--)
{
if(dp[j-][t-cnt1[i]] != -) dp[j][t] = max(dp[j][t],dp[j-][t-cnt1[i]]+cnt2[i]);
}
}
}
int ans = ;
for(int i = ;i <= ;i++) ans = max(ans,min(i,dp[k][i]));
cout << ans << endl;
return ;
}
E.有很多次操作,只会把b减一,我们对于每一次gcd != 1之前,对a的每个因子取模统计 gcd == 1的次数,统一减。另外,已经被b约去的因子,可以在之后的步骤不考虑。
#include<bits/stdc++.h>
using namespace std; long long a,b; int main()
{
ios::sync_with_stdio();
cin >> a >> b;
long long t = __gcd(a,b);
a /= t;
b /= t;
vector<long long> v;
for(long long i = ;i*i <= a;i++)
{
while(a%i == )
{
a /= i;
v.push_back(i);
}
}
if(a > ) v.push_back(a);
long long ans = ;
while(b)
{
long long t = b;
for(auto it = v.begin();it != v.end();it++) t = min(t,b%(*it));
ans += t;
b -= t;
vector<long long> vv;
for(auto it = v.begin();it != v.end();it++)
{
long long t = *it;
if(b%t == ) b /= t;
else vv.push_back(t);
}
v = vv;
}
cout << ans << endl;
return ;
}
Codeforces_837的更多相关文章
随机推荐
- 【转】Twitter算法面试题详解(Java实现)
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://androidguy.blog.51cto.com/974126/1319659 ...
- 20.java-JDBC连接mysql数据库详解
1.JDBC介绍 jdbc(java database connectivity)为java开发者使用数据库提供了统一的编程接口,它由一组java类和接口组成. JDBC需要用到的类和接口有: Dri ...
- 小白学Java:迭代器原来是这么回事
目录 小白学Java:迭代器原来是这么回事 迭代器概述 迭代器设计模式 Iterator定义的方法 迭代器:统一方式 Iterator的总结 小白学Java:迭代器原来是这么回事 前文传送门:Enum ...
- Jquery电子签名制作_jSignature
今天用Jquery的jSignature库制作一个电子签名 后台.net core上传到指定文件夹 下载jquery库 提取码:rd9g html @{ Layout = null; } <!D ...
- Kubernetes concepts 系列
kubernetes concepts overview Pod overview Replication Controller Pod Liftcycle Termination Of Pod Re ...
- github 删除库
1.查看库 2.选择想要删除的库,点击setting 3.删除库
- 代码审计之CVE-2017-6920 Drupal远程代码执行漏洞学习
1.背景介绍: CVE-2017-6920是Drupal Core的YAML解析器处理不当所导致的一个远程代码执行漏洞,影响8.x的Drupal Core. Drupal介绍:Drupal 是一个由 ...
- 实验三:在eNSP上进行Hybrid链路类型端口实验
1.配置图 2.配置命令 LSW1的命令配置如下: <Huawei>system-view 进入特权模式 [Huawei]vlan batch 2 3 99 创建vlan2.vlan3.v ...
- Markdown 标记 粘贴到 小书 匠 才知道 哦
# 一级标题## 这是二级标题### 三级标题##### 五级 高阶== 低阶-- [TOC] > 这是一级引用>>这是二级引用>>> 这是三级引用 ```java ...
- Dungeon Master (简单BFS)
Problem Description You are trapped in a 3D dungeon and need to find the quickest way out! The dunge ...