数学联邦政治世界观
超小超大

数学(六) (2-1)

A.Tricky Template

难度:0,思维

实际上想通一个东西就明白了,无论任何情况a,b总能与模板匹配,我们找到一个字母不让c匹配就可以

1.a=b=c 取c的大写字母

2.a!=b!=c 取c的大写字母

3.a=b!=c 取a小写字母都可以

4.a=c!=b 取除c,b以外的大写字母,相当于无效答案,此时这个字母都匹配

void solve()

{

int n;

string a,b,c;

cin>>n>>a>>b>>c;

for(int i=0;i<n;i++)

if(a[i]!=c[i]&&b[i]!=c[i])

{

cout<<"YES"<<endl;

return;

}

cout<<"NO"<<endl;

}

B. Forming Triangles

因为是2α[i] 作为三角形的边长,所以情况很简单,只有两种情况能构成三角形.

简易证明:

1.三边不等,我们不妨设a<b<c,显然小边之和小于第三边;

2.两边相等,a>b=c,同样无法组成三角形,此时只能有a<b=c的情况可以组成三角形

3.三边相等时显然成立。

因此对于a=b=c,a<b=c这两种情况,用组合数算即可

参考jiangly,C³ₖ 用来枚举第一种情况,k为枚举到当前数时,其出现次数。 C²ₖ * tot 用来枚举第二种情况,tot为在此之前(也就是比当前数字小的数字的出现次数总和)。

void solve() {

int n;std::cin>>n;

std::vector<int>cnt(n + 1);

for (int i = 0; i<n; i++) {

int a;

std::cin>>a;

cnt[a]++;

}

i64 ans = 0;int tot = 0;

for (int i = 0; i <= n; i++) {

//已经排序过,因为枚举的是从0到n的数字

ans += 1LL * cnt[i] * (cnt[i] - 1) * (cnt[i] - 2) / 6;

ans += 1LL * cnt[i] * (cnt[i] - 1) / 2 * tot;

tot += cnt[i];

}

std::cout<<ans<<"\n";

}

C. Closest Cities

数学联邦政治世界观提示您:看后求收藏(同人小说网http://tongren.me),接着再看更方便。

相关小说

all棍:演员的自我修养 连载中
all棍:演员的自我修养
摆烂的羊
all朱,白切黑,雷者自觉【禁抄,仿】“我想放一把火,你们来吗——朱志鑫”“如果只有杀和被杀,那么我一定会选择反杀——左航”
0.7万字4个月前
迷之世界 连载中
迷之世界
桉远惗
这是我睡觉时做的梦
0.1万字4个月前
快穿之宿主又飘了 连载中
快穿之宿主又飘了
执子右zzyo
【1v1双洁,男女主都是同一人】【Bad】一个深夜聊sao的文社√位面一:真假千金肤白貌美假千金VS落魄心机大反派(已完结)位面二:重生逆袭......
34.5万字4个月前
小马宝莉云宝和喷火 连载中
小马宝莉云宝和喷火
陈哲远的未婚妻
互相喜欢。
0.0万字4个月前
海王她在快穿界 连载中
海王她在快穿界
扇贝仙
女主是海王
15.2万字4个月前
吾凰在上-十四篇 连载中
吾凰在上-十四篇
冷霜言,冰无心!
改编《吾凰在上》
0.6万字4个月前