P1259-黑白棋子的移动
题目描述
有 2n个棋子排成一行,开始为位置白子全部在左边,黑子全部在右边,如下图为 n=5 的情况:
○○○○○●●●●●
移动棋子的规则是:每次必须同时移动相邻的两个棋子,颜色不限,可以左移也可以右移到空位上去,但不能调换两个棋子的左右位置。每次移动必须跳过若干个棋子(不能平移),要求最后能移成黑白相间的一行棋子。如 n=5 时,成为:
○●○●○●○●○●
任务:编程打印出移动过程。
输入格式
一个整数 n。
输出格式
若干行,表示初始状态和每次移动的状态,用"o"表示白子,"*“表示黑子,”-"表示空行。
题目分析
当n = 4 时
初始时,○○○○●●●●
○○○— —●●●○●
○○○●○●●— —●
○— —●○●●○○●
○●○●○●— —○●
— —○●○●○●○●
当n = 5 时,
初始时,○○○○○●●●●●
○○○○— —●●●●○●
○○○○●●●●— —○●
可以看出当n=5时,在第二步结束后,问题就变成了n=4时的场景,故本题可使用分治法,通过将规模为n的问题分解为规模为n-1的原问题和另一个 ...
P1258-小车问题
题目描述
甲、乙两人同时从 A 地出发要尽快同时赶到 B 地。出发时 A 地有一辆小车,可是这辆小车除了驾驶员外只能带一人。已知甲、乙两人的步行速度一样,且小于车的速度。问:怎样利用小车才能使两人尽快同时到达。
输入格式
仅一行,三个实数,分别表示 A,B 两地的距离 sss,人的步行速度 aaa,车的速度 bbb。
输出格式
两人同时到达 B 地需要的最短时间,保留 6 位小数。
说明/提示
数据规模与约定
对于 100100%100 的数据,保证 0≤s,a,b≤1090 \leq s, a, b \leq 10^90≤s,a,b≤109。
题目分析
驾驶员先带甲走,同时乙也还在走,当驾驶员到达某个地方后把甲放下走路,返回在半路上遇到乙,然后再带乙行驶到终点,并且和甲同时到达终点。
设驾驶员先带甲行驶到距离起点xxx处,用时xb\frac{x}{b}bx,此时乙走到了xba\frac{x}{b}abxa处
接着小车返回,与乙在距离起点yyy处相遇,用时x−yb\frac{x-y}{b}bx−y,此时甲走到了x+x−ybax+\frac{x-y}{b}ax+bx−y ...
数学建模-寻找失事客机黑匣子(3)
问题描述
原问题参见博客一
考虑洋流流动对黑匣子在水中沉降的影响,建立模型描述在有洋流流动的情况下黑匣子沉降轨迹,并求解出黑匣子沉入水下1000m,2000m和3000m时离落水点的方位。
模型建立与求解
由于本问题考虑到洋流对黑匣子沉降的影响,而考虑到飞机坠机的位置处在西澳大利亚寒流附近,根据查询资料可得,洋流方向大致为自南向北,且洋流流速为0.2到0.3m/s,这里我们取平均值0.25m/s。
回顾问题一,飞机落水点如下图所示,落水后本应该继续沿着原来速度继续在水中沉降,但问题三需要考虑洋流的影响,洋流方向自南向北
洋流方向自南向北,可以分解到黑匣子初速度的水平方向A上的洋流速度vA=0.25/2≈0.18m/sv_A=0.25/\sqrt2\approx0.18m/svA=0.25/2≈0.18m/s,初速度水平方向的垂直方向B上的洋流速度vB=0.25/2≈0.18m/sv_B=0.25/\sqrt2\approx0.18m/svB=0.25/2≈0.18m/s
A方向上的粘滞阻力
fA′′(i)=k2′vA′(i)2f_A'& ...
数学建模-寻找失事客机黑匣子(2)
问题描述
原问题请参考第一篇博客
假设黑匣子落水之后,不考虑洋流流动对黑匣子沉降过程的影响,建立模型描述黑匣子在水中沉降过程轨迹。如图1所示,假设黑匣子落水点所对应的海底位置为1,落水时沿着图1中指定的虚线方向沉海,给出黑匣子沉在海底的位置,并指出在图形中的哪个区域范围。
符号说明
模型建立与求解
问题二
模型分析
现今为了解决水上事故后定位打捞黑匣子困难以及陆地事故后黑匣子存活率达不到100%的难题,抛放式黑匣子应运而生。此类黑匣子可通过其坠毁感知传感器监控飞机事故时触地或坠海瞬间的特征参数异常变化,迅速控制其与机体抛放分离,原理与汽车在撞击瞬间释放安全气囊相似。黑匣子在事故瞬间离机后,如果落在陆地,可避免机体残骸的冲击和火烧等破坏。
所以我们假设黑匣子在飞机坠海瞬间即与飞机脱离,保持飞机坠海前瞬间的速度,水平速度约为171m/s171m/s171m/s,竖直速度约为156.35m/s156.35m/s156.35m/s且黑匣子与海面接触后瞬间速度不变。经资料查询假设,黑匣子质量m’=50kgm’=50kgm’=50kg ,尺寸为50cm×20cm×15c ...
数学建模-寻找失事客机黑匣子
问题描述
假设有一架飞机在高空中飞行时突然发生事故,此时飞行高度为10000米,飞行速度是800公里/小时,航向东北方向45°,飞机在地面的投影位置为南纬22.0度,东经88.0度。
请建立模型求解以下问题:
假定飞机在发生事故时突然失去动力,考虑飞机在降落过程中受到空气气流的影响,建立数学模型,描述飞机坠落轨迹并推测黑匣子的落水点。
假设黑匣子落水之后,不考虑洋流流动对黑匣子沉降过程的影响,建立模型描述黑匣子在水中沉降过程轨迹。如图1所示,假设黑匣子落水点所对应的海底位置为1,落水时沿着图1中指定的虚线方向沉海,给出黑匣子沉在海底的位置,并指出在图形中的哪个区域范围。
考虑洋流流动对黑匣子在水中沉降的影响,建立模型描述在有洋流流动的情况下黑匣子沉降轨迹,并求解出黑匣子沉入水下1000m,2000m和3000m时离落水点的方位。
模型假设
假设飞机在坠降过程中受飞行员控制机身总保持水平,且整个过程中未受到鸟类撞击等影响,飞机没有并发故障;
假设飞机坠降中机身温度不发生改变;
假设飞机在落到水面前保持机身完整,且接触水面瞬间解体,忽略解体时其他物体撞击或爆炸对黑匣子影响; ...
数学建模-线性规划-投资规划问题
题目
数学建模
符号规定
si表示第i种投资项目,i=0,1,2,..,ns_i表示第i种投资项目,i = 0,1,2,..,nsi表示第i种投资项目,i=0,1,2,..,n
ri表示si的平均收益率r_i表示s_i的平均收益率ri表示si的平均收益率
pi表示si的交易费率p_i表示s_i的交易费率pi表示si的交易费率
qi表示si的风险损失率q_i表示s_i的风险损失率qi表示si的风险损失率
ui表示交易定额,即si产品最少也要花ui元u_i表示交易定额,即s_i产品最少也要花u_i元ui表示交易定额,即si产品最少也要花ui元
xi表示投资项目si的资金x_i表示投资项目s_i的资金xi表示投资项目si的资金
a表示投资风险度,越小越好a表示投资风险度,越小越好a表示投资风险度,越小越好
Q表示总体收益,越大越好Q表示总体收益,越大越好Q表示总体收益,越大越好
模型假设
投资数额M相当大
投资越分散,总风险越小
总体风险用投资项目sis_isi中最大的风险度量
n+1n+1n+1种资产sis_isi相互独立
在投资 ...
数学建模-线性规划
问题描述
某机床厂生产甲、乙两种机床,每台销售后的利润分别为 4000 元与 3000 元。 生产甲机床需用 A、 B机器加工,加工时间分别为每台 2 小时和 1 小时;生产乙机床需用A 、B、C三种机器加工,加工时间为每台各一小时。若每天可用于加工的机器时数分别为 A机器 10 小时、B 机器 8 小时和C 机器 7 小时。问该厂应生产甲、乙机床各几台,才能使总利润最大?
数学建模
设该厂生产x1x_1x1台甲机床,生产x2x_2x2台乙机床,获得总利润zzz,
生产甲机床需要使用A机器2x12x_12x1小时,生产乙机床需要使用A机器x2x_2x2小时,每天A机器使用时长不得超过10小时,故得到约束条件2x1+x2≤102x_1+x_2 \leq 102x1+x2≤10
生产甲机床需要使用B机器x1x_1x1小时,生产乙机床需要使用B机器x2x_2x2小时,每天B机器使用时长不得超过8小时,故得到约束条件x1+x2≤8x_1+x_2 \leq 8x1+x2≤8
生产甲机床不使用C机器,生产乙机床需要使用C机器x2x_2x2小时,每天C机器使用时长不 ...
hexo server遇到问题
之前更换系统后,博客一直就没有继续更新了,今日重新clone下来,顺利地yarn install之后,执行yarn server时发生错误
pandoc exited with code null.
问题描述
详细输出如下,
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253zzq@ThinkPad-zzq:~/code/repo/blog$ hexo serverINFO Validating configINFO ================================== ███╗ ██╗███████╗██╗ ██╗████████╗ ████╗ ██║██╔════╝╚██╗██╔╝╚══██╔══╝ ██╔██╗ ██║█████╗ ╚███╔╝ ██║ ██║╚██╗██║██╔══╝ ██╔██╗ ██║ ██║ ╚████║███████╗██╔╝ ██╗ ██║ ╚ ...
抽象工厂模式
抽象工厂模式案例解析
场景模拟
原本我的服务使用的是单机Redis,现在想要升级到Redis集群。
服务需要同时兼容不同种类的Redis集群,便于后期的灾备。
而不同Redis服务提供的接口各有不同,需要手动做适配抽象出来。
不能影响到目前正常运行的系统。
模拟单机Redis
12345678910111213141516171819202122232425262728293031323334package cn.zzq.redis;import cn.zzq.util.Logger;import java.util.Map;import java.util.concurrent.ConcurrentHashMap;import java.util.concurrent.TimeUnit;/** * 本类模拟了Redis单机服务,仅供模拟Redis使用 */public class RedisUtils { private final Logger logger = new Logger(RedisUtils.class); private final Ma ...
Hibernate的基本使用
Hibernate 的基本使用
数据表定义如下:
12345create table employee( employee_id integer, name text, salary numeric,);
如下图,建立 Maven 项目工程
resources 资源文件夹下创建 hibernate.cfg.xml 的 Hibernate 配置文件
创建 Employee.hbm.xml 的 Hibernate 映射文件
创建 POJO 类 Employee 为 Employee.hbm.xml 的映射类
添加 Maven 依赖如下
12345678910111213141516<dependencies> <!-- hibernate--> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-agroal</artifactId> ...