T1 一个格的价
计算出购买的千克数 x1000\dfrac{x}{1000}1000x ,判断购买的是哪种皮皮虾,乘上对应的单价,最后保留两位小数输出即可。
时间复杂度:O(1)\text O(1)O(1)。
T2 一个戏的游
简单的模拟。
遍历 T1,T2,…,TnT_1,T_2,\dots,T_nT1 ,T2 ,…,Tn ,
* 若当前 TiT_iTi 为 111,则将 DUiD_{U_i}DUi 加上 SjS_jSj ;
* 若当前 TiT_iTi 为 222,则将 DUiD_{U_i}DUi 加上 DUi∗Sj100D_{U_i}*\dfrac{S_j}{100}DUi ∗100Sj 。
最后计算出 ⌊D1C1+D2C2+⋯+DnCn⌋\left\lfloor\dfrac{D_1}{C_1}+\dfrac{D_2}{C_2}+\cdots+\dfrac{D_n}{C_n}\right\rfloor⌊C1 D1 +C2 D2 +⋯+Cn Dn ⌋ 即可。
时间复杂度:O(m+n)\text O(m+n)O(m+n)。
T3 一个宫的迷
三维广搜板子题。
广搜算法详见 OI-Wiki。
先找到起点和终点,将起点加入队列并标记。
对于每一个在队首的位置,枚举其右、左、后、前、上、下六个方向。若新的位置在网格范围内、没有被标记、并且不为墙壁,就加入队尾,并标记。
直到队首为终点时,输出步数。
T4 一个法的书
相邻交换、从小到大排序,考虑逆序对。
我是蒟蒻,只会用归并排序。
令 bi=∣ai∣b_i=|a_i|bi =∣ai ∣。
可以证明,当 www 为奇数时,是否可能实现的结果与 a1,a2,…,ana_1,a_2,\dots,a_na1 ,a2 ,…,an 的结果相等;
当 www 为偶数时,是否可能实现的结果与 b1,b2,…,bnb_1,b_2,\dots,b_nb1 ,b2 ,…,bn 的结果相等。
令 xxx 为 a1,a2,…,ana_1,a_2,\dots,a_na1 ,a2 ,…,an 中逆序对的个数。
显然,需满足 k≥xk\ge xk≥x。
可以证明,对于所有 aia_iai 两两不同的情况,还需满足 2∣(k−x)2\mid (k-x)2∣(k−x) 才可能恰好进行 kkk 次操作。
同理,令 yyy 为 b1,b2,…,bnb_1,b_2,\dots,b_nb1 ,b2 ,…,bn 中逆序对的个数。
显然,需满足 k≥yk\ge yk≥y。
可以证明,对于所有 bib_ibi 两两不同的情况,还需满足 2∣(k−y)2\mid (k-y)2∣(k−y) 才可能恰好进行 kkk 次操作。
时间复杂度:O(nlogn+m)\text O(n\log n+m)O(nlogn+m)。