首页 > 其他分享 >CF1916C Training Before the Olympiad

CF1916C Training Before the Olympiad

时间:2023-12-31 13:34:21浏览次数:33  
标签:选择 Training 两个 奇数 偶数 答案 余数 CF1916C Olympiad

思路

首先,我们可以考虑两个人会怎么操作,如果是选择了两个偶数和两个奇数,那么答案不会减小,如果选择了一个奇数一个偶数,那么答案会减小一。

所以想使答案大的人应该尽量选择前一种方案,想使答案小的人应该尽量选择后一种方案。

但这还不是最优的,想使答案大的人在可以选择两个奇数时,绝对不会选择两个偶数,因为这样可以让想使答案小的人可以选择的奇数变少。

因为每一次操作后都必定产生一个新的偶数,所以我们可以只看奇数的数量,就可以算出总答案会减少多少。

想使答案大的人先操作,如果此时,奇数的数量在两个及以上,就会选择两个奇数,否则如果偶数的数量在两个及以上,则选择两个偶数,否则选择一奇一偶。

因为每次操作必定诞生偶数,所以想使答案小的人一定不会选择不了偶数,所以一旦还有奇数,他就会消耗一个奇数使得答案减小。

所以可以发现,如果奇数的个数大于等于 \(3\),那么,每轮操作都会让奇数的个数减少 \(3\),且使得总答案减少一。

所以答案会先减去奇数个数除以三。

再考虑余数,如果余数为 \(0\),则构不成任何影响,如果余数为 \(1\),代表要么想使答案大的人选择一次一奇一偶,要么想使答案小的人选择一次一奇一偶,所以答案必定还会少一,如果余数为 \(2\),那么想使答案大的人直接选择一次两个奇数即可,答案不会减少。

所以只需要动态的统计总和和奇数个数即可。

AC code

#include<bits/stdc++.h>
using namespace std;
long long T,n,a,sum,num;//要开longlong 10^5个10^9的和轻松爆int
int main()
{
	scanf("%lld",&T);
	while(T--)
	{
		scanf("%lld",&n),sum=num=0;//别忘了清零
		for(int i=1;i<=n;++i)
		{
			scanf("%lld",&a),sum+=a,num+=a%2;//统计总和和奇数个数
			if(i==1) printf("%lld ",sum); //如果是第一个,直接就是答案,不需要考虑奇数
			else printf("%lld ",sum-num/3-(num%3==1));
		}
		puts("");
	}
	return 0;
}

标签:选择,Training,两个,奇数,偶数,答案,余数,CF1916C,Olympiad
From: https://www.cnblogs.com/One-JuRuo/p/17937439

相关文章

  • 「杂题乱刷」CF1916C
    题目传送门(CF)题目传送门(luogu)容易发现,选择两个偶数对于答案没有任何影响,因此先手必然会优先选择两个奇数合并在一起,而后手必然会优先选择一个奇数和一个偶数在一起,我们举个例子,有一个序列\(\{1,1,1,1,1,1\}\),先手先取编号为\(1,2\)的两个数,后手再取编号为\(2,3\)的两个数,此......
  • InstructGPT《InstructGPT: Training language models to follow instructions with h
    背景GPT-3虽然在各大NLP任务以及文本生成的能力上令人惊艳,但是他仍然还是会生成一些带有偏见的,不真实的,有害的造成负面社会影响的信息,而且很多时候,他并不按人类喜欢的表达方式去说话。在这个背景下,OpenAI提出了一个概念“Alignment”,意思是模型输出与人类真实意图对齐,符合人......
  • GPT-1论文《Improving Language Understanding by Generative Pre-Training》解读
    背景GPT-1采用了两阶段训练的方式:1. 第一阶段pre-training,在海量文本上训练,无需label,根据前k-1个词预测第k个单词是什么,第一阶段的训练让模型拥有了很多的先验知识,模型具有非常强的泛化性2.第二阶段在特定任务上fine-tuning,让模型能适应不同的任务,提高模型在特定任务上的准......
  • A fast and simple algorithm for training neural probabilistic language models
    目录概NoisecontrastiveestimationMnihA.andTehY.W.Afastandsimplealgorithmfortrainingneuralprobabilisticlanguagemodels.ICML,2012.概NCE用在语言模型的训练上.Noisecontrastiveestimation给定context\(h\),下一个词为\(w\)的条件概率按......
  • 【论文阅读笔记】【多模态-Referring & Grounding】 Grounded Language-Image Pre-tra
    GLIPCVPR2022(Oral,BestPaperFinalist)读论文思考的问题论文试图解决什么问题?写作背景是什么?问题:如何将视觉-语言预训练技术应用在以目标检测为代表的fine-grainedimageunderstanding上面?如何在增加训练数据的同时,使目标检测模型具有良好的语义理解能力,能......
  • GLIP:Grounded Language-Image Pre-training
    GroundedLanguage-ImagePre-training目录GroundedLanguage-ImagePre-training简介摘要Introduction统一的损失函数方法总结参考资料GLIPv1:GroundedLanguage-ImagePre-trainingGLIPv2:UnifyingLocalizationandVLUnderstanding代码地址:https://github.com/micr......
  • Misc_XCTF_WriteUp | Training-Stegano-1
    题目提示:这是我能想到的最基础的图片隐写术题目:分析文件属性没有特别的东西。这么小的图片用StegSolve也看不见啥,用010editor打开看看:有一段文本,大意是:“看看十六进制编辑显示了什么:passwd:steganoI”将steganoI作为flag提交,通过。FlagsteganoI参考bmp位......
  • Web_XCTF_WriteUp | Training-WWW-Robots
    题目分析标题大致翻译:训练WWW网络爬虫。场景内部文段大致翻译:在这个小小的训练挑战中,您将学习Robots_exclusion_standard(网络爬虫排除标准)。robots.txt文件用于网络爬虫检查它们是否被允许抓取和索引您的网站或仅部分网站。有时,这些文件揭示了目录结构,而不是保护内......
  • 【论文阅读】Improving language understanding by generative pre-training
    原始题目:Improvinglanguageunderstandingbygenerativepre-training中文翻译:通过生成预训练提高语言理解能力发表时间:2018年平台:Preprint文章链接:https://www.mikecaptain.com/resources/pdf/GPT-1.pdf开源代码:https://paperswithcode.com/paper/improving-language-und......
  • [ARC123E] Training
    多测,求值\[\sum_{i=1}^{n}\Big[a+\lfloor\frac{i}{b}\rfloor=c+\lfloor\frac{i}{d}\rfloor\Big]\]\(1\leT\le2\times10^5\),\(1\len\le10^9\),\(1\lea,b,c,d\le10^6\)。没见过,还得是广附哥。令\(b\led\),设\(f(x)=a+\dfrac{x}{b}\),\(g(x)=c+......