首页 > 其他分享 >题解:CF1956A Nene's Game

题解:CF1956A Nene's Game

时间:2024-05-10 19:11:21浏览次数:25  
标签:ve CF1956A 多测 Nene 题解 int Game

这道题其实挺有意思,多测里面还套了个多测。

思路就是用向量模拟删除过程,具体请看代码里的注释。

#include <bits/stdc++.h>
using namespace std;
int k,q,a[105];
void solve()
{
	int n;
	cin>>n;
	vector<int> ve;
	for(int i=1;i<=n;i++) ve.push_back(i);//把每个人放到向量里面
	while(!ve.size()<a[1]) //当还可以删除时
	{
		int cnt=1;
		/*
		 * cnt的作用
		 * 1. 把下标从0开始的ve与下标从1开始的a[]关联起来
		 * 2. vector的erase会自动补齐空位
		 * 如果没有cnt,第二次删除的则是错误的位置
		 * 所以用cnt统计目前删除了多少个数
		 * 
		 * (cnt为什么初始是1? 请看第一条)
		 *
		*/
		for(int i=1;i<=k;i++) 
			if(a[i]<=ve.size()) //当还可以删除时
			{
				ve.erase(ve.begin()+a[i]-cnt); //则删除,此时用上了cnt
				cnt++;//已删除+1
			}
	}
	cout<<ve.size()<<" ";
}
void Solve()
{
	cin>>k>>q;
	for(int i=1;i<=k;i++) cin>>a[i];
	sort(a+1,a+1+k); //排序是为了方便做这个 while(!ve.size()<a[1])
	while(q--) solve();//q次询问
	cout<<endl;
}
int main()
{
	int t;
	cin>>t;
	while(t--) Solve();//t组数据
	return 0;
}

标签:ve,CF1956A,多测,Nene,题解,int,Game
From: https://www.cnblogs.com/sapo1o/p/18185138

相关文章

  • CF1385F Removing Leaves 题解
    看到题,感觉像树形DP,遂设计DP式子。\(dp_u\)表示以\(u\)为根的子树内最多能删多少次(不删\(u\))。那么每次子节点到父节点增加的贡献就是\(\lfloor\frac{子树大小为1的子节点个数}{k}\rfloor\)。得出式子\(dp_u=\sum_{v\inson_u}dp_v+(\sum_{v\inson_u}[dp_v\times......
  • 洛谷 P1031 [NOIP2002 提高组] 均分纸牌 题解
    题目简述有$N$堆纸牌,编号分别为$1,2,\ldots,N$。每堆上有若干张,但纸牌总数必为$N$的倍数。可以在任一堆上取若干张纸牌,然后移动。移牌规则为:在编号为$1$堆上取的纸牌,只能移到编号为$2$的堆上;在编号为$N$的堆上取的纸牌,只能移到编号为$N-1$的堆上;其他堆上取的纸牌,可......
  • 洛谷 P1012 [NOIP1998 提高组] 拼数 题解
    题目简述设有$n$个正整数$a_1\dotsa_n$,将它们联接成一排,相邻数字首尾相接,组成一个最大的整数。题目分析定义设$X$为数字$x$的字符串形式。$A+B$表示字符串$A$和字符串$B$相连组成的字符串。思路既然要构造最优解,显然如果有不优的情况的话,就需要对序列进行......
  • 一本通蓝皮题解
    最小生成树1486:【例题1】黑暗城堡求最短路径生成树的个数先求出根节点到各点的最短路径然后统计每个点的答案个数如果一个节点到1号节点的最短路=另一个和它有连边的节点到根节点的最短路+它们两个节点之间的直接距离这个点的个数++最后用乘法原理统计答案将每个点的......
  • LLaMA-Factory 训练 Llama3-Chinese-8B-Instruct 相关报错问题解决
    模型路径up主为llama中文社区模型地址https://www.modelscope.cn/models/FlagAlpha/Llama3-Chinese-8B-Instruct/summarysysinfov10032gnvcc--versioncuda11.8pythonimporttorchprint(torch.version)13.11pipinstallflash_attntimeout2下载whl报这个错......
  • text-generation-webui 推理模型Qwen1.5-7B-Chat相关报错问题解决
    推理代码text-generation-webui推理模型Qwen1.5-7B-Chatsysinfo nvcc--versioncuda11.8importtorch>>>print(torch.__version__)1路径错误2依赖没安装ImportError:Thismodelingfilerequiresthefollowingpackagesthatwerenotfoundinyourenvironme......
  • [国家集训队] happiness 题解
    发现可以做如下建图:对于前两组输入,从\(s\)向所有代表学生的点连一条边,容量为其学习文科的喜悦值;从所有代表学生的点向\(t\)连一条边,容量为其学习理科的最大值。对于后四组输入,建两个点\(x,y\),从\(s\)向\(x\),从\(y\)向\(t\)分别连容量为相邻两人同时学文/理时额......
  • [题解]CF1907G Lights
    CF1907GLights我们可以把灯抽象成节点,而开关抽象成无向边(重边算作\(1\)条)。显然每个连通块要么是一棵树,要么是一棵基环树。对于基环树,我们把它看做若干棵树处理,最后我们再考虑如何处理环。如下图,这是一棵树,黄色的点表示亮灯。我们选定任意一条边,可以改变子节点和父节点的状......
  • CodeForces 1967D Long Way to be Non-decreasing 题解
    题意简述yzh喜欢单调不降序列。她有一个序列\(a\),最初为\(a_1,\ldots,a_n\),其中每个元素都在\([1,m]\)内。她希望使序列变得单调不降,为此,她有一个序列$b_1\ldotsb_m$,每个元素也在\([1,m]\)内。她可以进行若干次操作,一次操作定义为:选择一个集合\(S\subseteq......
  • CF1967C题解
    CF1906D这里更容易进入且有翻译题意对于数组\(a\),有函数\(f(a)\),设数组\(s=f(a)\),则对于每一个\(s_i\),都有:\[s_i=\left(\sum^{i}_{j=(i\operatorname{\&}(i-1))+1}{a_j}\right)\]其中\(\&\)表示按位与运算。对于一个正整数\(k\),函数\(f^k(a)\)定义如......