By Shlw
【T1】质数
题面描述:
定义质数为因数只含1和其本身的数,对于N组询问,试判断每个数是否为素数。
输入格式:
第一行一个正整数N,表示有N组询问。
接下来N行,每行一个正整数M,表示询问M是否为质数。
输出格式:
输出N行,每行一个字符串。
若是质数则输出‘Prime’,若不是质数则输出‘Not prime’。
样例输入:
5
2
10
89807289
9032482948
1000000007
样例输出:
Prime
Not prime
Not prime
Not prime
Prime
样例解释:
10=2*5
89807289=3 * 11 * 11 * 13 * 19031
9032482948=2 * 2 * 439 * 5143783
数据范围:
20%的数据满足N≤100,1<M≤800,000。
50%的数据满足N≤1,000,1<M≤100,000,000。
100%的数据满足N≤1,000,1<M≤1,000,000,000,000。
【T2】平方和
题面描述:
给出一个N个整数构成的序列,有M次操作,每次操作有一下三种:
①Insert Y X,在序列的第Y个数之前插入一个数X;
②Add L R X,对序列中第L个数到第R个数,每个数都加上X;
③Query L R,询问序列中第L个数到第R个数的平方和。
输入格式:
第一行一个正整数N,表示初始序列长度。
第二行N个整数Ai,表示初始序列中的数。
第三行一个正整数M,表示操作数。
接下来M行,每行一种操作。
输出格式:
对于每一个Query操作输出答案。由于答案可能很大,请mod 7459后输出。
样例输入:
5
1 2 3 4 5
5
Query 1 3
Insert 2 5
Query 2 4
Add 5 6 7
Query 1 6
样例输出:
14
38
304
样例解释:
第二次操作后的序列:1,5,2,3,4,5。
第四次操作后的序列:1,5,2,3,11,12。
数据范围:
30%的数据满足N≤1,000,M≤1,000。
另外20%的数据满足N≤100,000,M≤100,000,且不存在Insert操作。
100%的数据满足N≤100,000,M≤100,000,且Add和Insert操作中|X|≤1000,|Ai|≤1000。
【T3】三色树
题面描述:
给出一个N个节点的无根树,每条边有非负边权,每个节点有三种颜色:黑,白,灰。
一个合法的无根树满足:树中不含有黑色结点或者含有至多一个白色节点。
现在希望你通过割掉几条树边,使得形成的若干树合法,并最小化割去树边权值的和。
输入格式:
第一行一个正整数N,表示树的节点个数。
第二行N个整数Ai,表示i号节点的颜色,0 表示黑色,1表示白色,2表示灰色。
接下来N-1行每行三个整数Xi Yi Zi,表示一条连接Xi和Yi权为Zi的边。
输出格式:
输出一个整数表示其最小代价。
样例输入:
5
0 1 1 1 0
1 2 5
1 3 3
5 2 5
2 4 16
样例输出:
10
样例解释:
花费10的代价删去边(1, 2)和边(2, 5)。
数据范围:
20%的数据满足N≤10。
另外30%的数据满足N≤100,000,且保证树是一条链。
100%的数据满足N≤300,000,0≤Zi≤1,000,000,000,Ai∈{0,1,2}。