Codeforces Round 916(div3)

[Problem - A - Codeforces]:Problemsolving Log

A.题 直接看样例进行分析,发现每一次出现的字符代表着用了1分钟来看这道题,每道题都有固定的解题时间,只要达到了这个解题时间,就可以将这题解出来 , 答案就要加上1;同时要注意 将解决过的问题 要标记一下;

#include <bits/stdc++.h>
using namespace std; int main()
{
int n;
cin >> n; while(n --)
{
bool st[30];
memset(st , false , sizeof st);
int a[27] = {0}; //记得初始化;
int res = 0 ; //答案; int time; //这个好像没什么用;
cin >> time; string s;
cin >> s;
int len = s.size() - 1; for(int i = 0 ; i <= len ; i ++)
{
a[s[i] - 'A'] ++;
if(a[s[i] - 'A'] >= (s[i] - 'A' + 1) && st[s[i] - 'A'] == false)
////s[i]-'A'+1代表解决题目所花费的时间
{
res ++;
st[s[i] - 'A'] = true;
}
}
cout << res << endl;
}
return 0; }

[Problem - B - Codeforces]:Preparing for the Contest

B.题 有几次兴奋前面就直接 从小到大输出 ,输出到那个兴奋的数,后面的就要从大到小输出;

#include <bits/stdc++.h>
using namespace std; int main()
{
int k;
cin >> k; while(k --)
{
int n , num;
cin >> n >> num; for(int i = 1 ; i <= num; i ++)
cout << i << " ";
for(int i = n; i >num ; i --)
cout << i << " "; cout << endl; }
return 0;
}

[Problem - C - Codeforces]:Quests

C.题贪心的思想,同是结合了前缀和,我感觉也有枚举的一些地方;

a[i]:代表着第一次完成前 i 个任务所获得的经验值;

b[i]:代表着重复完成第前 i 个任务的最大经验;(我们重复做的肯定是 那个经验值最大的那个)

res :经过枚举,如果完成第 i 个任务后 k 有剩余 那么我们就将重复做那个经验值最大的任务;

#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 10; int main()
{
int m;
cin >> m; while(m --)
{
int n , k;
cin >> n >> k;
int a[N] , b[N];
for(int i = 1 ; i <= n ; i ++)
{
cin >> a[i];
a[i] += a[i - 1];
}
b[0] = 0;
for(int i = 1; i <= n ; i ++)
{
cin >> b[i];
b[i] = max(b[i] , b[i - 1]); //只保留最大的那个重复完成的值;
} int res = -2e9;
//枚举完成到第几个任务,剩余的任务机会 都用来做重复的任务;
for(int i = 1 ; i <= n ; i ++)
{
res = max(res , a[i] + (k - i) * b[i]);
if(i == k) break; //注意有可能 k比n要小 完成k个任务后就要break;
}
cout << res << endl;
} return 0;
}

[Problem - D - Codeforces]:Three Activities

D.暴力枚举的话可以做 不过需要注意写成函数 并且关闭同步流,但是我们可以优化,发现我们只需要每个项目的相对最大值,同时满足,天数各不相同,所以我们只需要存下来每个项目里面 ,经过排序后 三个最大值,在这三个最大值里面进行枚举,减少了枚举的量;

#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 10;
typedef long long LL;
typedef pair<int , int> PII;
PII a[N] , b[N] , c[N]; int cmp(pair<int,int>a,pair<int,int>b)
{
if(a.first != b.first) return a.first > b.first;
else
return a.second < b.second;
} int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0); LL k;
cin >> k; while(k --)
{
int n;
cin >> n;
vector<PII> a(n) , b(n) , c(n);
for(int i = 1; i <= n ; i ++)
{
int x;
cin >> x;
a.push_back({x , i});
}
for(int i = 1; i <= n ; i ++)
{
int x;
cin >> x;
b.push_back({x , i});
}
for(int i = 1; i <= n ; i ++)
{
int x;
cin >> x;
c.push_back({x , i});
} sort(a.begin() , a.end() , cmp);
sort(b.begin() , b.end() , cmp);
sort(c.begin() , c.end() , cmp); int res = 0;
//只取前三个人数
for(int i = 0 ; i < 3 ; i ++)
for(int j = 0 ; j < 3 ; j ++)
for(int k = 0; k < 3 ; k ++)
if(a[i].second != b[j].second && a[i].second != c[k].second && c[k].second != b[j].second)
res = max(res , a[i].first + b[j].first + c[k].first); cout << res << endl; } return 0;
}

Codeforce Round 916(div3)的更多相关文章

  1. 【赛时总结】◇赛时·V◇ Codeforces Round #486 Div3

    ◇赛时·V◇ Codeforces Round #486 Div3 又是一场历史悠久的比赛,老师拉着我回来考古了……为了不抢了后面一些同学的排名,我没有做A题 ◆ 题目&解析 [B题]Subs ...

  2. Codeforce Round #643 #645 #646 (Div2)

    codeforce Round #643 #645 #646 div2 Round #643 problem A #include<bits/stdc++.h> using namespa ...

  3. CodeForce Round#49 untitled (Hdu 5339)

    Untitled Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Su ...

  4. Codeforce Round #216 Div2

    e,还是写一下这次的codeforce吧...庆祝这个月的开始,看自己有能,b到什么样! cf的第二题,脑抽的交了错两次后过了pretest然后system的挂了..脑子里还有自己要挂的感觉,果然回头 ...

  5. CodeForces Round #527 (Div3) B. Teams Forming

    http://codeforces.com/contest/1092/problem/B There are nn students in a university. The number of st ...

  6. CodeForces Round#480 div3 第2场

    这次div3比上次多一道, 也加了半小时, 说区分不出1600以上的水平.(我也不清楚). A. Remove Duplicates 题意:给你一个数组,删除这个数组中相同的元素, 并且保留右边的元素 ...

  7. Codeforce Round #228 Div2

    这次的A题没注意要到100- -, B题没做,后来做要注意下1和long long C题当时坑的一B,用了个蠢办法,后来还错了,现在改了,还是蠢办法,等等再去用dp吧,而且本来就只有01用个鸡巴的树状 ...

  8. Codeforce Round #227 Div2

    这回的看错时间了! 发现理论可以涨分的- -

  9. Codeforce Round #226 Div2

    这次CF虽然,但是- - 第一题看了很久的题目意思额,虽然慢了点- -,但还算没出错,还学会了hack了- -,还+了100- - 第二题想了很久- -...后来发现可以暴力- -,哎 第三题本来也应 ...

  10. Codeforce Round #225 Div2

    这回的C- -,弄逆序,我以为要弄个正的和反的,没想到是等价的,弄两个还是正确的,结果我又没注意1和0只能指1个方向,结果弄了4个,取了4个的最小值就错了,自己作死没弄出来...,后面又玩去了...哎 ...

随机推荐

  1. BY组态-低代码web可视化组件

    简介 BY组态是贵州九元四方科技完全自主研发的集实时数据展示.动态交互等一体的全功能可视化平台.帮助物联网.工业互联网.电力能源.水利工程.智慧农业.智慧医疗.智慧城市等场景快速实现数字孪生.大屏可视 ...

  2. Java 中for循环和foreach循环哪个更快?

    摘要:本文由葡萄城技术团队于博客园发布.转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 前言 在Java编程中,循环结构是程序员常用的控制流程,而for循环 ...

  3. AOP(面向切面编程)

    什么是AOP AOP(Aspect Oriented Programming,面向切面编程),通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术. AOP的作用 利用AOP编程可以对业务逻 ...

  4. go语言 包依赖管理-构建完整的依赖项目:目录结构及包的调用

    目录结构: <home>/ |-- greetings/ |-- hello/1.分别进入对应目录创建以上目录结构 //bash切换到用户主目录 cd $HOMEPAHT$ //bash新 ...

  5. fatal: 无法访问 'https://github.com/nmww/lingyun.git/':Failed to connect to github.com port 443 after 13 ms: Connection refused

    fatal: 无法访问 'https://github.com/nmww/lingyun.git/':Failed to connect to github.com port 443 after 13 ...

  6. Excel--比较两列数据的异同

    首先得到的数据分为两列,两种类型.由于在网站上搜索的时候,网站的"特殊性"会将000638-32-4 前面的0全部去掉.变成了638-32-4.基于得到了两列稍有不同的数据.由于人 ...

  7. 【Azure Logic App】在Azure Logic App中使用SMTP发送邮件示例

    问题描述 在Azure Logic App的官网介绍中,使用SMTP组件发送邮件非常简单(https://docs.azure.cn/zh-cn/connectors/connectors-creat ...

  8. 初识FreeRTOS

    FreeRTOS是一个迷你的实时操作系统内核.作为一个轻量级的操作系统,功能包括:任务管理.时间管理.信号量.消息队列.内存管理.记录功能.软件定时器.协程等,可基本满足较小系统的需要.   一.Fr ...

  9. docker简单部署

    docker 安装部署-yun yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docke ...

  10. 数据库系列:InnoDB下实现高并发控制

    数据库系列:MySQL慢查询分析和性能优化 数据库系列:MySQL索引优化总结(综合版) 数据库系列:高并发下的数据字段变更 数据库系列:覆盖索引和规避回表 数据库系列:数据库高可用及无损扩容 数据库 ...