Codeforces Round #251 (Div. 2)-C,D_html/css_WEB-ITnose

c题:

思路很简单。

由题意可知,奇数的集合有k-p个,偶数的几何有p个。

那么我们先选择k-p-1个奇数,每一个奇数是一个集合。

然后我们再选择p个偶数,每一个偶数是一个集合,如果偶数的个数不足,那么就用两个奇数去补。

立即学习“前端免费学习笔记(深入)”;

然后我们再把剩下的所有的数放在一个集合里。

  1. By rowanhao, contest: Codeforces Round #251 (Div. 2), problem: (C) Devu and Partitioning of the Array, Accepted, # #include#include#include#include#include#includeusing namespace std;#define LL __int64#define maxn 330000vectorvec;int a[maxn];int vis[maxn];int main(){ int n,k,p; while(~scanf("%d%d%d",&n,&k,&p)) { int sum=0; int q=k-p; int l,r; l=r=0; for(int i=1;i=p*2&&l%2==0) { l=p; cout1) { vis[i]=1; l--; printf("1 %d\n",a[i]); } } vec.clear(); for(int i=1;i1&&vec.size()==2) { printf("2 %d %d\n",vec[0],vec[1]); vec.clear(); l--; } } if(vec.size()==0)continue; printf("%d",vec.size()); for(int i=0;iD题:

    思路也挺简单的。

    由题意可知,我们需要把a数组的所有的数都变的大于等于x。b数组里的所有的数都小于等于x。

    x是a数组和b数组中的某一个数。

    那么我们枚举x,然后二分查找。

    #include#include#include#include#includeusing namespace std;#define LL __int64#define maxn 220100double num[maxn];vectorvec;LL a[maxn];LL b[maxn];LL sa[maxn];LL sb[maxn];LL n,m;LL dos(LL x){    LL sum=0;    LL l,r,mid;    l=1;r=n+1;mid=(l+r)/2;    while(l=x)r=mid;        else l=mid+1;        mid=(l+r)/2;    }    sum+=(mid-1)*x-sa[mid-1];    l=1;r=m+1;mid=(l+r)/2;    while(l=x)r=mid;        else l=mid+1;        mid=(l+r)/2;    }    sum+=sb[mid]-(m-mid+1)*x;    return sum;}int main(){    while(~scanf("%I64d%I64d",&n,&m))    {        for(LL i=1;i=1;i--)sb[i]=sb[i+1]+b[i];        LL  minn=-1;        for(LL i=0;i


  2. 登录后复制

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

点点赞赏,手留余香

给TA打赏
共0人
还没有人赞赏,快来当第一个赞赏的人吧!
    编程技术

    菜鸟跪求大神把现有的纵向展开树修改成横向展开树_html/css_WEB-ITnose

    2025-3-28 13:30:11

    编程技术

    怎么让css两个属性相等_html/css_WEB-ITnose

    2025-3-28 13:30:18

    0 条回复 A文章作者 M管理员
    欢迎您,新朋友,感谢参与互动!
      暂无讨论,说说你的看法吧
    个人中心
    购物车
    优惠劵
    今日签到
    私信列表
    搜索