【构造】Codeforces Round #843 (Div. 2) B Gardener and the Array

news/2024/11/24 2:15:16/

Problem - B - Codeforces

题意:

给定一个序列,让你判断是否存在两个子序列使得这两个子序列或起来相等

思路:

设两个子序列是a和b

两个子序列凭空出现,那肯定考虑构造

满足的条件是:

  1. a!=b

  1. f(a)=f(b)

如果只考虑第二个条件,那么特解是a=b

但是考虑到a不能等于b,因此考虑把一些数删掉,使得删掉数后f(a)依然等于f(b)

删掉的这些数满足什么条件呢?满足这个数是可有可无的数

可有可无的数就是删掉之后f(a)依然等于f(b),即二进制位为1的位的1的个数在删之前>=2

因此a就是所有数或起来,b就是a集合去掉可有可无的数

所以结论就是,如果一个数列,它没有可有可无的数,那就不行,否则就可以

以上讨论的是取a为所有数或起来的情况,那么怎么考虑一般情况

事实上是可以证明,所有的一般情况都可以转化为上面讨论的那种情况

这里贴一下pzr大佬的证明:

Code:

#include <bits/stdc++.h>
using namespace std;
const int mxn=2e5+10;
map<int,int> cnt;
vector<int> v[mxn];
int n,k,x;
void solve(){cnt.clear();cin>>n;for(int i=1;i<=n;i++) v[i].clear();for(int i=1;i<=n;i++){cin>>k;for(int j=1;j<=k;j++){cin>>x;v[i].push_back(x);cnt[x]++;}}for(int i=1;i<=n;i++){int ok=1;for(auto it:v[i]){if(cnt[it]<2) ok=0;}if(ok){cout<<"Yes"<<'\n';return;}}cout<<"No"<<'\n';
}
int main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int __=1;cin>>__;while(__--)solve();return 0;
}

总结:

  1. 一些证明怎么去证明:

如果我们要去证明结论的正确性,就去考虑一般的情况,然后看这个一般的情况能不能转化到我们所考虑的特殊情况

一般性证明:直接设未知数,然后考虑直接证

反证法

归纳法

2.构造,先考虑需要满足的条件,然后去考虑特解情况


http://www.ppmy.cn/news/685588.html

相关文章

【Codeforces】 Codeforces Round #843 (Div. 2)

比赛链接 点击打开链接 官方题解 点击打开链接 Problem A1. Gardener and the Capybaras (easy version) 直接按照题意模拟即可 时间复杂度 &#xff0c;因为有 的常数&#xff0c;所以可以通过 #include <bits/stdc.h> using namespace std; const int N(20010…

Codeforces Round #843 (Div. 2) A ~ C 题解

A1&A2 Gardener and the Capybaras 题意 简单版本&#xff1a; A1 困难版本&#xff1a; A2 一个字符串&#xff0c;只包含a和b两种字母&#xff0c;请将这个字符串划分为三个非空字符串&#xff0c;使得第二个字符串的字典序最大或最小。困难版本的数据范围要求此题在线…

834

每天时间过的很快&#xff0c;许多点点滴滴如同昨天发生过一样。忙忙碌碌也不知道自己怎么一步步走到今天。但是每天结束的时候&#xff0c;回想一下发生的事情&#xff0c;收获一天的收获&#xff0c;也会体会到幸福。

Codeforces Round #843 (Div. 2)

Gardener and the Capybaras (easy version) 题目集链接 简单版本就是字符串的长度很小&#xff0c;可以用n2的时间复杂度来算&#xff0c;因为n<100 所以我们可以先枚举a的终点&#xff0c;这时候b的起点就有了&#xff0c;然后我们再枚举b的终点&#xff0c;这时候c的起点…

总结843

学习目标&#xff1a; 5月&#xff08;张宇强化18讲&#xff0c;背诵25篇短文&#xff0c;熟词僻义300词基础词&#xff09; 每日必复习&#xff08;5分钟&#xff09; 做记录本上3道题 学习内容&#xff1a; 暴力英语&#xff1a;回环诵读&#xff0c;继续背一篇阅读理解&…

22中科大843考研经验

22考研&#xff0c;初试总分390&#xff0c;其中信号135。我本科在一所末流211&#xff0c;排名保研边缘&#xff0c;无竞赛无项目&#xff0c;本科期间能水的课全水过去了&#xff0c;纯纯躺了三年。下面我给大家分享一下我个人的一些经验&#xff0c;本经验帖仅供各位参考&am…

中科大843信号与系统中国科学技术大学843信号与系统138,总分420+上岸经验帖

中科大843信号与系统中国科学技术大学上岸经验帖 ​ 编辑切换为居中 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; ​ 数学&#xff1a;&#xff08;多动手&#xff0c;多计算&#xff0c;多总结&#xff0c;打好基础&#xff09; &#xff08;1&…

实现解决843端口安全策略问题心得

首先我这遇到一个问题&#xff0c;就是解决&#xff18;&#xff14;&#xff13;端口安全策略文件的问题。 因为不了解&#xff18;&#xff14;&#xff13;端口安全策略文件的&#xff0c;百度查找资料 搜索关键字 “&#xff18;&#xff14;&#xff13;端口” 有一个貌…