[翻译]ACMer 2013 Daily Training- 9th Mar for 11x&&12x

本文介绍了一系列有趣的数学游戏和算法挑战,包括构造算术表达式达到目标数、寻找勾股数对、猜数字游戏、确定最大三角形区域、判断树路径总和、优化矩阵乘法顺序、安排工作减少罚款以及通过数字序列推断密码。

[A] Game Show Math

在英国有一个数学游戏,给参赛者一些正整数和一个目标数,参赛者必须在这些正整数间插入+、-、*或/ 的符号,使得最后计算的结果等于目标数。计算的方式是由左到右,而且不必管运算的优先顺序(就是不管先乘除后加减那一套)。

在这个数学运算式中,有三个限制:

  • 正整数出现的次序不可改变,也就是要与输入的顺序相同
  • 因为目标数也是一个正整数,所以在运算的过程中,你只有在可以整除的情况下才可以使用/ 。
  • 在运算的过程中,如果你用某一​​个运算符号,会导致产生的数超出(-32000 ~ +32000)的范围,那么你不可以采用此运算符号。(也就是说在运算的过程中都不该有超出范围的数出现)

Input

第一列有1个整数n,代表接下来有多少组测试资料。

每组测试资料一列。每列的第一个整数p(0 < p <= 100),代表要做运算的数有多少个。接下来有p个正整数,每列的最后一个数为目标数。所有的数都小于32000。

请参考Sample Input。

Output

每列测试资料输出一列运算式,使得输入的p个正整数运算的结果等于目标数。如果找不到这样的运算式,请输出"NO EXPRESSION"。如果有多组运算式可以达成任务,请输出任何一组均可。

请参考Sample Output。

Sample Input

3
3 5 7 4 3
2 1 1 2000
5 12 2 5 1 2 4

Sample Output

5+7/4=3 
NO EXPRESSION
12-2/5*1*2=4

[B] Fermat vs. Pythagoras

著名的费马大定理是指:当n>2时,x n +y n =z n 无整数解,这边我们要处理的问题跟费马大定理有点关系。 给你一个正整数N,你的任务是算出两个与方程式x 2 +y 2 =z 2的解相关的数字。( 0 < x < y < z <= N ) 第一个数字是互质的数对(triples) (x,y,z)数目。互质是指x、y、z没有大于1的公因数。第二个数字p是在小于等于N的数字内不属于任何数对(x,y,z)的正整数总数,这边x、y、z不需要互质。 例如,N=10,可找到一组互质数对(3,4,5)及一组不互质的数对(6,8,10), 1、2、7、9共4个数字没用到。所以N=10要输出1与4。





Input

输入含有多组测试资料,每组测试资料一列,有一个正整数N (1 <= N <= 1000000)

Output

输出一列,含两个整数,如题目所述,数字中间以一个空白字元分隔。

Sample InputSample Output
10
25
100
500
1000000
1 4
4 9
16 27
80 107
159139 133926

Translated by Latinboy

[C] Master-Mind Hints

Master-Mind是一种2个人的游戏。其实就是学生常玩的几A几B的游戏(规则或许有些许不同)。其中一个人担任出题者,他选一串1到9数字当作密码(可以重复)。另一个人为解题者,他要去猜密码为何。解题者每次猜测后,出题者以某种格式回答他这次猜的结果。

在游戏开始之前,双方先协议密码的长度,假设是n。在出题者设定密码(s 1 ,s 2 ,...s n)后,由解题者来猜(g 1 ,g 2 ,...g n)。如果同样位置g i =s i,那解题者得到一个A。如果gi =s j,但i不等于j,那解题者得到一个B。请注意:不管是得A或得B,每个g i最多只能对应到一个s j,而且得A比得B优先。举例说明:密码为1 2 3 4,若猜题者猜1 1 5 6,那出题者应该回答1A0B,而不是0A1B。

如果某个猜测得到nA0B,那就代表猜题者完全猜中密码了。

Input

输入含有多组测试资料。每组测试资料的第一列含有1个正整数N(N <= 1000),代表密码的长度。第二列有N个1到9的数字,代表密码。接下来有数量不等的猜测,每个一列,亦含有N个1到9的数字。若此猜测的N个数字均为0,代表此组测试资料结束。

N=0代表整个输入结束。请参考Sample Input。

Output

对每一组测试资料,输出这是第几组。然后输出出题者回答猜题者各个猜测的结果是几A几B,以(A,B)的形式表示。请参考Sample Output。

Sample Input

4
1 3 5 5
1 1 2 3
4 3 3 5
6 5 5 1
6 1 3 5
1 3 5 5
0 0 0 0
10
1 2 2 2 4 5 6 6 6 9
1 2 3 4 5 6 7 8 9 1
1 1 2 2 3 3 4 4 5 5
1 2 1 3 1 5 1 6 1 9
1 2 2 5 5 5 6 6 6 7
0 0 0 0 0 0 0 0 0 0
0

Sample Output

Game 1:
    (1,1)
    (2,0)
    (1,2)
    (1,2)
    (4,0)
Game 2:
    (2,4)
    (3,2)
    (5,0)
    (7,0)

[D] Myacm Triangles

在古代的Myacm文化中,考古学家发现存在有一些柱子(从4到15根),这些柱子形成的区域称为力场。然而,大部分的古文物都被发现存在于一种power triangle中,也就是位于3根柱子形成的区域,并且在这个区域中(包括边线)没有任何其他的柱子存在,而且这块区域的面积是所有符合前面条件的区域中最大的一块。每一个力场只会有一个power triangle。

现在你的任务就是给你这些柱子的座标资料,要请你帮助考古学家们找到power triangle。

给你一个很有用的公式: ( 1 , 1 ), ( 2 , 2 ), ( 3 , 3 )此3个点所形成的面积为以下式子的绝对值。

0.5 × [( 1 )( 1 ) - ( 1 )( 1 )]

Input

每组测试资料的第1列有1个整数n(4 <= n <= 15),代表此力场中柱子的数目。接下来的n列每列有柱子的编号及座标。柱子的编号从A开始,所有的座标值均是介于0~99的整数。n=0时代表输入结束。最上方的图形即为Sample Input的第1组测试资料。

Output

对每组测试资料请输出形成power triangle的3根柱子的编号,按编号有小到大。

Sample Input

6
A 1 0
B 4 0
C 0 3
D 1 3
E 4 4
F 0 6
4
A 0 0
B 1 0
C 99 0
D 99 99
0

Sample Output

BEF
BCD

[E] Tree Summing

LISP是最早的高阶程式语言之一,而Lists则是LISP中最重要的资料结构。Lists可以很简单的用来表达其他的资料结构,例如:tree。在这个问题中,给你LISP中的S表示式(S-expression),请你写一个程式判断这表示式(整数的二元树)是否存在一条由根节点到树叶的路径,且路径上各节点的值的和为某一特定的数n。例如:在以下的树中共有4条从根到树叶的路径。而各路径的和分别为27,22,26以及18。

在LISP中的S表示式有以下的格式:

empty tree ::= ()
tree ::= empty tree | (integer tree tree)

上图中的树若以S表示式表达为:(5 (4 (11 (7 () ()) (2 () ()) ) ()) (8 (13 () ()) (4 () (1 () ()) ) ) )

注意:在树中所有的叶节点为(integer () () )

既然空树不存在任何根到叶的路径,任何对空树是否有某个和的询问,其答案都是否定的。

Input

输入含有多组测试资料。每组测试资料的开头有一个整数n。接下来为一S表示式。所有的S表示式一定是合法的,但是可能会跨多列,并且可能含有空白字元。请参考Sample Input。

Output

对每一组测试资料输出一列。如果S表示式所表达的树存在一条由根到叶的路径,且路径上节点值的和为n的话,则输出yes,否则输出no。

Sample Input

22 (5(4(11(7()())(2()()))()) (8(13()())(4()(1()()))))
20 (5(4(11(7()())(2()()))()) (8(13()())(4()(1()()))))
10 (3 
     (2 (4 () () )
        (8 () () ) )
     (1 (6 () () )
        (4 () () ) ) )
5 ()

Sample Output

yes
no
yes
no

[F] Matrix Chain Multiplication

假设你必须做A*B*C*D*E的运算,在这里A,B,C,D,E都是矩阵(matrix)。由于矩阵相乘具有连结性(associative),所以相乘的顺序可以是任意的。然而所需要的基本乘法数却与不尽相同。

例如:A是个50*10的矩阵,B是个10*20的矩阵,C是个20*5的矩阵。那么就有2种不同的表示式来求出A*B*C。分别是(A*B)*C和A*(B*C)。而其所需用到的基本乘法数前者为15000次,后者为3500次。

给你某一种矩阵相乘的表示式,你的任务是写一个程式算出需要多少个基本乘法。

Input

输入分为2部分。第一部份为矩阵的资料,第二部分为矩阵相乘的表示式。

第一列有一个整数n(1<= n <= 26),代表在输入的第一部份有多少个矩阵。接下来的n列每列为一矩阵的资料。内容为1个大写英文字母及2个整数,分别代表矩阵的名字,栏数(rows)及列数(columns)。

输入的第二部分每列为一测试资料,内容为矩阵相乘的表示式。表示式严格的遵守以下的语法(以EBNF的形​​式)

SecondPart = Line { Line } <EOF>
Line = Expression <CR>
Expression = Matrix | "(" Expression Expression ")"
Matrix = "A" | "B" | "C" | ... | "X" | "Y" | "Z"

请参考Sample Input。

Output

对输入第二部分的每组测试资料输出一列。如果该表示式为不合法的矩阵相乘,则输出error。否则请输出此表示式所需的乘法次数。请参考Sample Output。

Sample Input

9
A 50 10
B 10 20
C 20 5
D 30 35
E 35 15
F 15 5
G 5 10
H 10 20
I 20 25
A
B
C
(AA)
(AB)
(AC)
(A(BC))
((AB)C)
(((((DE)F)G)H)I)
(D(E(F(G(HI)))))
((D(EF))((GH)I))

Sample Output

0
0
0
error
10000
error
3500
15000
40500
47500
15125

[G] Shoemaker's Problem

鞋匠有N件工作要完成。他每天只能做一件工作。并且他知道这些工作分别要几个工作天才能完成。另外,他也知道每个工作被延误一天所需被罚的罚金。延误的天数为从今天算起到该工作开始的那天(所以只有第一件工作没有罚金)。

以第一组测试资料为例说明:若工作的顺序是1 2 3 4,那罚金为:0*4+1000*3+4*2+6*5=3038。若工作的顺序是2 1 3 4,则罚金为:0*1000+1*4+4*2+6*5=42。所以第二种工作顺序的罚金较少(事实上也是最少)。

你的任务是写一个程式帮助鞋匠找出完成这N个工作的先后顺序,使得罚金最少。

Input

输入的第一列有一个整数代表以下有几组测试资料。

每组测试资料的第一列,含有一个整数N(1 <= N <=1000),代表鞋匠需完成的工作数。接下来的N列每列有2个整数,分别代表该工作完成所需的天数以及延迟一天的罚金多少(均大于等于1,小于等于1000)。

第一列和第一组测试资料间,以及各组测试资料间均有一空白列。请参考Sample Inout。

Output

对每组测试资料输出一列,为这N个工作的顺序使得罚金最少。工作之间以一空白字元分隔。如果有不只一组答案,请输出字典顺序最小的那组。

各组测试资料间亦请输出一空白列。请参考Sample Outout。

Sample InputSample Output

2 4 3 4 1 1000 2 2 5 5 5 3 4 1 1000 8 8 2 2 5 6 












2 1 3 4 2 1 5 3 4


[H] A min-summer night's dream

现在是西元2200年, 在这200 年间,科学已经向前迈进许多。提到200年,是因为这个问题已经藉由时光机回到西元2000年。在西元2200年时直接把人和电脑处理器连接的科技是办得到的。人们可以在3D 显示器(就是现在的萤幕)上看到他人的梦,就好像在看一部电影。问题是, 这个世纪的人们太依赖电脑了,于是人们分析的能力渐趋于0。现在的电脑可以自动地读进问题,并进一步地解决它。但是电脑只能解决难的问题,目前并没有简单的问题。

我们的科学领导人遇到一个很大的问题,他忘掉了他的密码锁的号码,基于安全性考量,目前的电脑无法解决密码锁的问题。在一个仲夏夜里,科学家做了一个梦,梦里他看到许多数字飞来飞去。他把这些数字纪录在电脑上。接着他想到有一个线索,假如数字列为(X 1 , X 2 , … , X n)他必须找到一个整数A(A就是他密码锁的密码)使得( |X 1 -A| + |X 2 -A| + … … + |X n -A|)为最小。

Input

输入包含多组测试资料。每一组测试资料以一个数字n(0 < n <= 1000000)开始,n 代表在梦中他看到的数字个数​​。接下来为这n 个数字, 这些数字都大于等于0,小于65536。

Output

对每一组测试资料输出一列。这一列有3个数字。第一个数字为A最小的可能值为多少。第二个数字为输入中有多少个数字和A 有相同的性质(就是能满足上述的条件者)。第三个数字为A可能有多少种可能的不同值(这些不同的数字不必印出来)。这三个数字中间以一个空白来分隔。

Sample InputSample Output
2
10
10
4
1
2
2
4
6 
100 
2 
3 
8 
1 
9000 
4 
2 
2 
5 
10 
10 2 1
2 2 1
3 2 6
2 3 4
















Translated by Tino


内容概要:本文详细介绍了一种基于Simulink的表贴式永磁同步电机(SPMSM)有限控制集模型预测电流控制(FCS-MPCC)仿真系统。通过构建PMSM数学模型、坐标变换、MPC控制器、SVPWM调制等模块,实现了对电机定子电流的高精度跟踪控制,具备快速动态响应和低稳态误差的特点。文中提供了完整的仿真建模步骤、关键参数设置、核心MATLAB函数代码及仿真结果分析,涵盖转速、电流、转矩和三相电流波形,验证了MPC控制策略在动态性能、稳态精度和抗负载扰动方面的优越性,并提出了参数自整定、加权代价函数、模型预测转矩控制和弱磁扩速等优化方向。; 适合人群:自动化、电气工程及其相关专业本科生、研究生,以及从事电机控制算法研究与仿真的工程技术人员;具备一定的电机原理、自动控制理论和Simulink仿真基础者更佳; 使用场景及目标:①用于永磁同步电机模型预测控制的教学演示、课程设计或毕业设计项目;②作为电机先进控制算法(如MPC、MPTC)的仿真验证平台;③支撑科研中对控制性能优化(如动态响应、抗干扰能力)的研究需求; 阅读建议:建议读者结合Simulink环境动手搭建模型,深入理解各模块间的信号流向与控制逻辑,重点掌握预测模型构建、代价函数设计与开关状态选择机制,并可通过修改电机参数或控制策略进行拓展实验,以增强实践与创新能力。
根据原作 https://pan.quark.cn/s/23d6270309e5 的源码改编 湖北省黄石市2021年中考数学试卷所包含的知识点广泛涉及了中学数学的基础领域,涵盖了实数、科学记数法、分式方程、几何体的三视图、立体几何、概率统计以及代数方程等多个方面。 接下来将对每道试题所关联的知识点进行深入剖析:1. 实数与倒数的定义:该题目旨在检验学生对倒数概念的掌握程度,即一个数a的倒数表达为1/a,因此-7的倒数可表示为-1/7。 2. 科学记数法的运用:科学记数法是一种表示极大或极小数字的方法,其形式为a×10^n,其中1≤|a|<10,n为整数。 此题要求学生运用科学记数法表示一个天文单位的距离,将1.4960亿千米转换为1.4960×10^8千米。 3. 分式方程的求解方法:考察学生解决包含分母的方程的能力,题目要求找出满足方程3/(2x-1)=1的x值,需通过消除分母的方式转化为整式方程进行解答。 4. 三视图的辨认:该题目测试学生对于几何体三视图(主视图、左视图、俯视图)的认识,需要识别出具有两个相同视图而另一个不同的几何体。 5. 立体几何与表面积的计算:题目要求学生计算由直角三角形旋转形成的圆锥的表面积,要求学生对圆锥的底面积和侧面积公式有所了解并加以运用。 6. 统计学的基础概念:题目涉及众数、平均数、极差和中位数的定义,要求学生根据提供的数据信息选择恰当的统计量。 7. 方程的整数解求解:考察学生在实际问题中进行数学建模的能力,通过建立方程来计算在特定条件下帐篷的搭建方案数量。 8. 三角学的实际应用:题目通过在直角三角形中运用三角函数来求解特定线段的长度。 利用正弦定理求解AD的长度是解答该问题的关键。 9. 几何变换的应用:题目要求学生运用三角板的旋转来求解特定点的...
Python基于改进粒子群IPSO与LSTM的短期电力负荷预测研究内容概要:本文围绕“Python基于改进粒子群IPSO与LSTM的短期电力负荷预测研究”展开,提出了一种结合改进粒子群优化算法(IPSO)与长短期记忆网络(LSTM)的混合预测模型。通过IPSO算法优化LSTM网络的关键参数(如学习率、隐层节点数等),有效提升了模型在短期电力负荷预测中的精度与收敛速度。文中详细阐述了IPSO算法的改进策略(如引入自适应惯性权重、变异机制等),增强了全局搜索能力与避免早熟收敛,并利用实际电力负荷数据进行实验验证,结果表明该IPSO-LSTM模型相较于传统LSTM、PSO-LSTM等方法在预测准确性(如MAE、RMSE指标)方面表现更优。研究为电力系统调度、能源管理提供了高精度的负荷预测技术支持。; 适合人群:具备一定Python编程基础、熟悉基本机器学习算法的高校研究生、科研人员及电力系统相关领域的技术人员,尤其适合从事负荷预测、智能优化算法应用研究的专业人士。; 使用场景及目标:①应用于短期电力负荷预测,提升电网调度的精确性与稳定性;②为优化算法(如粒子群算法)与深度学习模型(如LSTM)的融合应用提供实践案例;③可用于学术研究、毕业论文复现或电力企业智能化改造的技术参考。; 阅读建议:建议读者结合文中提到的IPSO与LSTM原理进行理论学习,重点关注参数优化机制的设计思路,并动手复现实验部分,通过对比不同模型的预测结果加深理解。同时可拓展尝试将该方法应用于其他时序预测场景。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值