A - Leftrightarrow

水题,根据字符串长度构造字符串,然后直接对比即可

void solve(){
    string s;cin>>s;
    string b="<";
    FOR(i,2,s.length()-1)b+='=';
    b+='>';
    cout<<ANS[s==b];
}

B - Integer Division Returns

水题,直接上ceill函数即可。注意cout的格式问题,可能会输出 $-0$ 这种东西,特判一下。

void solve(){
    cout<<setprecision(0)<<fixed;
    DCIN(n);if(n>-10&&n<0){cout<<0;return;}
    cout<<ceill(n/10.0);
}

C - One Time Swap

问你交换一次可以产生多少种字符串。

典题,先让 $ans=\frac{n(n-1)}{2}$ ,然后检查每种字符有多少个,减去 $\frac{c(c-1)}{2}$ 就行,因为两个相同的字符交换时不会改变字符串本身(要注意,“字符串本身”也是一种情况,而不同的字符进行同字符对换都可以产生这一结果,所以要插个flag记录一下)

ll cnt[200];
void solve(){
    string s;cin>>s;
    for(auto &i:s)cnt[i]++;
    ll n=s.length();
    ll ans=(n-1)*n/2;
    bool flag=1;
    FOR(i,'a','z'){
        if(cnt[i]<=1)continue;
        ans-=cnt[i]*(cnt[i]-1)/2-flag;
        flag=0;
    }
    cout<<ans;
}

E - Colorful Subsequence

给你n个有有权值的不同颜色的球,给你k次删除机会,使得相邻两球颜色不同。问你能不能做到,能就输出最大权值和,不能就输出 $-1$ 。

不能用贪心,因为没法由局部最优推出全局最优。

//先挖个坑,有时间填

附录

这里贴上头部定义和main函数部分:

#include<iostream>
#include<vector>
#include<bits\stdc++.h>
#define ll long long
#define ld long double
using namespace std;
#define ET '\n'
#define FOR(i,a,b) for(ll i=(a);i<=(b);i++)
#define rFOR(i,a,b) for(ll i=(a);i>=(b);i--)
#define CIN(a) ll a;cin>>a
#define DCIN(a) ld a;cin>>a
#define CA cout<<ans<<ET
#define CY cout<<"YES"<<ET
#define CN cout<<"NO"<<ET
//没有C++20就不能用ranges了
//#define PP(l,r,CK) *ranges::partition_point(ranges::iota_view((l),(r)+1),(CK))
string ANS[2]={"No\n","Yes\n"};

//solve函数代码

int main(){
    ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    //pre();
    CIN(t);while(t--)
    solve();
    return 0;
}