首页 > 其他分享 >[CSP-J 2021] 小熊的果篮 题解

[CSP-J 2021] 小熊的果篮 题解

时间:2023-11-09 20:33:52浏览次数:46  
标签:set int 题解 桔子 苹果 果篮 CSP

题目链接

既然只有两种东西,我们不妨分开考虑,这里也借鉴了很多二分图题目的切入点。

假设苹果和桔子下标分别如下图所示:

苹果:1 3 6 7 9 10 
桔子:2 4 5 8 

那么第一次取,应该是这样取:

1 2 3 4 6 8 9

也就是先取开头比较小的,然后轮流取,注意一定保证递增,也就是对于苹果找出来的 \(x\),要在桔子里面找出第一个大于 \(x\) 的数字,然后交替操作。

操作到最后,要么苹果和桔子都取完,要么单剩一堆苹果或者一堆桔子,这时逐个输出即可。

那么只需要维护两个 \(set\),支持快速查找以及快速删除,事件复杂度 \(\rm O(n\log n)\)。

代码:

int n;
set<int> s[2];
set<int>::iterator it;

int main() {
	cin>>n;
	for(int i=1;i<=n;i++) {
		int x=read(); s[x].insert(i);
	}
	while(s[0].size()&&s[1].size()) {
		if(*s[0].begin()>*s[1].begin()) swap(s[0],s[1]);
		int p=0,t=0;
		while(s[t].size()) {
			it=s[t].lower_bound(p);
			if(it==s[t].end()) break;
			cout<<*it<<" ";
			s[t].erase(it);
			t=!t; p=*it;
		}
		cout<<"\n";
	}
	if(s[0].size()<s[1].size()) swap(s[0],s[1]);
	for(it=s[0].begin();it!=s[0].end();++it) cout<<*it<<"\n";
	return 0;
}

标签:set,int,题解,桔子,苹果,果篮,CSP
From: https://www.cnblogs.com/zhangyuzhe/p/17822740.html

相关文章

  • [题解]CFgym103470E Paimon Segment Tree
    PaimonSegmentTree区间加,求一段时间内的区间平方和。\(n,m,q\le5\times10^4\)。对时间维差分一下,变成询问区间历史平方和。离线下来扫描线,扫描线维护时间维,数据结构维护序列维。考虑维护二元组\((a,s)\)表示当前位置值为\(a\),历史平方和为\(s\)。可以发现怎......
  • A2OJ Ladder 21 简要题解
    https://earthshakira.github.io/a2oj-clientside/server/Ladder21.html只记录Difficultylevel>=8的。有很多题是口胡的。写了的会标注提交记录。还有些很久以前写过的题就懒得搬提交记录了。71.CF444EDZYlovesplanting我们二分答案,然后可以这样转化:把权\(\ged\)的......
  • 题解:疯狂lcm
    %你赛打到一半来写个题解link:疯狂lcm题意,求:\[\sum_{i=1}^{n}lcm(i,n)\]不多说废话,直接开推:\[\begin{aligned}&=n\sum_{i=1}^{n}\frac{i}{gcd(i,n)}\\&=n\sum_{d\midn}\sum_{i=1}^{n}\frac{i}{d}[gcd(i,n)=d]\\&=n\sum_{d\midn}\sum_{i=1}^{n}......
  • KubeEdge部署 完美运行 附问题解决方法
    云端部署环境准备一、部署前工作(k8s、docker安装及配置、初始化集群、golang安装、keadm安装)配置网络参数cat>>/etc/hosts<<EOF#GitHubStart52.74.223.119github.com192.30.253.119gist.github.com54.169.195.247api.github.com185.199.111.153assets-cdn.gith......
  • linux/docker 版 Sql Server新建的数据库插入中文乱码问题解决方案
    SqlServer插入遇到乱码原因:在英文系统中,SqlServer默认排序规则为英文字典顺序解决方案一:容器版SqlServer,在创建容器时,可以加上环境变量-eMSSQL_COLLATION=Chinese_PRC_CI_AS-eTZ=Asia/Shanghai 把排序规则设为中文字典顺序并忽略大小写区分重音,时区设置为上海,不然......
  • Electrical(Hardware) Protocols: FIFO / JTAG / SPI / IIC / IIS / UART / SWD / ICS
    Electrical(Hardware)Protocols:JTAG(JointTestActionGroup),JTAGisactuallyaprotocoloverSPI.5pins/connections(GND,TMS,TCK,TDI,TDO),Outputtype:Maximumvoltage:5.5volts(5voltsafe),3.3voltnormal,oropencollector(pull-upresistorsre......
  • CSP-S 2023 T1 题解
    CSP-S2023T1题解很简单,我们只需要暴力枚举五位密码,每次判断拨一个齿轮和两个齿轮能达到的状态数,如果等于\(n\),答案\(+1\)。时间复杂度\(O(10^5\times5n)\)。code#include<iostream>#include<algorithm>#include<cmath>#include<cstring>usingnamespacestd;......
  • P4069 题解
    简要题意给定一棵\(n\)个点的树,树有边权。对每个点维护一个集合\(S_u\),一开始集合均包含整数\(123456789123456789\)。设\({\rmdis}_{a,b}\)为树上两点\(a\),\(b\)的距离。共\(m\)次操作,分为如下两种:stab:设\(f\)为\(s\),\(t\)路径上的点集,对与\(\forall......
  • CSP 2023 游只因
    CSP\(2023\)游只因前面不写太多。Day\(-\frac{114514}{191}\)雅礼(HN四大名校)集训。Day1:考试,讲题,改题。Day2:考试,讲题,改题。Day3:考试,讲题,改题。……Day\(0\)在雅礼开了会,然后教练复习知识,讲注意事项。晚上次火锅,然后van到了\(12\)点。Day\(1\)morning\(6:......
  • 上序问题解决补充(1)
    我发现好像只在idea里面整插件是不可以的你还需要下一个wampSERVER然后吧!他这个东西需要在法国官网下载,很他娘的慢,显示下载时间需要一天想不到吧我找到了中文站Wampserver3.3.064位官方版下载-WampServer中文站噔噔噔噔,闪亮登场......