新一届暑期积分赛题目记录
原题位置忘了,自己造的数据,两题通过率均不超过0.15,但是是过人最多的两道,整体比赛出的有点失败。。
D.最近的商店(比赛中叫 不会吧不会有人觉得这不是签到吧)
Time limit:1 seconds
Memory limit:64 megabytes
协会成员马上要入住算协小镇了!他们不想去一个离自己很远的商店,因此每个人都想知道离自己房子最近的商店有多远。
他们向你求助,希望你能帮他们做一个标有商店距离的平面图。
算协小镇上的房子严格按照n∗mn * mn∗m的点阵建造,其中分布有居民楼和商店,距离按照每个单元格进行计算(横与纵坐标差之和)。
输入
第一行输入nnn和mmm,随后nnn行,每行mmm列,111代表商店,000代表居民楼。
输出
输出一个n∗mn * mn∗m的矩阵,代表距离商店的平面图。(商店本身输出000)
保证
对于所有输入xxx(代指所有可能出现的输入),都有1≤x≤9991 \le x \le 9991≤x≤999
测试样例1
input
4 5
00001
00110
01100
00010
output
3 2 1 1 0
2 1 0 0 1
1 0 0 1 2
2 1 1 0 1
多源BFS模板题,若单个查找每个起点,其时间复杂度最大为O((n∗m)2)O((n*m)^2)O((n∗m)2),因此需要一次将所有起点加入队列进行BFS查找。
代码
#include<iostream>
#include<algorithm>
#include<string.h>
#include<stdio.h>
#include<string>
#include<queue>using namespace std;const int goin[4][2] = { 1,0,0,1,-1,0,0,-1 };
int n, m;
int num[1005][1005], vis[1005][1005], g[1005][1005];
queue<pair<int, int>>q;bool pd(int x, int y) {return (x > -1 && y > -1 && x < n&& y < m);
}pair<int, int> move(int x, int y, int i) {return {(x + goin[i][0]), (y + goin[i][1])};
}void bfs() {while (!q.empty()) {auto [x, y] = q.front();q.pop();for (int i = 0; i < 4; i++){auto [x1, y1] = move(x, y, i);if (pd(x1, y1)){if(!vis[x1][y1] && num[x1][y1] == 0) {vis[x1][y1] = 1;q.emplace(x1, y1);g[x1][y1] = g[x][y] + 1;}}}}
}int main() {cin >> n >> m;for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {scanf("%1d", &num[i][j]);if (num[i][j] == 1) q.emplace(i, j);}}bfs();for (int i = 0; i < n; i++) {cout << g[i][0];for (int j = 1; j < m; j++) {cout << ' ' << g[i][j];}cout << endl;}return 0;
}
G.红烧羊排(比赛中 叫别说了别说了我真不是签到)
Time limit:1 seconds
Memory limit:32 megabytes
红烧羊排想要过河。河非常的宽,每隔一米有一个落脚点。羊排每次可以有如下行动:
【1】 每次可以走*111*米。
【2】 每次可以走上一步的两倍距离。
河的那边有陷阱,所以小羊排的最后一步必须恰好落在岸边,现在给你河宽*nnn*,请你求出羊排最少多少步可以过河。
输入
第一行输入ttt,代表ttt个测试样例。
之后t行,每行输入一个nnn,代表河宽。
输出
对于每一行nnn,输出一个结果。
保证
1≤t≤1e61 \le t \le 1e61≤t≤1e6
1≤n≤1e181 \le n \le 1e181≤n≤1e18
测试样例1
input
10
1
2
3
4
5
6
7
8
9
10
output
1
2
2
3
4
4
3
4
5
5
测试样例2
input
6
1022
1023
1024
2046
2047
2048
output
18
10
11
20
11
12
本题使用贪心的思想,每次走尽可能大的步数,若这一步的两倍要多于剩余距离,再从1开始走。
数据量比较大,极限情况下若每走一步一计算,复杂度约为1e91e91e9乘一个常数,因此需要提前打表。
因每一次是上一步的两倍,因此跳跃一次可当作2n−12 ^ n -12n−1 ,此时nnn为这一次跳跃的步数。因(2n−1)∗2<2n∗2−1(2 ^ n -1) * 2 < 2 ^ n * 2 - 1(2n−1)∗2<2n∗2−1,每次跳跃的距离需要判断两次。
代码
#include<iostream>
#include<algorithm>
#include<stdio.h>
#include<string>
#include<string.h>
typedef long long ll;using namespace std;int t, i, ans;
ll n, sic[70];int main() {sic[0]=1; for(i = 1; sic[i - 1] <= 1e18 / 2; i++){sic[i] = sic[i-1] * 2;}cin >> t;while(t--){scanf("%lld", &n);int j = i - 1; ans = 0;for( ; n && j > 0; j--){if(n >= sic[j] - 1){n -= (sic[j] - 1);ans += j;j++;}}printf("%d\n", ans);}return 0;
}
新一届暑期积分赛题目记录相关推荐
- $2019$ 暑期刷题记录 $2$(基本算法专题)
$ 2019 $ 暑期刷题记录 $ 2 $ (基本算法专题) $ by~~wch $ $ BZOJ~1958~Strange~Towers~of~Hanoi $ (动态规划,递推) 题目大意: 求有 ...
- 2021暑期积分赛一
2021暑期积分赛一 A - Constructing the Array (CF353D) B - Taxi (CF158B) C - Running Median HDU - 3282 D - W ...
- 【面试题目】2019年中心面试题目记录
网络上能找到流传出来的中心面试题目记录 大数据是什么? 云计算的理解? 单位涉密应该怎么做? 对于一些名词的解释:拒绝服务攻击.网络冒仿.网络蠕虫.网页恶意代码.木马主机.网络篡改 什么是物联网? 你 ...
- 自用PTA题目记录0023
自用PTA题目记录0023 以下题目序号并无实际意义 文章目录 自用PTA题目记录0023 9-1 JAVA文件读写A+B题 代码 总结 9-1 JAVA文件读写A+B题 题目作者: zouxuxia ...
- 腾讯成功入选LoRa联盟新一届董事会
日前,LoRa Alliance(简称 LoRa 联盟)新一届董事会竞选工作结束,腾讯和美国Comcast运营商在多个候选企业中胜出,正式加入 LoRa 联盟董事会,腾讯TEG网络平台部总监王亚晨,C ...
- 湖北大学计算机学院胡院长,学院召开新一届领导干部任命宣布大会
12月16日上午,校党委副书记侯勇.校党委组织部副部长周霞代表校党委到学院宣读学校党委关于学院领导班子换届的相关文件,秦明君同志任计信学院党委委员.书记,王时绘同志任计信学院.人工智能学院院长,杨维明 ...
- JavaScript预解析、作用域题目记录
JavaScript预解析.作用域题目记录 写出以下题目执行的结果及过程分析 function fun ( n ) {console.log( n );var n = 456;console.log( ...
- 东北大学计算机学院领导,计算机学院召开新一届全体干部大会
12月13日,计算机科学与工程学院在浑南校区信息学馆320室召开新一届全体干部大会.学院领导班子,各系(部.中心)主任.副主任,分工会干部及所有科级干部参加会议. 学院党委书记王克君向新聘任的各基层学 ...
- 自用PTA题目记录0024
自用PTA题目记录0024 以下题目序号并无实际意义 文章目录 自用PTA题目记录0024 9-2 A+B的文本文件版 代码 总结 9-2 A+B的文本文件版 题目作者: 翁恺 单位: 浙江大学 内存 ...
最新文章
- jqMobi(App Framework)入门学习(一)
- 中小企业如何规避因员工跳槽而产生的风险?
- 广义线性模型_算法小板报(四)——初探广义线性模型和最大熵模型
- 关于websocket
- java定位线程阻塞_Arthas - 定位 Java 性能问题原来这么简单
- Ubuntu学习小结(一) 基础知识,系统安装,软件安装,解压缩
- linux 敏感标记 权限,闲话Linux系统安全(二)——强制访问控制(MAC)
- Docker - 导出导入容器
- Tensorflow学习笔记(一)
- Linux学习笔记---使用MfgTool工具烧写官方系统(一)
- 肉体之爱的解释圣经_可解释的AI的解释
- java命令行参数是什么_Java实验课:命令行参数是什么?
- 华为云数据库可视化软件DataStudio导入excel表格问题
- Qt 中使用librdkafka librdkafka++ 创建消费者
- 大数据第一季--Hadoop(day10)-徐培成-专题视频课程
- 高端存储“四十不惑”
- 【小月电子】XILINX FPGA开发板(XLOGIC_V1)系统学习教程-LESSON9简易测试系统
- php 图片外链限制,如何解决新浪微博图床限制图片外链的问题 | 骤雨打新荷
- 部署 php 项目,使用deployer 来部署PHP项目
- 笔记本电脑键盘失灵拯救方法总结
热门文章
- 算法与数据结构(part1)--算法简介及大O表示法
- 回归树与基于规则的模型(part3)--回归模型树
- Python中 __init__的通俗解释是什么?
- 使用脚本进行 SAP Spartacus 安装工作
- SAP Fiori Elements 公开课第二单元视频的台词和课程主要内容
- SAP Fiori Elements 应用 manifest.json 文件里 resources.json 的含义
- SAP Spartacus user form去除嵌套label的side effect之一
- SAP Spartacus Org Unit明细页面的工具栏按钮设计
- 将网站SSL Server Certificate导入ABAP系统,证书Subject中文字符被转义引起的问题
- Angular @Effect监听指定Action类型的实现原理