机器人

AcWing 730. 机器人跳跃问题(二分)

不羁岁月 提交于 2020-02-02 03:54:56
Problem 初看题是看不出要用二分的,但是题目要求找出符合条件最小的E,这个就是符合二分的条件,最值,单调性,因为所有大于E的值都可成立。 import java . io . BufferedReader ; import java . io . InputStreamReader ; import java . io . PrintWriter ; public class Main { static BufferedReader br = new BufferedReader ( new InputStreamReader ( System . in ) ) ; static PrintWriter pw = new PrintWriter ( System . out ) ; static int N = 100010 , n ; static int a [ ] = new int [ N ] ; public static void main ( String [ ] args ) throws Exception { n = Integer . parseInt ( br . readLine ( ) ) ; String s [ ] = br . readLine ( ) . split ( " " ) ; for ( int i = 1 ; i <= n ;

洛谷-题解 P6024 【机器人】

别来无恙 提交于 2020-01-30 22:59:03
今天洛谷比赛的题。(打不了CF只好做洛谷比赛,用空气树这个号打的) A的非常莫名。 题目链接: https://www.luogu.com.cn/problem/P2051 首先要能计算出期望值,我完全没有学过期望,只好乱猜。 期望值应该是要按最坏的打算。 要求一次性成功,否则重来。 那么期望第一个任务做的次数便是所有概率乘积的倒数。 那么第二个任务呢?就是 \(2\) ~ \(n\) 所有概率乘积的倒数。 以此类推。也就是后缀了。 而我当时完全想错了。 但是直觉认为是贪心,排序。 于是推了个这样的式子。(根据题, \(p[i]都*了10000\) ) \(xx.x\) 表示完成代价, \(xx.y\) 表示期望值 \(p[i]\) , \(10000/xx.y\) 也就是单独一个任务的期望次数 排序的式子(也就是把xx放在yy前的要求): \(10000 * xx.x/xx.y+10000 * 10000 * yy.x/xx.y/yy.y<10000 * yy.x/yy.y+10000 * 10000 * xx.x/yy.y/xx.y;\) \(-->xx.x * yy.y+10000 * yy.x<yy.x * xx.y+10000 * xx.x\) 然后 \(WA\) 了。 于是我开始乱猜,把 \(<改>\) 就过了!!惊讶万分。 什么原因? 显然,我当时的思路是按照前缀

zabbix 钉钉报警

独自空忆成欢 提交于 2020-01-29 15:57:05
群机器人是钉钉群的高级扩展功能,群机器人可以将第三方服务的信息聚合到群聊中,实现自动化的信息同步。例如:通过聚合GitHub,GitLab等源码管理服务,实现源码更新同步;通过聚合Trello,JIRA等项目协调服务,实现项目信息同步。不仅如此,群机器人支持Webhook协议的自定义接入,支持更多可能性. 比如我们可将Zabbix运维报警提醒通过自定义机器人聚合到钉钉群中,以实现钉钉告警。下面记录下Zabbix通过钉钉告警的设置过程: 一. 钉钉机器人创建 登录钉钉客户端,创建一个群,把需要收到报警信息的人员都拉到这个群内.然后点击群右上角的" 群机器人 "->" 添加机器人 "->" 自定义 ",记录该机器人的webhook值! 二. Zabbix设置 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 vim /usr/local/zabbix/etc/zabbix_server.conf AlertScriptsPath= /usr/local

一、模板设计模式(与抽象类特性相关)

为君一笑 提交于 2020-01-29 01:37:20
##模板设计模式 1.1简介 模版设计模式的本质是利用了抽象类对子类强加的覆写的限制实现的,例如:在现实生活之中,都需要进行数据表格的填写,这些表格只有填写正确了才可以获取正确的内容。 模版设计主要是在父类(抽象类)定义一些公共的行为准则,而后需要进行某些处理的时候子类进行相应的方法覆写即可。 (模板设计模式在整个的Java中最为常见的应用就是Servlet程序开发) 现在假设有三种类,基本关系如下: ·人:吃饭、工作、睡觉; ·猪:吃饭、睡觉; ·机器人:补充能量、工作。 例:代码实现模板设计模式 import com.sun.jdi.request.VMDeathRequest; abstract class AbstractAction{ //定义公共行为 public static final int EAT = 1; public static final int SLEEP = 2; public static final int WORK = 3; public abstract void eat(); public abstract void sleep(); public abstract void work(); public void command (int ch){ switch (ch){ case EAT: this.eat(); break;

剑指offer 46.机器人的运动范围

自古美人都是妖i 提交于 2020-01-29 00:27:55
题目:地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子? 思路: 从起始点开始走,通过DFS走到所有能走的地方 走过的地方要标记为1,不能走的标记为0 启发或者坑: dfs之后是否要返回到初始状态,这个题目是不用的*-* 代码: class Solution { public: int rowsV; int colsV; vector<vector<int>> mark; int k; int nums; int movingCount(int threshold, int rows, int cols) { rowsV = rows; colsV = cols; for (int i = 0; i < rows; i++) { vector<int> onerow; for (int j = 0; j < cols; j++) { onerow.push_back(-1); } mark.push_back(onerow); } k = threshold; nums = 0; dfs(0

机器人ROS系统学习随笔->8《ROS机器人系统设之ROS2.0》

倖福魔咒の 提交于 2020-01-28 21:11:58
为什么要有ROS2—ROS1是什么 ROS1的局限 ROS1的困境 ROS2的曙光 ROS2的版本进化 ROS2是什么 ROS2的目标 ROS2的架构 DDS是什么 ROS1的通信模型 ROS2的通信模型 ROS2的质量服务原则QoS ROS2的编译系统 如何安装ROS2 最新的ros2安装: https://index.ros.org/doc/ros2/Installation/#installationguide 。根据指示安装,推荐Debian安装。支持官网同步更新。 可以在ros2官网上找。 ROS2安装功能包 ROS2结构目录 我安了最新的eloquent版本 ROS2 帮助信息 添加ros2路径:source /opt/ros/eloquent/setup.bash 会出现警告:说是当前目录是ros1的。忽略就行。 命令行工具 ROS2运行talker与listener ROS2更新较快: https://index.ros.org/doc/ros2/ 有详细教程 ROS2与ROS1的集成 课程总结与展望 来源: https://www.cnblogs.com/vcan123/p/12238781.html

1067: 蠢蠢机器人I

拈花ヽ惹草 提交于 2020-01-28 07:08:13
题目描述 数轴原点有一个蠢蠢机器人。该机器人将执行一系列指令,你的任务是预测所有指令执行完毕之后它的位置。 ·LEFT:往左移动一个单位 ·RIGHT: 往右移动一个单位 ·SAME AS i: 和第i 条执行相同的动作。输入保证i 是一个正整数,且不超过之前执行指令数 输入 输入第一行为数据组数T (T<=100)。每组数据第一行为整数n (1<=n<=100),即指令条数。以下每行一条指令。指令按照输入顺序编号为1~n。 输出 对于每组数据,输出机器人的最终位置。每处理完一组数据,机器人应复位到数轴原点。 样例输入 2 3 LEFT RIGHT SAME AS 2 5 LEFT SAME AS 1 SAME AS 2 SAME AS 1 SAME AS 4 样例输出 1 -5 【思路】按scanf读入,以空格分割,找到SAME继续读,最后一个用int变量存储即可 #include<iostream> #include<cstring> #include<string> using namespace std; int main(void) { int n,m; //读入组数 cin>>n; string str; int path[100]; for(int i=1;i<=n;i++){ //读入每组的步数 cin>>m; //重置存放方向 memset(path,0

机器人课程

情到浓时终转凉″ 提交于 2020-01-28 04:49:41
https://www.coursera.org/learn/modernrobotics-course1 来源: CSDN 作者: qq_34801230 链接: https://blog.csdn.net/qq_34801230/article/details/103909719