当前位置: 首页 > news >正文

C++笔试强训day41

目录

1.棋子翻转

2.宵暗的妖怪

3.过桥


1.棋子翻转

链接icon-default.png?t=N7T8https://www.nowcoder.com/practice/a8c89dc768c84ec29cbf9ca065e3f6b4?tpId=128&tqId=33769&ru=/exam/oj

(简单题)对题意进行简单模拟即可:

class Solution {
public:int dx[4] = { 0, 0, 1, -1 };int dy[4] = { 1, -1, 0, 0 };vector<vector<int> > flipChess(vector<vector<int>>& A,vector<vector<int> >& f) {for (auto e : f) {int x = e[0] - 1, y = e[1] - 1;for (int i = 0; i < 4; ++i) {int a = x + dx[i];int b = y + dy[i];if (a >= 0 && a < 4 && b >= 0 && b < 4 && A[a][b] == 0)A[a][b] = 1;else if (a >= 0 && a < 4 && b >= 0 && b < 4 && A[a][b] == 1)A[a][b] = 0;}}return A;}
};

2.宵暗的妖怪

链接icon-default.png?t=N7T8https://ac.nowcoder.com/acm/problem/213484

线性dp问题,难点是分析它的状态转移方程

分析后发现:

dp[i] 与前面很多状态有关,如果强行这样求解,则需要两层for循环,又由于题目的数据范围很大,因此一定会超时。

因此,需要去思考将后面的多个状态变换成一个状态(类似于完全背包中需要解决的问题,不过这个更简单),观察后易发现,后面的状态不就等价于dp[i - 1]吗,然后一层一层递推

#include <iostream>
using namespace std;
typedef long long LL;
const int N = 1e5 + 10;int n;
LL arr[N];
LL dp[N];int main()
{cin >> n;for (int i = 1; i <= n; i++) cin >> arr[i];for (int i = 3; i <= n; i++){dp[i] = max(dp[i - 1], dp[i - 3] + arr[i - 1]);}cout << dp[n] << endl;return 0;
}

也可看作是打家劫舍变种问题

3.过桥

链接icon-default.png?t=N7T8https://ac.nowcoder.com/acm/problem/229296

贪心、求最短路径(因为每条边的权值都为1)

#include <iostream>
using namespace std;const int N = 2010;
int n;
int arr[N];int bfs()
{int left = 1, right = 1;int ret = 0;while (left <= right){ret++;int r = right;for (int i = left; i <= right; i++){r = max(r, arr[i] + i);if (r >= n){return ret;}}left = right + 1;right = r;}return -1;
}int main()
{cin >> n;for (int i = 1; i <= n; i++) cin >> arr[i];cout << bfs() << endl;return 0;
}

相关文章:

  • vue3+ts webVTT与JSON之前格式互转
  • 前端预览pdf文件(后端返回pdf文件流)
  • Spring Cloud、Spring Cloud LoadBalancer、Nacos 和 OpenFeign整合
  • [ 网络通信基础 ]——网络的传输介质(双绞线,光纤,标准,线序)
  • hnust 湖南科技大学 2022 软件测试报告+代码
  • 宏集Panorama SCADA:个性化定制,满足多元角色需求
  • Apple开发者应用商店(AppStore)描述文件及ADHOC描述文件生成
  • 深拷贝、浅拷贝、引用拷贝
  • 台湾合泰原装BS66F360 封装LQFP-44 电容触摸按键 AD+LED增强型触控
  • 【Mac】Downie 4 for Mac(视频download工具)兼容14系统软件介绍及安装教程
  • 算法课程笔记——蓝桥第17次直播云课
  • window.clearInterval(timer) 清除定时器
  • React Native采集数据离线存储、网络状态监控、加密上传、鉴权
  • 4.通用编程概念
  • 4、js数据类型,检测数据类型
  • [译] React v16.8: 含有Hooks的版本
  • happypack两次报错的问题
  • mockjs让前端开发独立于后端
  • Mysql优化
  • Nacos系列:Nacos的Java SDK使用
  • Netty 4.1 源代码学习:线程模型
  • php中curl和soap方式请求服务超时问题
  • react-native 安卓真机环境搭建
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 检测对象或数组
  • 爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!
  • 如何设计一个微型分布式架构?
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 算法-插入排序
  • 阿里云API、SDK和CLI应用实践方案
  • 新海诚画集[秒速5センチメートル:樱花抄·春]
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • ###C语言程序设计-----C语言学习(3)#
  • #Datawhale AI夏令营第4期#多模态大模型复盘
  • #HarmonyOS:软件安装window和mac预览Hello World
  • #pragma once与条件编译
  • #vue3 实现前端下载excel文件模板功能
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • (6) 深入探索Python-Pandas库的核心数据结构:DataFrame全面解析
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (四)Controller接口控制器详解(三)
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (一)项目实践-利用Appdesigner制作目标跟踪仿真软件
  • .NET Core使用NPOI导出复杂,美观的Excel详解
  • .NET Framework 4.6.2改进了WPF和安全性
  • .net web项目 调用webService
  • .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)...
  • .NET程序员迈向卓越的必由之路
  • .Net转前端开发-启航篇,如何定制博客园主题
  • :中兴通讯为何成功
  • @FeignClient注解,fallback和fallbackFactory
  • @JsonFormat 和 @DateTimeFormat 的区别