最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

CodeforcesRound#251(Div.2)-C,D_html/css

来源:懂视网 责编:小采 时间:2020-11-27 15:53:54
文档

CodeforcesRound#251(Div.2)-C,D_html/css

CodeforcesRound#251(Div.2)-C,D_html/css_WEB-ITnose:C题: 思路很简单。 由题意可知,奇数的集合有k-p个,偶数的几何有p个。 那么我们先选择k-p-1个奇数,每一个奇数是一个集合。 然后我们再选择p个偶数,每一个偶数是一个集合,如果偶数的个数不足,那么就用两个奇数去补。 然后我们再把剩下的所有的数放在一个
推荐度:
导读CodeforcesRound#251(Div.2)-C,D_html/css_WEB-ITnose:C题: 思路很简单。 由题意可知,奇数的集合有k-p个,偶数的几何有p个。 那么我们先选择k-p-1个奇数,每一个奇数是一个集合。 然后我们再选择p个偶数,每一个偶数是一个集合,如果偶数的个数不足,那么就用两个奇数去补。 然后我们再把剩下的所有的数放在一个

C题:

思路很简单。

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

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

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

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

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<=n;i++) { scanf("%d",&a[i]); if(a[i]%2) { sum++; if(r=p*2&&l%2==0) { l=p; cout<<"YES"<1) { vis[i]=1; l--; printf("1 %d\n",a[i]); } } vec.clear(); for(int i=1;i<=n;i++) { if(vis[i])continue; vec.push_back(a[i]); if(l>1&&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;i
D题:

思路也挺简单的。

由题意可知,我们需要把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<=n;i++) { scanf("%I64d",&a[i]); vec.push_back(a[i]); } for(LL i=1;i<=m;i++) { scanf("%I64d",&b[i]); vec.push_back(b[i]); } sort(a+1,a+n+1); sort(b+1,b+m+1); sort(vec.begin(),vec.end()); memset(sa,0,sizeof(sa)); memset(sb,0,sizeof(sb)); for(LL i=1;i<=n;i++)sa[i]=sa[i-1]+a[i]; for(LL i=m;i>=1;i--)sb[i]=sb[i+1]+b[i]; LL minn=-1; for(LL i=0;i

文档

CodeforcesRound#251(Div.2)-C,D_html/css

CodeforcesRound#251(Div.2)-C,D_html/css_WEB-ITnose:C题: 思路很简单。 由题意可知,奇数的集合有k-p个,偶数的几何有p个。 那么我们先选择k-p-1个奇数,每一个奇数是一个集合。 然后我们再选择p个偶数,每一个偶数是一个集合,如果偶数的个数不足,那么就用两个奇数去补。 然后我们再把剩下的所有的数放在一个
推荐度:
标签: 2 // d
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top