zoukankan      html  css  js  c++  java
  • Codeforces Round Rockethon 2015

    A. Game

    题目大意:A有N1个球,B有N2个球,A每次可以扔1-K1个球,B每次可以扔1-K2个球,谁先不能操作谁熟

    思路:.....显然每次扔一个球最优....

     1 #include<iostream>
     2 #include<cstdio>
     3 #include <math.h>
     4 #include<algorithm>
     5 #include<string.h>
     6 #include<queue>
     7 #define MOD 10000007
     8 #define maxn 200000
     9 #define LL long long
    10 using namespace std;
    11 int main()
    12 {
    13         int a,b,c,d;
    14         scanf("%d%d%d%d",&a,&b,&c,&d);
    15         if(a<=b)printf("Second
    ");else printf("First
    ");
    16         return 0;
    17 }
    View Code

    B. Permutations

    题目大意:给你一个1-n的排列p,要你求在f(p)最大的前提下,字典序为m的排列

    思路:一开始想烦了...对于1-n-1的排列,新的数n一定是插入n-1的左边或者右边,这样的排列才是满足f(p)最大的,于是写出来就会发现从小到大每一个数字要么放在当前序列的最前面,要么放在当前序列的最后面,然后就没有然后了

     1 #include<iostream>
     2 #include<cstdio>
     3 #include <math.h>
     4 #include<algorithm>
     5 #include<string.h>
     6 #include<queue>
     7 #define MOD 10000007
     8 #define maxn 200000
     9 #define LL long long
    10 using namespace std;
    11 long long bin[100];
    12 int visit[maxn],ans[maxn];
    13 int main()
    14 {
    15         bin[0]=1;
    16         for(int i=1;i<=51;i++)bin[i]=bin[i-1]*2LL;
    17         int n,anss;
    18         long long m;
    19         while(scanf("%d%I64d",&n,&m)!=EOF)
    20         {
    21                 int last=n;
    22                 for(int i=1,j=1;i<=n;i++)
    23                 {
    24                         int u=bin[n-i-1];
    25                         if(m<=u)ans[j]=i,j++;
    26                         else ans[last]=i,last--,m-=u;
    27                 }
    28                 for(int i=1;i<=n;i++)printf("%d ",ans[i]);
    29         }
    30         return 0;
    31 }
    View Code

    G1:Inversions problem

    题目大意:对于每个1-n的排列,可以进行K次操作,每次操作可以对随机的一段子序列逆向,问K次操作后逆序数的期望是多少?

    思路:敲了发暴力过了G1

     1 #include<iostream>
     2 #include<cstdio>
     3 #include <math.h>
     4 #include<algorithm>
     5 #include<string.h>
     6 #include<queue>
     7 #define MOD 10000007
     8 #define maxn 200000
     9 #define LL long long
    10 using namespace std;
    11 int a[100],m,n,up=0,down=0;
    12 void dfs(int kk,int b[])
    13 {
    14         int c[100],d[100];
    15         memcpy(d,b,sizeof(d));
    16         if(kk==m+1)
    17         {
    18                 int inv=0;
    19                 for(int i=1;i<=n;i++)
    20                 {
    21                         for(int j=i+1;j<=n;j++)
    22                         {
    23                                 if(b[j]<b[i])inv++;
    24                         }
    25                 }
    26                 up+=inv;down++;
    27                 return;
    28         }
    29         for(int i=1;i<=n;i++)
    30                 for(int j=i;j<=n;j++)
    31                 {
    32                         for(int k=1;k<=j-i+1;k++)
    33                         {
    34                                 c[k]=b[j-k+1];
    35                         }
    36                         for(int k=1;k<=j-i+1;k++)
    37                         {
    38                                 b[i+k-1]=c[k];
    39                         }
    40                         dfs(kk+1,b);
    41                         for(int k=1;k<=j-i+1;k++)
    42                         {
    43                                 c[k]=b[j-k+1];
    44                         }
    45                         for(int k=1;k<=j-i+1;k++)
    46                         {
    47                                 b[i+k-1]=c[k];
    48                         }
    49                 }
    50 }
    51 int main()
    52 {
    53         scanf("%d%d",&n,&m);
    54         for(int i=1;i<=n;i++)
    55         {
    56                 scanf("%d",&a[i]);
    57         }
    58         dfs(1,a);
    59         printf("%.9lf",1.0*up/down);
    60         return 0;
    61 }
    View Code
  • 相关阅读:
    c# 设计模式 之:装饰模式
    c# 设计模式 之:抽象工厂
    c# 设计模式 之:简单工厂、工厂方法、抽象工厂之小结、区别
    c# 设计模式 之:工厂模式之---工厂模式
    c# 设计模式 之:工厂模式之---简单工厂
    uml
    ASP.NET应用程序生命周期
    C语言可变参数个数
    软件开发过程中的视角
    UML类图与类的关系详解
  • 原文地址:https://www.cnblogs.com/philippica/p/4280330.html
Copyright © 2011-2022 走看看