首页 > TAG信息列表 > sumN
Problem A: 老师的点名方案
Description 在大学课堂上有很多课程听课班级和学生都很多,全体点名要花很长时间。因此,老师经常采用部分点名的方法。为了方便,老师做了一个程序可以产生多个随机数x,每个随机数x表示一个学生的序号,这个序号用来点名或者提问某个同学。 现在你做一个程序帮助老师完成这个功能:把Cuber Sorting
这道题我们需要把一个序列移动成递增序列,假设刚刚开始n个数是完全递减排列的 如 5 4 3 2 1,那么我们需要把1移动到第一个位置需要4步,2移动到第二个位置需要3步,以此类推,那么n个这样排列的数需要移动n-1+n-2+....+1,也就是(n-1)*n/2,与最大次数相差1,所以除了完全倒序排列的,其他情况给定圆上一些点求组成矩形个数
例题传送门 可以\(C_n^{4}\)暴力枚举四个点,根据前缀和计算4条边判断。 但是发现矩形的对角线是一定经过圆心的,而且任意两条直线可以组成一个矩形。 那我们\(C_n^2\)枚举点,用前缀和算出两点间圆弧距离,为圆周长一半就是直径。 最后答案是\(直径数*(直径数-1)/2\) 当然,当圆周长是奇数[NOIp2011] luogu P1314 聪明的质监员
题目描述 点进去看吧,说的不能再清楚了。 Solution 看到数据规模不难想到二分 WWW,然后用个前缀和优化一下即可。注意上下界。 #include<cstdio> #include<cstdlib> #include<cstring> #include<algorithm> using namespace std; #define int long long const int MAXN=2000