D. Meta-set
题意:给定一段长为k的数字组合,每个数组的选取为{0,1,2}。找到三个组合满足每位上的k都相同或者都不相同可称为1队,对于5个组合组成的meta-set,要求其中对数要大于等于2. 思路: 1.可发现每两个组合可确定一个唯一的组合,围绕着这个组合可产生多对meta-set。 2.进一步发现以自己为中心的组合meta-set的个数为x*(x-1)/2
. 3.接着就是代码的处理。我是将每个组合变成字符串存了起来,用vector也可以。 思维误区: 开始认为组合的中心是已知的,采用O(n2 )循环,从每个组合开始记录有多少满足条件的对数, 再取C(n,2)累加结果。这是错误的,因为这个组合不作为中心时,可作为边缘加入到其他中心的组合中。
#include
#define int long long
#define ios cin.tie(0),cout.tie(0),ios::sync_with_stdio(0);
#define endl '\n'
#define eps 1e-7
using namespace std;
int n,k,s[1005][25];
mapmp,mm;
void solve()
{
cin>>n>>k;
for(int i=1;is[i][j];ss+='0'+s[i][j];
}
mp[ss]=i;
}
int ans=0;
for(int i=1;i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?