HIHOcoder编程总结
[Offer收割]编程练习赛44
对于第一题题目1 : 扫雷游戏,首先要想清楚思路,虽然是暴力算法,但是这八个方向要自己把坐标写正确,不要慌乱,自己写的时候就写错了一个,第二个就是判断的时候,j + 1>=0,这种是显然的事情,应该是j +1 < N,写草稿也要认真。
还有一个非常非常大的错误。
int N = ;
cin >> N;
vector<string> input;
input.resize(N);
for (int i = ; i < N; ++i) {
string tmp;
cin >> tmp;
input.push_back(tmp);
}
前面resize直接导致input有N个空串,后面再压入就会导致有2N个字符串。
第三题:题目3 : 车队
时间限制:10000ms
单点时限:1000ms
内存限制:256MB
描述
在一条单车道的公路上有N辆汽车行驶,从前向后第i辆车的最高速度是Vi。 所有车辆都会尽量保持最高速度行驶。不过由于只有单车道,所以当后方快车追上前方慢车后,无法超车,只能降速跟在慢车后面。 于是经过足够长时间(足够后方快车追上前方慢车)的行驶后,某些车辆会聚成一队以相同的速度向前行驶。我们把这些聚成一队的车辆称为一个"车队"。不同车队之间的距离会越来越大。 例如假设有5辆车,速度依次是[, , , , ],则经过足够长时间行驶后,第1、、3辆会聚成一个车队,第4、5辆会聚成另一个车队。 现在假设你可以"拿掉"其中一些车辆,但不能改变剩余的车辆的前后次序和最高速度。请计算最少"拿掉"多少辆车,可以使得剩余的车辆数目恰好等于剩余车辆经过足够长时间行驶后形成的车队数量。(换句话说每辆车单独一个车队) 在上例中"拿掉"第一辆和第四辆之后,[, , ]会最终形成3个车队,满足条件。 输入
第一行包含一个整数N。 第二行包含N个整数V1, V2, ... VN。 对于30%的数据, ≤ N ≤ 对于100%的数据, ≤ N ≤ , ≤ Vi ≤ , Vi保证两两不同。 输出
一个整数表示答案。 样例输入 样例输出
这题是一个最长上升子序列问题。开始自己马上不想就认为找到最长上升子序列和最长下降子序列就可以了,首先需要理解题目意思,应该是最后的答案是一个最长递降子序列,所以需要将vector进行反转,然后在进行求解最长递增子序列。
HIHOcoder编程总结的更多相关文章
- hihocoder编程收割赛20
hihocoder编程收割赛20 hihocoder1542 : 无根数变有根树 hihocoder1542 思路: 树的遍历 ac代码: // hihocompete20_01.cpp : 定义控制 ...
- hihocoder 编程练习赛23
第一题:H国的身份证号码I 题意:一个N位的正整数(首位不能是0).每位数字都小于等于K,并且任意相邻两位数字的乘积也小于等于K.按从小到大的顺序输出所有合法的N位号码,每个号码占一行. 思路:dfs ...
- hihocoder编程练习赛75
题目1 : 工作城市分配 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 H公司在北京和上海两个城市各有一间办公室.该公司最近新招募了2N名员工,小Hi负责把这2N名员工 ...
- hihoCoder编程练习赛72
题目1 : 玩具设计师 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho作为Z国知名玩具品牌AKIRE的首席设计师,对玩具零件的挑剔程度已经到了叹为观止的地步.所有 ...
- hihoCoder编程练习赛70
题目1 : 数位翻转 时间限制:20000ms 单点时限:1000ms 内存限制:256MB 描述 给定一个数 n,你可以进行若干次操作,每次操作可以翻转 n 的二进制表示下的某一位,即将 0 变成 ...
- hihoCoder编程练习赛69
题目1 : 偶数长度回文子串 时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 给定一个小写字母字符串,请判断它是否有长度为偶数的非空连续回文子串 输入 输入包含多组数据. ...
- hihoCoder编程练习赛67
题目1 : 序列 时间限制:20000ms 单点时限:1000ms 内存限制:256MB 描述 给定两个正整数 n, P,求满足以下两个条件的长度为 n 的序列 ai 个数: 1. 1 ≤ ai ≤ ...
- hihoCoder编程练习赛52
题目1 : 字符串排序 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 一般我们在对字符串排序时,都会按照字典序排序.当字符串只包含小写字母时,相当于按字母表" ...
- hihoCoder编程练习赛49
题目1 : 相似颜色 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 在CSS中我们可以用井号(#)加6位十六进制数表示一种颜色,例如#000000是黑色,#ff0000 ...
随机推荐
- 验证码比较hash_equals 方法
验证码是否与缓存中一致时,使用了 hash_equals 方法: hash_equals($verifyData['code'], $request->verification_code) ha ...
- ubuntu磁盘分配和挂载
Linux(ubuntu)可以把分区作为挂载点,常用的几个挂载点.作用及一般应该分配的磁盘空间如下表所示: Markdown Extra 表格语法: 挂载点(目录) 建议大小 格式 作用 / 20G左 ...
- IIS-详解IIS中URL重写工具的规则条件(Rule conditions)
出处:https://shiyousan.com/post/635654920639643421 本文结合官方文档和相关示例,详细记录了在IIS中URL重写工具下的规则条件(Rule conditio ...
- 学习笔记(22)- plato-训练端到端的模型
原始文档 Train an end-to-end model To get started we can train a very simple model using Ludwig (feel fr ...
- 【C语言】(数组方式)输出一组成绩中的最高分与最低分
两种不同方式获取最大值与最小值 代码1: #include <stdio.h> int main() { ], sum = , max, min; int i; printf(" ...
- C语言:对传入sp的字符进行统计,三组两个相连字母“ea”"ou""iu"出现的次数,并将统计结果存入ct所指的数组中。-在数组中找出最小值,并与第一个元素交换位置。
//对传入sp的字符进行统计,三组两个相连字母“ea”"ou""iu"出现的次数,并将统计结果存入ct所指的数组中. #include <stdio.h& ...
- redhat 7.6安装kvm
安装 yum install qemu-kvm libvirt virt-install virt-manager openssh-askpass yum install qemu-kvm-tools ...
- Linux系统常用运维命令汇总
因为这段时间加入Java后台开发,所以对Java后台开发必会的Linux系统指令进行了熟悉这里进行汇总; tar 参数说明:-x: 解压 -z:有gzip属性 -v:显示所有过程 -f:文件名 -c: ...
- PowerDesigner每点击一次就会提示打印错误对话框
把服务启用了就好了: 重启软件
- ES6-const定义常量
在es5中我们一般将变量名大写来表明这是一个常量,但其实它是可以修改的. 在es6中可以用const来定义常量,它定义的常量不能修改. const NAME = 'tom'; NAME ...