05.24 ICPC 2019-2020 North-Western Russia Regional Contest复现赛+Codeforces Round #645 (Div. 2)
A.Accurate Movement(复现赛)
题意:两个木块最左边都在0的位置,最右边分别为a,b(b>a),并且短的木条只能在长木条内移动,问两个木条需要移动多少次才能使两个木条的右端都在n
思路:短木条最少移动(n-a)/(b-a),如果(n-a)%(b-a)不为0,那么还需要再多移动一次,才能到达最右边,长木条以此类推
代码:
1 #include<iostream>
2 #include<algorithm>
3 #include<cmath>
4 #include<cstdio>
5 using namespace std;
6 int main(){
7 int a,b,n;
8 scanf("%d %d %d",&a,&b,&n);
9 int sum=0;
10 if((n-a)%(b-a)==0){
11 sum+=(n-a)/(b-a);
12 }else{
13 sum+=(n-a)/(b-a)+1;
14 }
15 if((n-b)%(b-a)==0){
16 sum+=(n-b)/(b-a);
17 }else{
18 sum+=(n-b)/(b-a)+1;
19 }
20 printf("%d\n",sum);
21 }
A. Park Lighting(#645)
题意:安放路灯在棱上,可以点亮以这条楞为公共线的正方形小块上,问需要多少个灯才能点亮整个大矩形,输入为大矩形的场合宽
思路:直接判断矩形个数是不是偶数,如果是,那么就可以用(长×宽)/2,如果不是,就是需要额外的一个点亮剩下的一个
代码:
1 #include<iostream>
2 #include<algorithm>
3 #include<cstdio>
4 #include<cmath>
5 using namespace std;
6 int main(){
7 int t;
8 scanf("%d",&t);
9 while(t--){
10 int a,b;
11 scanf("%d %d",&a,&b);
12 if((a*b)%2==1){
13 printf("%d\n",a*b/2+1);
14 }else{
15 printf("%d\n",a*b/2);
16 }
17 }
18 }
B. Maria Breaks the Self-isolation
题意:起初院子中一个老奶奶,然后它可以喊任意个其他的老奶奶,但是这些老奶奶出现的要求是,当她出现时必须看到除她以外的a[i]个人,判断院子中最多可以喊多少个老奶奶
思路:采用优先队列,从需要看见人数最多的老奶奶开始,如果这个数小于1加上院子中可进去的人数(先假设同时间去),那么就说明可以同时来,如果大于,也就是说即使同一时间进去也不能满足最后一个老奶奶,然后出栈(为了变化top)
wa掉的/注意的:1.需要从最大到最小遍历,因为这样能知道确切的这个人是不是进的去进不去,这样一来需要思考的变化因素就很少,不用天南海北的进行纠结到底怎么选;2.其实这种做法有种第一次打电话就给所有的人打电话,从最后向前遍历,找到是不是真的可以满足,每个人都开心的进院子;3.一定出栈进行变换top;4.我不知道我为什么用sort就超时了,用优先队列就不超时
代码:
1 #include<iostream>
2 #include<algorithm>
3 #include<cstdio>
4 #include<cmath>
5 #include<queue>
6 using namespace std;
7 int main(){
8 int t;
9 scanf("%d",&t);
10 while(t--){
11 int r,n;
12 scanf("%d",&n);
13 priority_queue<int> a;
14 for(int i=0;i<n;i++){
15 scanf("%d",&r);
16 a.push(r);
17 }
18 int s=0,m=n;
19
20 for(int i=0;i<n;i++){
21 if(a.top()<1+m){
22 s++;
23 }else{
24 m--;
25 }
26 a.pop();
27 }
28 printf("%d\n",s+1);
29 }
30 }
我实在是太菜了,导致我最近做的题不是很多,但是时间话得特别长,还是应该偶尔看看算法书,只靠思维题是不行了,而且有的思维题读题真的好麻烦,最近专业课落得好多,绝望!!!
05.24 ICPC 2019-2020 North-Western Russia Regional Contest复现赛+Codeforces Round #645 (Div. 2)的更多相关文章
- Codeforces Round #517 (Div. 2, based on Technocup 2019 Elimination Round 2)
Codeforces Round #517 (Div. 2, based on Technocup 2019 Elimination Round 2) #include <bits/stdc++ ...
- 2017 ACM - ICPC Asia Ho Chi Minh City Regional Contest
2017 ACM - ICPC Asia Ho Chi Minh City Regional Contest A - Arranging Wine 题目描述:有\(R\)个红箱和\(W\)个白箱,将这 ...
- Codeforces Round #596 (Div. 2, based on Technocup 2020 Elimination Round 2)
A - Forgetting Things 题意:给 \(a,b\) 两个数字的开头数字(1~9),求使得等式 \(a=b-1\) 成立的一组 \(a,b\) ,无解输出-1. 题解:很显然只有 \( ...
- ICPC 2019-2020 North-Western Russia Regional Contest
目录 Contest Info Solutions Problem A. Accurate Movement Problem B. Bad Treap Problem E. Equidistant P ...
- ICPC Central Russia Regional Contest (CRRC 19)题解
题目连接:https://codeforces.com/gym/102780 寒假第二次训练赛,(某菜依旧是4个小时后咕咕咕),战况还行,个人表现极差(高级演员) A:Green tea 暴力枚举即可 ...
- Codeforces Round #268 (Div. 1) A. 24 Game 构造
A. 24 Game Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/468/problem/A D ...
- Codeforces Round #596 (Div. 2, based on Technocup 2020 Elimination Round 2) D. Power Products 数学 暴力
D. Power Products You are given n positive integers a1,-,an, and an integer k≥2. Count the number of ...
- Codeforces Round #596 (Div. 2, based on Technocup 2020 Elimination Round 2) C. p-binary 水题
C. p-binary Vasya will fancy any number as long as it is an integer power of two. Petya, on the othe ...
- Codeforces Round #606 (Div. 2, based on Technocup 2020 Elimination Round 4) 题解
Happy Birthday, Polycarp! Make Them Odd As Simple as One and Two Let's Play the Words? Two Fairs Bea ...
随机推荐
- 【Azure 云服务】在Cloud Service的代码中如何修改IIS Application Pool的配置呢? 比如IdleTimeout, startMode, Recycling.PeriodicRestart.Time等
什么是 PaaS?Platform as a Service 平台即服务 (PaaS) 是云中的完整开发和部署环境,你可以使用其中资源交付内容,从基于云的简单应用到启用云的复杂企业应用程序皆可.你以即 ...
- 利用Navicat premium实现将数据从Oracle导入到MySQL
背景:我们给用户提供了新的直播系统,但客户之前的老系统用的数据库是Oracle,我们提供的新系统用的是MySQL 客户诉求:将老系统中的所有直播数据导入到MySQL中: 思路:我知道Navicat有数 ...
- 数据仓库系列之ETL中常见的增量抽取方式
为了实现数据仓库中的更加高效的数据处理,今天和小黎子一起来探讨ETL系统中的增量抽取方式.增量抽取是数据仓库ETL(数据的抽取(extraction).转换(transformation)和装载(lo ...
- 让你的程序炫起来!少有人知道但超酷的 Python 进度条开源库
本文适合有 Python 基础的朋友 本文作者:HelloGitHub-Anthony HelloGitHub 推出的<讲解开源项目>系列,本期介绍让你快速拥有完美进度条的 Python ...
- 解决跨域问题chrome浏览器插件
https://www.crx4chrome.com/crx/53489/ 解决chrome浏览器跨域的问题
- 【软件推荐】利用Stylus修改网页显示字体
Windows下,字体的显示总是让人抓狂.抗锯齿效果让汉字显得粗细不均,甚至无法对齐的情况. 为了改善网页的显示效果,可以利用Stylus进行字体的替换 Stylus可以在Google的商店下载,由于 ...
- 构建之法与CI/CD
项目 内容 这个作业属于哪个课程 2021春季软件工程(罗杰 任健) 这个作业的要求在哪里 个人阅读作业2 我在这个课程的目标是 认识软工,拥抱软工,提升相关能力以便日后与其朝夕相伴 这个作业在哪个具 ...
- Tk 的基本概念-组件—Tkinter 教程系列03
Tk 的基本概念-组件-Tkinter 教程系列03 前言 Tk 系列教程: Tkinter教程系列01--引言和安装Tk Tkinter教程系列02--第一个真正的 GUI 程序 通过上一节的程序实 ...
- linux安装cmake
1 概述 linux下安装cmake,目前最新的版本为3.17.0-rc2,安装的方式一共有三种:通过软件包仓库安装,通过编译好的版本进行安装,从源码手动编译安装. 2 仓库安装 笔者的是deepin ...
- JAVAEE_Servlet_09_Adapter适配器GenericServlet
适配器 GenericServlet * 适配器 (Adapter) - 适配器的作用? 1.我们目前所有的Servlet类都直接实现了javax.servlet.Servlet接口,但是该接口中有些 ...