首页 > 其他分享 >[CF1819D] Misha and Apples

[CF1819D] Misha and Apples

时间:2023-09-20 21:57:44浏览次数:46  
标签:int Misha CF1819D MAXN Apples 清空 include

Misha and Apples
只能做做评分虚高的题了,头痛浪费了一节晚自习。
但是为什么机房的同学们都觉得2500~2800算水题呢?
最终的答案一定是 \([S_1,S_x]\) 被清空,\([S_{x+1},S_n]\) 被全部放入集合。
若 \(\exists i\in[x+1,n],k_i=0\),答案为 m,否则为 \(\sum_{i=x+1}^nk_i\)。
枚举到 i 时 x 的最小值,则上式的 x 即 i=n 时的 x。
设 \(f_i\) 表示加入 \(S_i\) 后集合是否能清空,\(ma\) 表示 \(S_i\) 中的数上一次出现最晚的位置。
设 \(x<ma\),此时 \([S_x,S_{i-1}]\) 加入 \(S_i\) 后可以清空,\(f_i=1\)。
否则如果 \(\exists j\in[x+1,i-1],k_j=0\),这个商店可以加入 \(S_i\) 中的数使其清空,\(f_i=1\)。
考虑 x 的移动,当 \(x<ma\) 或 \(f_x=0\) 时,x++。

#include<cstdio>
#include<vector>
#include<iostream>
using namespace std;
const int MAXN=2e5+5;
int T,n,m,wz,id[MAXN],pre[MAXN];
bool f[MAXN];
vector<int> v[MAXN];
int main(){
	scanf("%d",&T);f[0]=1;
	while(T--){
		scanf("%d%d",&n,&m);for(int i=1;i<=n;i++) f[i]=0;wz=0;
		for(int i=1,x;i<=n;i++){
			scanf("%d",&x);v[i].clear();
			pre[i]=pre[i-1]+(x==0);
			for(int j=1,y;j<=x;j++){
				scanf("%d",&y);id[y]=0;v[i].push_back(y);
			}
		}
		for(int i=1;i<=n;i++){
			int ma=0;
			for(int j=0;j<v[i].size();j++){
				int u=v[i][j];ma=max(ma,id[u]);id[u]=i;	
			}
			f[i]=(wz<ma)||(pre[i]!=pre[wz]);
			while(wz<ma||(!f[wz])) wz++;
		}
		if(pre[wz]!=pre[n]){printf("%d\n",m);continue;}
		int tmp=0;
		for(int i=wz+1;i<=n;i++) tmp+=(int)v[i].size();
		printf("%d\n",tmp);
	}
	return 0;
}

标签:int,Misha,CF1819D,MAXN,Apples,清空,include
From: https://www.cnblogs.com/StranGePants/p/17718440.html

相关文章

  • Applescript脚本实现全自动无痕检测手机号码是否注册iMessage的原理
    一、检测数据的两种方式:1.人工筛选,将要验证的号码输出到文件中,以逗号分隔。再将文件中的号码粘贴到iMessage客户端的地址栏,iMessage客户端会自动逐个检验该号码是否为iMessage账号,检验速度视网速而定。红色表示不是iMessage账号,蓝色表示iMessage账号。2.编写脚本控制Macos/iphon......
  • AppleScript成功实现FaceTime语音,FaceTime视频,FaceTime数据筛选,检测手机号是否开通
    FaceTime是苹果公司iOS和macOS(以前称MacOSX或OSX)内置的一款视频通话软件,通过Wi-Fi或者蜂窝数据接入互联网,在两个装有FaceTime的设备之间实现视频通话。其要求通话双方均具有装有FaceTime的苹果设备,苹果ID以及可接入互联网的3G/4G/5G或者Wi-Fi网络。 一、Windows电脑上部署苹......
  • 用applescript脚本实现检测手机号码是否注册imessage的原理
    一、检测数据的两种方式:1.人工筛选,将要验证的号码输出到文件中,以逗号分隔。再将文件中的号码粘贴到iMessage客户端的地址栏,iMessage客户端会自动逐个检验该号码是否为iMessage账号,检验速度视网速而定。红色表示不是iMessage账号,蓝色表示iMessage账号。2.编写脚本控制Macos/iphon......
  • P5709 【深基2.习6】Apples Prologue / 苹果和虫子
    【深基2.习6】ApplesPrologue/苹果和虫子题目描述八尾勇喜欢吃苹果。她现在有$m$($1\lem\le100$)个苹果,吃完一个苹果需要花费$t$($0\let\le100$)分钟,吃完一个后立刻开始吃下一个。现在时间过去了$s$($1\les\le10000$)分钟,请问她还有几个完整的苹果?输入格式输入三......
  • imessages数据检测,imessages过蓝检测,用applescript检测手机号码是否注册imessage实
    一、检测iMessage发送数据的2种方式:1.人工筛选,将要验证的号码输出到文件中,以逗号分隔。再将文件中的号码粘贴到iMessage客户端的地址栏,iMessage客户端会自动逐个检验该号码是否为iMessage账号,检验速度视网速而定。红色表示不是iMessage账号,蓝色表示iMessage账号。2.编写脚本控制......
  • Codeforces Round #285 (Div. 2) B. Misha and Changing Handles map 映射
    MishahackedtheCodeforcessite.Thenhedecidedtoletalltheuserschangetheirhandles.Ausercannowchangehishandleanynumberoftimes.Buteachnewhandlemustnotbeequaltoanyhandlethatisalreadyusedorthatwasusedatsomepoint.Mish......
  • Codeforces Round #285 (Div. 2) C. Misha and Forest
    Let’sdefineaforestasanon-directedacyclicgraph(alsowithoutloopsandparalleledges).OnedayMishaplayedwiththeforestconsistingofnvertices.Foreachvertexvfrom0ton - 1hewrotedowntwointegers,degreevandsv,werethefirstinte......
  • applescript book
    AppleAutomator2009withAppleScriptBiblesetrandNumberto(randomnumber(20))asintegerif(randNumber>10)then displaydialograndNumberendifsettheTimeto"now"if(theTime="now")then displaydialog"Fly!&q......
  • AppleScript key code
    https://eastmanreference.com/complete-list-of-applescript-key-codestellapplication"SystemEvents"keycode49endtellPlay:tellapplication"iTunes"toplayPause:tellapplication"iTunes"topause......
  • Problem B. Harvest of Apples 组合数求和(莫队没怎么看懂)
    ProblemB.HarvestofApplesTimeLimit:4000/2000MS(Java/Others)    MemoryLimit:262144/262144K(Java/Others)TotalSubmission(s):3775    AcceptedSubmission(s):1450 ProblemDescriptionTherearenapplesonatree,numberedfrom1ton.Count......