zoukankan      html  css  js  c++  java
  • cf 1305 E. Kuroni and the Score Distribution

    题目传送门:E. Kuroni and the Score Distribution

    题目大意:给n和m,输出n个数,这些数里必须要有m对a[i]+a[j]==a[k]  ( i < j < k )

    题解:(这里的a[i]不是题目意思中的a[i])分两种情况:

    1. m==0 直接输出n个递增的奇数即可;

    2. m!=0; 先打个表找出1~q(q<=n)共有多少对满足i+j==k记录在数组a中,然后找到小于等于m的第一个x;如果x>n或者a[n]<m,输出-1。

    否则,输出1到x。如果小于m还差m-a[x]个,x++, 自己写几个数可以发现a[i]-a[i-1]=(i-1)/2; 令y=x+(x-1)/2; y每加2,就会少一对满足条件的,找到y输出。然后判断还差几个数没有输出。输出n-x个数这些数都比前一个大y+1即可不出现满足要求的。

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3  
     4 int a[100100];
     5  
     6 int main()
     7 {
     8     int n,m;
     9     cin>>n>>m;
    10     a[1]=0;a[2]=0,a[3]=1,a[4]=2;
    11     for(int i=5;i<=n;i++){
    12         a[i]=a[i-1]+(i-1)/2;
    13         if(a[i]>m) break;
    14     }
    15     int k=-1,l=0;
    16     for(int i=1;i<=n;i++){
    17         if(a[i]>=m){
    18             k=i;
    19             break;
    20         }
    21     }
    22     if(m==0){
    23         int t=0,ans=1;
    24         for(int i=0;i<n;i++){
    25             ans+=2;
    26             printf("%d ",ans);
    27         }
    28         return 0;
    29     }
    30     if(k>n||k==-1){
    31         cout<<-1<<endl;
    32         return 0;
    33     }
    34     int flag=0;
    35     if(a[k]>m) k--,flag=1;
    36     for(int i=1;i<=k;i++){
    37         printf("%d ",i);
    38     }
    39     int x=k/2,y=k;
    40     if(flag){
    41         y++;
    42         while(a[k]+x>m) x--,y+=2;
    43         printf("%d ",y);
    44         k++;
    45     }
    46     n-=k;
    47     int t=y+1,ans=y;
    48     for(int i=0;i<n;i++){
    49         ans+=t;
    50         printf("%d ",ans);
    51     }
    52     return 0;
    53 }
  • 相关阅读:
    使用zinnia制作android手写输入功能(上)编译zinnia
    Raphael实例
    正则表达式 笔记
    已知弧长和弦长求半径
    Raphael参考 翻译完毕
    在chorme中查找多余的css规则
    CSS3中Transform
    手机移动端WEB资源整合
    JS判断移动设备最佳方法 并实现跳转至手机版网页
    让IE和Firefox兼容的CSS技巧集合css hack
  • 原文地址:https://www.cnblogs.com/lilibuxiangtle/p/12407558.html
Copyright © 2011-2022 走看看