求最短距离 (distance) 【题目描述】
小雨家住在小区里,她今年上小学一年级。每天她都要走路去车站,然后坐车去上学。小区被道路分成许多正方形的块,共有 M*N 块。由于道路太多,她总是迷路。
作为程序高手,你帮小雨计算一下从她家到达车站的最短距离。注意,一般情况下,小区内的方块建有房屋,只能沿着附近的街道行走,有时方块表示公园,那么就可以沿对角线穿过。
【输入文件】distance.in
第一行是 M 和 N(0<N,M<=1000)。注意,小雨家的坐标在方块(1,1)的西南角,车站在方块(M,N)的东北角。每个方块边长 100 米。
接下来一行是整数 K(0<K<=1000),表示可以对角线穿过的方块数。然后有 K 行,每行是一个坐标。
【输出文件】distance.out
输出从小雨家到车站的最短距离,四舍五入到整数【样例输入】
3 2
3
1 1
3 2
1 2
【样例输出】
383
子树求和(lsum) 【题目描述】
对于一棵完全二叉树来说,结点 i 的左儿子的编号是 2*i,右儿子的编号是2*i+1。
而在本题的完全二叉树中,每个结点都有对应的权值。题目有 q 个询问,每个询问都希望你回答对于以结点 Qi 作为根节点的子树内所有结点的权值之和。
【输入文件】lsum.in
输入第一行一个整数 N。第二行输入 N 个整数 ai表示编号 i 的结点所包含的权值。
第三行一个整数 q,表示将会有 q 个询问,第四行输入 q 个整数 Qi表示询问编号 Qi 为根节点的子树的结点权值之和。
【输出文件】lsum.out
输出对于每一个询问 Qi,各输出一行一个整数表示答案。
【样例输入】
7
1 1 1 1 1 1 1
3
2 7 1
【样例输出】
3
1
7
【数据范围】
对于 30%的数据,1<=N<=100;
对于 100%的数据,1<=N<=1000000,1<=q<=1000000,数据保证在 int 范围内
RT
请问这两题在洛谷里有没有原题(想刷点经验)