给个人认为比较难的题目打上'*' NOIP2002(clear) //一个很吼的贪心题,将平均数减掉之后从左往右将影响消除 #include<bits/stdc++.h> using namespace std; ]; int main() { , sum = ; cin >> n; ; i < n ; i++) { cin >> num[i]; sum += num[i]; } sum /= n; ; i < n ; i++) { num[i] -= su…
(话说其实我想填的是去年CSP的坑...但是貌似有一道题我还不会写咕咕咕... 先写一下这一次的题解吧. T1:序列.题意省略. 两种操作.这种题要先分析部分分 给出了全部都是2操作的子任务. 发现A 2 B,B 2 C这个时候可以推到 A 2 C也就是所以被2相连的点都存在这种关系. 考虑缩点 把这些点都缩到一起表示他们的权值可以随便传递. 这个时候对于当前子任务我们可以很容易回答,就是看某个集合的权值和是否为0. 考虑有操作1的时候 A 1 B B 1 C 可以发现这可以转换成 A 2 C…
题目描述 在平面上有 n 个点(n <= 50),每个点用一对整数坐标表示.例如:当 n=4 时,4个点的坐标分另为:p1(1,1),p2(2,2),p3(3,6),P4(0,7),见图一. 这些点可以用 k 个矩形(1<=k<=4)全部覆盖,矩形的边平行于坐标轴.当 k=2 时,可用如图二的两个矩形 sl,s2 覆盖,s1,s2 面积和为 4.问题是当 n 个点坐标和 k 给出后,怎样才能使得覆盖所有点的 k 个矩形的面积之和为最小呢.约定:覆盖一个点的矩形面积为 0:覆盖平行于坐标轴…