题目大意 给定一个1到n的排列,然后随机选取一个区间,让这个区间内的数随机改变顺序,问这样的一次操作后,该排列的逆序数的期望是多少 首先,一个随机的长度为len的排列的逆序数是(len)*(len-1)/4,这是显然的,因为每种排列倒序一遍就会得到一个新序列,逆序数是len*(len-1)/2 - x(x为原排列的逆序数) 所以我们只需要把所有n*(n-1)/2的区间每种情况都随机化一遍再求逆序对,然后把这个值求和,就可以得到答案了 但是如果用朴素做法,那么复杂度是n^2的 考虑dp[x]表示以…
题目链接: http://codeforces.com/problemset/problem/268/E E. Playlist time limit per test 1 secondmemory limit per test 256 megabytes 问题描述 Manao's friends often send him new songs. He never listens to them right away. Instead, he compiles them into a play…
Hard problem 题目链接: http://codeforces.com/contest/706/problem/C Description Vasiliy is fond of solving different tasks. Today he found one he wasn't able to solve himself, so he asks you to help. Vasiliy is given n strings consisting of lowercase Engl…
B. Dreamoon and WiFi 题目连接: http://www.codeforces.com/contest/476/problem/B Description Dreamoon is standing at the position 0 on a number line. Drazil is sending a list of commands through Wi-Fi to Dreamoon's smartphone and Dreamoon follows them. Eac…
  # Name     A Bachgold Problem standard input/output 1 s, 256 MB    x6036 B Parallelogram is Back standard input/output 1 s, 256 MB    x4139 C Voting standard input/output 1 s, 256 MB    x2671 D Leaving Auction standard input/output 2 s, 256 MB    x…
题目链接:http://codeforces.com/contest/749/problem/C 题意:给定一个长度为n的D/R序列,代表每个人的派别,然后进行发表意见,顺序是从1到n.每个人到他的回合可以踢掉一个人.被踢掉的人不能参与发表直接跳过他的回合.如此知道剩下一个人.输出那个人所在的派别. 思路:明显的贪心题.为了让同派别的尽可能的留下来,所以应当踢掉在他后面的并且离他最近的其他派别的人.这样后面同派别的人才能发表.如果后面不存在其他派别的人,则应该踢掉前面离他最远的其他派别的人(应该…
题目链接:http://codeforces.com/contest/749/problem/B 题意:给定平行四边形的3个点,输出所有可能的第四个点. 思路:枚举任意两个点形成的直线,然后利用这两个点计算偏移量用第三点求出第四个点. #define _CRT_SECURE_NO_DEPRECATE #include<iostream> #include<cstring> #include<string> #include<algorithm> #inclu…
题目链接:http://codeforces.com/contest/749/problem/A 题意:给定一个数n,求把n分解成尽量多的素数相加.输入素数个数和具体方案. 思路:因为要尽量多的素数,所以当n为奇数时用(n/2)-1个素数2还有一个素数3. 当n为偶数时用(n/2)个素数2 #define _CRT_SECURE_NO_DEPRECATE #include<iostream> #include<cstring> #include<string> #inc…
A. Bachgold Problem 任何一个数都可以由1和2组成,由于n是大于等于2的,也就是可以由2和3组成.要求最多的素数即素数越小越好,很明显2越多越好,如果n为奇数则再输出一个3即可. int main() { int n; while(~scanf("%d",&n)) { int k=n/2; printf("%d\n",k); for(int i=1;i<k;i++) printf("2 "); if(n%2) pr…
A. Bachgold Problem time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Bachgold problem is very easy to formulate. Given a positive integer n represent it as a sum of maximum possible number o…