期末小评http://class.51nod.com
A 逆序对个数1000
有一串数字,如果前面的数字比后面的数字大,那么就称这两个数为一对逆序对。
输入一个长度为n的数组,输出逆序对的个数。
也就是说问有多少对(i, j)满足1 <= i < j <= n,且a[i] > a[j]。
1 <= n <= 1000,1 <= a[i] <= 10^9
输入
第一行一个整数n,表示数组长度 接下来n行,每行一个整数a[i],表示数组的内容。
输出
输出一行一个数字,表示逆序对的个数。
输入样例
4
4
3
1
2
输出样例
5
B ProjectEuler 6
前10个正整数的平方和是
12+22+⋯+102=38512+22+⋯+102=385
前10个正整数和的平方是
(1+2+⋯+10)2=3025(1+2+⋯+10)2=3025
和的平方减去平方和是3025 - 385 = 2640。
输入n,求前n个正整数和的平方 减去 平方和。
输入
输入第一行组数T, 接下来T行,每行一个整数n。 (1 <= T <= 100) (1 <= n <= 300)
输出
对于每组数据,输出一个数,表示和的平方减去平方和。
数据范围
对于20%的数据,1≤T≤5,1≤n≤10; 对于60%的数据,1≤T≤20,1≤n≤100; 对于100%的数据,1≤T≤100,1≤n≤300。
输入样例
3
3
10
100
输出样例
22 2640 25164150
C 分成两组
给出n个数,把这n个数分成2组,让2组之和的差值尽量小,求这个最小的差。
例如:3个数2 2 3,我们将两个2分为一组,1个3单独一组,两组和的差值为1。
输入
第一行:1个数n,表示数字的数量(n <= 20) 后面n行:每行1个数a[i](0 <= a[i] <= 1000000000)。
输出
输出一个数,对应最小的差值
输入样例
3
2
2
3
输出样例
1