#P4893. GodFly的求导工具

GodFly的求导工具

Description

GodFly 为了证明自己的头铁,决定挑战一项任务:求一个具有大整数系数的 nn 次多项式函数的 kk 阶导。现在他希望聪明的你能够…静静地坐在那里看他求导。要知道,他可是能与神威-太湖之光匹敌的男人。

作为 GodFly 的朋友,xhx 希望你能帮他写一个程序,与 GodFly 一同计算导函数及导数。如果你的程序能跑过他的手算,xhx 会敲一下 GodFly 的铁头。

*关于导数的几个运算法则:

f(x)=axnf(x)=ax^n,则 f(x)=anxn1f'(x)=anx^{n-1}

F(x)=f(x)+g(x)F(x)=f(x)+g(x),则 F(x)=f(x)+g(x)F'(x)=f'(x)+g'(x)

其中 f(x),g(x),F(x)f'(x),g'(x),F'(x) 分别表示 f(x),g(x),F(x)f(x),g(x),F(x) 的导函数。

不要被导数吓到,本题考点不在此。

g(x)=ax3+bx2+cg(x)=ax^3+bx^2+c,则 g(x0)=ax03+bx02+cg(x_0)=ax_0^3+bx_0^2+c

kk 阶导即求 kk 次导数。

新样例:https://pan.baidu.com/s/1w64WmnnGtKyAluxrX3PkNg; 数据已更新。

Input Format

第一行,两个整数 n,kn,k,含义见题面;

接下来一行,一个字符串表示函数,为“f(x)=anxn+an1xn1+....+a0x0f(x)=a_{n}x^n+a_{n-1}x^{n-1}+....+a_0x^0”,其中对于任意 iiaixia_ix^i 的项可能不出现,也可能出现多次,且 aia_i 均为正整数,但系数为 11 的项不输入 aia_i,只输入 xix^i

接下来一行一个数 mm,表示询问个数;

接下来 mm 行,每行一个数 x0x_0,表示求 f(x)f(x)kk 阶导在 x0x_0 处的导数,换句话说,假设 g(x)g(x)f(x)f(x)kk 阶导函数,求 g(x0)g(x_0)

不存在多余空格及空行。

Output Format

mm 行,每行一个数表示所求的导数值。

3 2
f(x)=x^3+2x^2+x^1+x^0
2
0
1

4
10
100 80
f(x)=70109x^84+31190x^15+45313x^77+52808x^10+40146x^89+41024x^14+89576x^33+96906x^24+5709x^55+92657x^6+60729x^97+87451x^57+88440x^85+25928x^66+48048x^71+92676x^7+15167x^18+63997x^66+58477x^36+34120x^65+27725x^29+31391x^23+30665x^50+84699x^16+64456x^6+26791x^68+66327x^26+36721x^96+72893x^100+22073x^24+38681x^64+9925x^63+92854x^22+27301x^23+39910x^79+24609x^81+47423x^93+6710x^90+96661x^70+22479x^72+17422x^57+78832x^3+1010x^72+7876x^40+3790x^70+84553x^69+60952x^52+58198x^81+48082x^39+45635x^23+71833x^54+11456x^14+31619x^18+94591x^53+32180x^14+61596x^96+11236x^62+39754x^45+789x^39+96093x^91+13491x^17+38611x^18+7604x^34+23457x^9+84129x^48+50188x^59+59588x^87+99259x^52+94768x^57+17553x^65+38948x^66+34133x^76+61695x^54+41424x^14+23408x^23+1575x^65+98294x^21+82817x^4+41010x^11+75176x^88+82645x^70+81244x^48+12859x^71+71380x^8+90927x^10+73190x^23+55452x^34+67654x^57+48173x^22+22848x^53+22784x^16+96989x^75+74537x^9+80471x^13+63024x^85+38481x^62+20400x^61+3207x^9+89666x^11+99966x^44+49383x^11+57688x^20+43007x^85+21701x^55+18068x^71+14981x^52+8041x^42+70259x^33+63961x^82+70824x^18+96439x^1+6041x^43+50481x^5+78427x^29+64408x^32+48512x^37+99528x^36+63451x^55+33530x^41+11368x^3+44932x^84+99688x^33+2055x^49+60575x^52+2193x^49+65449x^19+6642x^84+64745x^55+40036x^81+86351x^4+36277x^48+34019x^91+63859x^81+24462x^8+46233x^8+64099x^78+15057x^38+56049x^92+54612x^9+86998x^7+15958x^54+5173x^48+27728x^96+90161x^99+59838x^71+56099x^55+95160x^2+66444x^89+54566x^96+63691x^24+64234x^46+25147x^86+24456x^29+3514x^68+94213x^96+32045x^89+14389x^23+89551x^20+5364x^92+37504x^73+84939x^11+75135x^90+43003x^58+89139x^69+57492x^19+81034x^84+84477x^85+58295x^2+13732x^54+38998x^27+41044x^8+36315x^35+36717x^63+23252x^35+71286x^21+89111x^23+46468x^33+69056x^74+68451x^20+70403x^92+68230x^10+99686x^89+40862x^15+81643x^4+35732x^4+46296x^52+27400x^12+73264x^68+60140x^32+7691x^88+68718x^56+89783x^94+82820x^17+54487x^25+38403x^38+14902x^20+62503x^30+22691x^19+22765x^53+38058x^89+56132x^8
10
68881
11082
81085
62791
24348
17842
4169
35352
5970
62884

16164240066651387562233717301528224969937465373558098015262037027386569033764424458589576758191332209048578992964215681542368338708891051016993923981103415501578871678233991105755103051233486979089239855976079907362208481280000000000000000000
2182415680199447981440641146519198659607077509954309166209248162324864452442827593289098825979096442606243478952222902205343921078278568113665227454286771491416704568924623072727112114731118574714432341934080000000000000000000
422062345638238714739738519709990563603589380455050149059126176370564404652221274586130148555137105128697765829042063701137700058889602612021604742696342353192426896358610967606518173419498516745741373670540528424373033369600000000000000000000
2538134110912799647825063614412363226524317612152769944265617771344449232998633322212149486534945299900387663134035580713149883409969837626763922106020781745065444506920047539106732462229963056457132916655382266009175982080000000000000000000
14991156446236176472502265880432966422015445276733818020404968064741525302926159825161216310702190973624698482701628021749937122966049505110718061754978132745243635634094880836725969058654388943804568845440390266880000000000000000000
29884196573248406556002162301876815395302859901002567421986254945117587639735221615275195608354283425713168881991894459281778355276041429272933416204370972475808889065607037634764929408175999307387754704567009280000000000000000000
7034423875123551962182784353450104496557971298184125552888776318750413078332260250166314564290913379761359968021613709898383403786934866343717269767517868839058663822072847509897027068564795985756160000000000000000000
25992477245017120878983780820866398302559273825548192272216377072453312969834218142751826473940478236447308492208306657193432677046691735517736829469276821419271533107875650191893196069260108040752114150874519416340480000000000000000000
9248461232577723346174268301761164329173345863690159750635506426262976168364385773072687017079604052061927750150164792050863501012462262384745784394685777588084492205111843685947224930396082214744883200000000000000000000
2614386253805989523417576022989825195115049811637606864181649322898595113377432131993964109861291017592215861090255200834838990231767641551915513875471667690003413999293225510105639008531615901769130992569786115253086453760000000000000000000

Hint

【数据范围】

对于 30%30\% 的数据,n5n\le5ai100,x0100a_i\le100,x_0\le100,且对于任意 0in0\le i\le naixia_ix^i 出现有且仅有一次,且保证数据以 ii 为关键字降序排列;

另有 10%10\% 的数据,k=0k=0

另有 10%10\% 的数据,k=1k=1

另有 10%10\% 的数据,n=kn=k

对于 100%100\% 的数据,n100n\le100knk\le nm10m\le10ai105a_i\le10^5x0105x_0\le10^5

【样例说明】

f(x)f(x) 求导,则一阶导 f(x)=3x2+4x+1f'(x)=3x^2+4x+1;求二阶导,即对 f(x)f'(x) 再求导,得 f(x)=6x+4f''(x)=6x+4;故所求 f(0)=60+4=4,f(1)=61+4=10f(0)=6*0+4=4,f(1)=6*1+4=10

【提示】

PS:担心大家抱怨代码量大(出题人懒),较原题简化了许多。

如果你提前 AK 了,不妨看看一段铁头娃之间的对决:

《冯所长三导导死郑拔蚌》

冯所长······扑的只一导,正导在分式上,导得郑蚌头晕眼花,参数歪在半边,却便似开了个初等函数表,平方,根号,对勾一发都导出来。郑铁头算不过来,那把答案也丢在一边,口里只叫:“导得好!”冯所长骂道:“铁头娃!还敢应口!”提起笔来就分子只一导,导得火星四溅,头破血流,也似开了个二项式定理,三次、四次、五次都绽将出来。 两边看的人惧怕冯所长,谁敢向前来劝。

郑蚌导不出,讨饶。冯所长喝道:“咄!你是个铁头娃!若只和俺分类讨论到底,洒家倒饶了你!你如今对俺讨饶,洒家偏要分离参数!”又只一导,新函数上正着,却似做了一个常用导数表,指数,对数,分子分母一齐响。所长看时,只见郑蚌倒在地上,口里只有出的气,没了入的气,动弹不得。

冯所长假意道:“你这厮诈死,洒家再导!”只见头渐渐的没了。所长寻思道:“俺只指望消费这厮一顿,不想三导真个导死了他。洒家须扣分,又没题做,不如及早撒开。”拔步便走,回头指着试卷道:“这废题,洒家跳过!”一头算,一头大踏步去了。