0%

给定n个询问,需要输出[L,R]范围内每个数的因子个数之和。

输入描述:

第一行一个整数n,表示询问数量。
接下来n行,每行两个整数L和R。

输出描述:

对于每个询问,输出相应的结果。

Read more »

有一个体积为V的背包,有m种物品,每种物品有体积和价值,且数量一定。求背包能装下的最大价值。

输入描述:

第一行两个整数V和m。
接下来m行,每行3个整数,表示第i种物品的数量、体积和价值。
V<=10^4, m<=500,个数、体积、价值不超过1000。

输出描述:

输出一个整数,表示背包能装下的最大价值。

Read more »

在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士, 且有一个空位。在任何时候一个骑士都能按照骑
士的走法(它可以走到和它横坐标相差为1,纵坐标相差为2或者横坐标相差为2,纵坐标相差为1的格子)移动到空
位上。 给定一个初始的棋盘,怎样才能经过移动变成如下目标棋盘: 为了体现出骑士精神,他们必须以最少的步
数完成任务。

输入描述:

第一行有一个正整数T(),表示一共有N组数据。接下来有T个5×5的矩阵,0表示白色骑士,1表示黑色骑
士,*表示空位。两组数据之间没有空行。

输出描述:

对于每组数据都输出一行。如果能在15步以内(包括15步)到达目标状态,则输出步数,否则输出-1。

Read more »

八数码问题,就是在一个含有1-8和x的3*3方格中,每次可以将x与其相邻位置的数字交换。使得最后变成

1 2 3
4 5 6
7 8 x

你要做的就是实现八数码的解决方案,并要求交换次数最少

输入描述:

输入一个3*3的矩阵,包含1-8和x。

输出描述:

输出需要移动的步数
如果不可能实现,输出-1。

Read more »

给定n个男生和m个女生,坐过山车。过山车每排只有两个位置,且只能是一男一女。已经一些想坐在一起的意愿。
求最多可以坐多少排?

输入描述:

输入数据的第一行是三个整数K , M , N,分别表示可能的组合数目,女生的人数,男生的人数。K<=1000。
N, M<=500.接下来的K行,每行有两个数,分别表示女生A_i愿意和男生B_j坐一起。最后一个0结束输入。

输出描述:

对于每组数据,输出一个整数,表示可以坐上过山车的最多组合数。

Read more »

龙龙得知2020年中国将有2000万至4000万男人娶不到老婆后。他打算好好调查一下是不是人们的感情出现问题。他对n个人进行调查,得到m条信息,每条信息表示为某两人曾经是情侣。由于他不知道这些人的性别,请你帮他判断一下,有没有同性是情侣的情况?

输入描述:

第一行两个整数n和m。
接下来m行,每行两个整数a和b,表示编号为a的人和编号为b的人,曾经是情侣,a≠b。
对于100%的数据,n的范围[2,100000],m的范围[0,100000]。

输出描述:

如果一切正常输出:it’s your own problem
如果出现同性是情侣的情况输出:there are must be something wrong

Read more »

Farmer John已经决定把水灌到他的n(1≤n≤300)块农田,农田被数字1到n标记。把一块土地进行灌水有两种方法,从其他农田饮水,或者这块土地建造水库。 建造一个水库需要花费wi(1≤wi≤105),连接两块土地需要花费pij。 计算Farmer John所需的最少代价。
输入描述:

第一行:一个数n。

第二行到第n+1行:第i+1行含有一个数wi。

第n+2行到第2∗n+1行:第n+1+i行有n个被空格分开的数,第j个数代表pij。

输出描述:

一个单独的数代表最小代价.

Read more »

年轻的探险家来到了一个印第安部落里。在那里他和酋长的女儿相爱了,于是便向酋长去求亲。酋长要他用10000个金币作为聘礼才答应把女儿嫁给他。探险家拿不出这么多金币,便请求酋长降低要求。酋长说:”嗯,如果你能够替我弄到大祭司的皮袄,我可以只要8000金币。如果你能够弄来他的水晶球,那么只要5000金币就行了。”探险家就跑到大祭司那里,向他要求皮袄或水晶球,大祭司要他用金币来换,或者替他弄来其他的东西,他可以降低价格。探险家于是又跑到其他地方,其他人也提出了类似的要求,或者直接用金币换,或者找到其他东西就可以降低价格。不过探险家没必要用多样东西去换一样东西,因为不会得到更低的价格。探险家现在很需要你的帮忙,让他用最少的金币娶到自己的心上人。另外他要告诉你的是,在这个部落里,等级观念十分森严。地位差距超过一定限制的两个人之间不会进行任何形式的直接接触,包括交易。他是一个外来人,所以可以不受这些限制。但是如果他和某个地位较低的人进行了交易,地位较高的的人不会再和他交易,他们认为这样等于是间接接触,反过来也一样。因此你需要在考虑所有的情况以后给他提供一个最好的方案。
为了方便起见,我们把所有的物品从1开始进行编号,酋长的允诺也看作一个物品,并且编号总是1。每个物品都有对应的价格P,主人的地位等级L,以及一系列的替代品Ti和该替代品所对应的”优惠”Vi。如果两人地位等级差距超过了M,就不能”间接交易”。你必须根据这些数据来计算出探险家最少需要多少金币才能娶到酋长的女儿。

输入描述:

输入第一行是两个整数M,N,依次表示地位等级差距限制和物品的总数。接下来按照编号从小到大依次给出了N个物品的描述。每个物品的描述开头是三个非负整数P、L、X(X < N),依次表示该物品的价格、主人的地位等级和替代品总数。接下来X行每行包括两个整数T和V,分别表示替代品的编号和”优惠价格”。对于100%的数据,N∈[1,100],M∈[1,100].

输出描述:

输出最少需要的金币数。

Read more »

两次dfs, 第一次求出son[x], 即重儿子的编号; 第二次求出top[x], 即x所在重链的根
结论, 每个点最多跳logn条重链,就可以到达树的根

用树链剖分可以求LCA

输入描述:

n代表点的个数
n-1条边

输出描述:

i, son[i], top[i]

Read more »