#include<bits/stdc++.h>

 using namespace std;
#define inf 0x3f3f3f3f3f3f
#define int long long
int vis[];
signed main(){
int n,k;
cin>>n>>k;
string str;
cin>>str;
map<int,int> mp;
int sum=;
for(int i=;i<str.size();i++){
if(!mp[str[i]-'A']){
mp[str[i]-'A']=;
sum++;
}
vis[str[i]-'A']++;
}
if(sum==k){
int ans=inf;
for(int i=;i<k;i++){
ans=min(ans,vis[i]);
}
//cout<<ans<<'\n';
cout<<ans*k;
}else{
cout<<"";
}
return ;
}

思路:猜了一个想法,就过了。

 #include<bits/stdc++.h>

 using namespace std;
#define int long long signed main(){
int n;
cin>>n;
if(n==||n==){
cout<<"No";return ;
}
printf("Yes\n");
int m=n/;
if(n%){
int s1=,s2=;
printf("%lld ",+m);
for(int i=;i<=n;i+=){
printf("%lld ",i);
s1+=i;
}
printf("\n");
printf("%lld ",m);
for(int i=;i<=n;i+=){
printf("%lld ",i);
s2+=i;
}
printf("\n");
// cout<<__gcd(s1,s2)<<'\n';
}else{
int s1=,s2=;
printf("%lld ",m);
for(int i=;i<=n;i+=){
printf("%lld ",i);
s1+=i;
}
printf("\n");
printf("%lld ",m);
for(int i=;i<=n;i+=){
printf("%lld ",i);
s2+=i;
}
printf("\n");
// cout<<__gcd(s1,s2)<<'\n';
}
return ;
}
/* */

思路:贪心+模拟【判断应该加自己和移除对手的值哪一个大。优先队列维护最大值】

 #include<bits/stdc++.h>
using namespace std;
#define int long long
#define N 10050005
priority_queue <int,vector<int>,less<int> >q1;
priority_queue <int,vector<int>,less<int> >q2;
int a[N];
int b[N];
signed main(){
int n;cin>>n;
for(int i=;i<=n;i++){
cin>>a[i];
q1.push(a[i]);
}
for(int i=;i<=n;i++){
cin>>b[i];
q2.push(b[i]);
}
int suma=,sumb=;
int now=;
while(){
now++;
if(q1.empty()&&q2.empty()){
break;
}
int t1=,t2=;
if(now%){//A
if(!q1.empty()&&!q2.empty()){
t1=q1.top();
t2=q2.top();
if(t1>t2){
q1.pop();
suma+=t1;
}else{
q2.pop();
}
}else if(q1.empty()&&!q2.empty()){
q2.pop();
}else if(!q1.empty()&&q2.empty()){
suma+=q1.top();
q1.pop(); } }else{
if(!q1.empty()&&!q2.empty()){
t1=q1.top();
t2=q2.top();
if(t2>t1){
q2.pop();
sumb+=t2;
}else{
q1.pop();
}
}else if(q1.empty()&&!q2.empty()){
sumb+=q2.top();
q2.pop();
}else if(!q1.empty()&&q2.empty()){
q1.pop();
} }
}
//cout<<suma<<" "<<sumb<<'\n';
cout<<suma-sumb;
return ;
}

 #include<bits/stdc++.h>

 using namespace std;
#define int long long
#define inf 1<<30
#define N 10005000
int arr[N];
signed main(){
int n;cin>>n;
if(n==)
{
int qwq;
cin>>qwq;
cout<<qwq<<endl;return ;
}
int flag1=;int flag2=;
int sum1=;int minx=inf;
for(int i=;i<=n;i++) {
cin>>arr[i];
sum1+=abs(arr[i]);
if(arr[i]<){
flag1=;
}else if(arr[i]>){
flag2=;
}
minx=min(minx,abs(arr[i]));
}
if(flag1&&flag2){
cout<<sum1;
}else{
cout<<sum1-abs(minx)*;
}
return ;
}

Codeforces Round #508 (Div. 2)【A,B,C,D】【实验室日常周赛训练】的更多相关文章

  1. Codeforces Round #508 (Div. 2)

    Codeforces Round #508 (Div. 2) http://codeforces.com/contest/1038 A #include<bits/stdc++.h> us ...

  2. Codeforces Round #508 (Div. 2) E. Maximum Matching(欧拉路径)

     E. Maximum Matching 题目链接:https://codeforces.com/contest/1038/problem/E 题意: 给出n个项链,每条项链左边和右边都有一种颜色(范 ...

  3. Codeforces Round #508 (Div. 2) D. Slime

    D. Slime 题目链接:https://codeforces.com/contest/1038/problem/D 题意: 给出两个数,然后每次可以对相邻的两个数合并,比如x,y,那么合并过后就是 ...

  4. [Codeforces Round #508 (Div. 2)][Codeforces 1038E. Maximum Matching]

    前几天给舍友讲这题的时候感觉挺有意思的,就贴上来吧... 题目链接:1038E - Maximum Matching 题目大意:有\(n\)个棒子,每个条两端有颜色\(c1,c2\)以及他的价值\(v ...

  5. Codeforces Round #508 (Div. 2) C D

    C: C - Gambling 给你两个数列  每一回合A可以选择从第一个序列里面选一个数或者清除第二个序列里面选一个数 同理B能从第二序列里面选数或者清除第一个序列里面一个数 然后 求A所选的数之和 ...

  6. 题解——Codeforces Round #508 (Div. 2) T3 (贪心)

    贪心的选取最优解 然后相减好 记得要开long long #include <cstdio> #include <algorithm> #include <cstring ...

  7. 题解——Codeforces Round #508 (Div. 2) T2 (构造)

    按照题意构造集合即可 注意无解情况的判断 #include <cstdio> #include <algorithm> #include <cstring> #in ...

  8. 题解——Codeforces Round #508 (Div. 2) T1 (模拟)

    依照题意暴力模拟即可A掉 #include <cstdio> #include <algorithm> #include <cstring> #include &l ...

  9. Codeforces 1038F Wrap Around (Codeforces Round #508 (Div. 2) F) 题解

    写在前面 此题数据量居然才出到\(n=40\)???(黑人问号)以下给出一个串长\(|S|=100,n=10^9\)的题解. 题目描述 给一个长度不超过\(m\)的01串S,问有多少个长度不超过\(n ...

随机推荐

  1. hdu 2841 题解

    题目 题意:就是问在一个$ n* m $的矩阵中站在 $ (0,0) $ 能看到几个整数点. 很明显如果有两个平行向量 $ \vec{a}=(x_1,y_1) $ ,$ \vec{b}=(x_2,y_ ...

  2. Inno Setup 检测已安装的.NET Framework 版本

    翻译自:http://kynosarges.org/DotNetVersion.html 由 Jordan Russell 写的 Inno Setup 是一个伟大的安装脚本程序,但缺乏一个内置的函数来 ...

  3. Python基础 — eval 函数的作用

    eval函数就是实现list.dict.tuple与str之间的相互转化str函数把list,dict,tuple转为为字符串 # 字符串转换成列表a = "[[1,2], [3,4], [ ...

  4. day29——socket套接字(少量不全)

    day29 socket套接字 socket是处于应用层与传输层之间的抽象层,他是一组操作起来非常简单的接口(接受数据)此接口接受数据之后,交由操作系统. 为什么存在socket抽象层? 如果直接与操 ...

  5. MySQL数据库的安装(Windows平台)

    1.MySQL数据库安装与配置 1.1 数据库安装和配置 安装需要注意的地方: 典型安装:安装最常用的特性组件,会默认安装至C盘目录下,适合大部分开发者. 自定义安装:可以自定义安装目录,自定义选择安 ...

  6. 小贴士--Python

    1.查看python安装好的包版本信息:pip list 原贴,有空完善.http://yangzb.iteye.com/blog/1824761 2.Python文件快速执行. 加头文件快速执行Py ...

  7. [BZOJ2739]最远点(DP+分治+决策单调性)

    根据旋转卡壳,当逆时针遍历点时,相应的最远点也逆时针转动,满足决策单调性.于是倍长成链,分治优化DP即可,复杂度O(n^2). #include<cstdio> #include<a ...

  8. Python之TensorFlow的基本介绍-1

    一.TensorFlow™是一个基于数据流编程(dataflow programming)的符号数学系统,被广泛应用于各类机器学习(machine learning)算法的编程实现,其前身是谷歌的神经 ...

  9. docker 入坑1

    本文是记录一下学习docker的过程,希望可以帮助到入门的朋友. 系统:ubuntu16.04 docker:18.09 打开官网:https://docs.docker.com/install/li ...

  10. 为什么ELT更适合于企业数据应用?

    为什么ELT更适合于企业数据应用 DataPipeline 陈肃 为什么现在企业环境中,一个ELT的方案会比ETL的方案更有优势,实际上是由企业数据应用特点决定的. 首先在一个企业数据应用里面我们对数 ...