首页 > 其他分享 >P9077 [PA2018] Poddrzewo 题解

P9077 [PA2018] Poddrzewo 题解

时间:2024-03-18 22:38:16浏览次数:13  
标签:cout int 题解 P9077 Poddrzewo 序列 操作 数量

思考

感觉题目有点迷惑的意思,要最小化操作 \(1\) 使用的次数,也就是要节约修改操作,让我们认为操作 \(1\) 是最有用的,其实只要稍微动动脑子想一想,删除操作才是最有用的,而交换操作根本没用。

当将序列删除到只剩两个点时,就把两个点连上,度都为 \(1\)。

所以如果序列中 \(1\) 的数量超过了 \(2\) 或相等,就可以根本不用修改操作,删除到序列中只剩下两个 \(1\) 为止,而如果数量小于 \(2\),那么直接输出 \(2\) 减去 \(1\) 的数量就好了。

总结一下:

  1. 如果 \(1\) 数量大于等于 \(2\),那么输出 \(0\)。
  2. 如果 \(1\) 数量小于 \(2\),那么输出 \(0\)。

Code

#include <bits/stdc++.h>
using namespace std;
int a[1000005];
int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int n;
	cin>>n;
	int ans=0;//1的数量
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
		if(a[i]==1)
		{
			ans++;//如果为1就++
		}
	}
	cout<<max(0,2-ans)<<endl;//核心代码,也可以用下面的代码
	/*
	if(ans>=2)
	{
		cout<<0<<endl;
	}
	else
	{
		cout<<2-ans<<endl;
	}
	*/
	cout<<2<<endl;
	cout<<1<<" "<<2;
	return 0;
}

标签:cout,int,题解,P9077,Poddrzewo,序列,操作,数量
From: https://www.cnblogs.com/BadBadBad/p/18081613/P9077

相关文章

  • 亲子游戏【华为OD机试JAVA&Python&C++&JS题解】
    题目描述宝宝和妈妈参加亲子游戏,在一个二维矩阵(NN)的格子地图上,宝宝和妈妈抽签决定各自的位置,地图上每个格子有不同的糖果数量,部分格子有障碍物。游戏规则是妈妈必须在最短的时间(每个单位时间只能走一步)到达宝宝的位置,路上的所有糖果都可以拿走,不能走障碍物的格子,只能上下......
  • SGU171 Sarov zones 题解
    题意:有\(K\)个城市,第\(i\)城市至多有\(N[i]\)个人,每个城市有一个属性\(Q[i]\)。对于\(N=\sumN[i]\)个人,每个人有一个属性\(P[i]\)和价值\(W[i]\),把第\(i\)个人放进第\(j\)个城市中,当且仅当\(P[i]>Q[j]\)时,可以获得\(W[i]\)的价值,否则不获得价值。求出满......
  • [极客大挑战 2019]web部分题解(sql部分已完结,其他部分正在更新)
    SQL部分:[极客大挑战2019]BabySQL打开环境后有登录界面◕‿◕一眼注入,后先试试万能密码:username:admin'or'1'='1password:1 GG,出大问题,我就会这一招啊O.o??完结撒花(不是꒰ঌ(⌯''⌯)໒꒱开玩笑的,着看着像是过滤了or后来尝试了一下oorr双写发现也不行,那咱继续注入哈:尝试......
  • kodbox读取alist文件失败,问题解决过程
    让我先把相关的报错信息通过文字贴到下方,方便被检索出来出错了!(warning!)curlerrorcode=403;系统错误(explorer.editor.fileGet)explorer/editor.class.php[64]IO::fileSubstr(0,1,2)bin/data.bin[2][Linux6.2.0-35-generic/8.2.11/mysqli/1.49.10]在使用kodbbox......
  • CF1941 BCDEF 题解
    B如果要将\(a_1\)删成0,只能对\(a_2\)进行操作:\(a_1\gets0,a_2\getsa_1-2\timesa_1,a_3\getsa_3-a_1\)。\(a_1=0\)后,要将\(a_2\)删成0,只能对\(a_3\)进行相同的操作;要将\(a_3\)删成0,只能对\(a_4\)进行相同的操作……依此类推。可以看出,这是唯一可行的删除方法......
  • Gym 101981-I Magic Potion 题解
    传送门题意:有\(n\)个勇者和\(m\)个怪物,第\(i\)个勇者有一个可杀怪物集合\(M_i\),每个勇者只能杀各自\(M_i\)中的一个怪物。但是你有\(k\)瓶魔药,每一瓶都可以让一个勇者多杀一个\(M_i\)中的怪物。但是每个勇者只能吃一瓶药。问最多能杀多少个。考虑让勇者和怪物匹......
  • POJ3057 Evacuation 题解
    传送门题意:给定一张字符地图,#代表墙,.代表空地,D代表门。初始每个空地都有一个人。每个人可以在一秒内向上下左右移动一格。一个空地可以站任意多人。一个人走到门视作逃生成功。但是门很窄,一个时刻内只能有一个人进门。问所有人逃生的最短时间。\(n\le12\)。注意到门一个......
  • 20240318每日一题题解
    20240318每日一题题解Problem若将一个正整数化为二进制数,在此二进制数中,我们将数字\(1\)的个数多于数字\(0\)的个数的这类二进制数称为\(A\)类数,否则就称其为\(B\)类数。例如:\((13)_{10}=(1101)_2\),其中\(1\)的个数为\(3\),\(0\)的个数为\(1\),则称此数为\(A\)......
  • 20240317每日一题题解
    20240317每日一题题解ProblemSolution提供两种写法,分别用到了string类和c风格字符串。string类是标准库中提供的用于处理字符串的类,避免了传统的C语言中使用字符数组来处理字符串时需要考虑的空间分配、长度控制等问题。c风格字符串实际上就是一个字符数组char[],以字符'......
  • CF999D Equalize the Remainders 题解
    题意给定一个长度为\(n\)的序列和一个模数\(m\),记\(c_i\)表示\(\bmodm\)后的结果为\(i\)的数的个数。现在可以使每个数增加\(1\),请问最少要操作多少次才能使所有\(c_i=\frac{n}{m}\)。并输出最后的序列。First.如何最小化操作次数由于每次操作会使\(c_{a_i\bm......