首页 > 其他分享 >排位1

排位1

时间:2024-02-03 13:44:54浏览次数:17  
标签:int back long cin solve ans 排位

A.解开束缚丝(map写错了,直接存map然后搜索就可以)

#include<bits/stdc++.h>
#include<map>
using namespace std;
void solve()
{
    int n;
    cin>>n;
    int a;
    for(int i=0;i<n;i++)
    {
        map<char,int> mp;//map写成全局记得清!
        cin>>a;
        while(a--)
        {
            char c;
            cin>>c;
            mp[c]++;
        }
        int ans=0,tmp=0;
        for(auto & [a,b]:mp)//遍历,a是字母,b是个数
        {
            if(b&1)tmp=1,ans+=b-1;
            else ans+=b;
        }
        cout<<ans+tmp<<endl;
    }
}
int main()
{
    int t=1;
    while(t--){
        solve();
    }
    return 0;
}

B.7的意志(前缀和加二分)

#include<bits/stdc++.h>
using namespace  std;
#define int long long
int p[100005];
void solve(){
    int n;
    cin>>n;
    vector<int>q(n+1);
    for (int i = 1; i <=n ; ++i) {
        cin>>q[i];
        q[i]=q[i-1]+q[i];//前缀和
    }
    int ans=0;
    for (int i = 1; i <=n ; ++i) {
        int g=*lower_bound(q.begin(),q.end(),q[i-1]+7777);//lower_bound函数,二分查找第一个大于等于q[i-1]+7777的数
        if(g-q[i-1]==7777)ans++;//一个一个区间遍历,如果有区间和等于7777就计数
    }
    cout<<ans<<endl;

}
signed main() {
    ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
    int t=1;
    cin>>t;
    while (t--){
        solve();
    }
}

D.p龙学长的教诲(主要注意末尾标点,然后按一定顺序输出)

#include<bits/stdc++.h>
using namespace  std;
#define int long long
void solve(){
    vector<string>s;
    string g;
    char op;
    while (cin>>g){
        if(g.back()=='.'||g.back()=='!'||g.back()=='?'){
            op=g.back();//存字符
            g.pop_back();//去除字符
            s.push_back(g);//剩余部分存进s
            break;
        }
        s.push_back(g);
    }
    for (int l = 0,r=s.size()-1; l <=r ; ++l,r--) {
        if(l==r){
            cout<<s[l];
        }
        else{
            cout<<s[l]<<' '<<s[r];
            if(r-l>1)cout<<' ';
        }
    }
    cout<<op;
    cout<<endl;
}
signed main() {
    int t=1;
    cin>>t;
    while (t--){
        solve();
    }
}

  

标签:int,back,long,cin,solve,ans,排位
From: https://www.cnblogs.com/violet-hty/p/18004588

相关文章

  • Contest3376 - 2024寒假集训-排位赛竞赛(一)
    A:幂位和高精度。用高精度加法或乘法算出\(2^{1000}\),再将各位累加即为答案。#include<bits/stdc++.h>usingnamespacestd;#definecctieios::sync_with_stdio(0);cin.tie(0);cout.tie(0)stringAP_add(stringA,stringB)//高精度加法{intlena=A.size()......
  • [XMAN2018排位赛]通行证
    打开txt文件得到一串base64编码的字符串a2FuYmJyZ2doamx7emJfX19ffXZ0bGFsbg==解码得到一串貌似是栅栏加密的字符串kanbbrgghjl{zb____}vtlaln这里我直接使用栅栏解密,栏目数设置多少都不对,看了其他师傅的WP后才知道,这里是先进行了栅栏解密,所以我们需要进行栅栏加密的操作才......
  • 暑假排位赛1
    和麻衣学姐一起工作有\(n\)个人,每个人有一个能力值\(v_i\),他只愿意和能力值不低于\(l_i\)且不高于\(r_i\)的人一起合作帮助麻衣学姐。麻衣学姐想知道最多可以选出多少人一起帮她。\(n\)(\(1\len\le10^5\))\(l_i\),\(v_i\),\(r_i\)(\(1\lel_i\lev_i\ler_i......
  • BUUCTF:[XMAN2018排位赛]通行证
    PS:网上有很多解密网站,有时候可能同一种类型解密网站可能解密出不同的内容,所以当一个站解不出来的时候,建议多测试几个,别在一棵树上吊死题目内容:a2FuYmJyZ2doamx7emJfX19ffXZ0bGFsbg==base64解码得到kanbbrgghjl{zb____}vtlaln栅栏密码9(每组字数7)kzna{blnl_abj_lbh_trg_vg}凯撒解......
  • 6 排列与组合:排序、排位、排
    计算排位数目如要算出n个独立对象的排名方式的确切数目,可按下式进行计算:n!=n×(n-1)x(n-2)x…×3×2×1圆形排位如果有个对象需要进行圆形排位,则可能的排位数目按下式进行计算:(n-1)!按类型排位练习:排列排列是指从一个较大(n个)对象群体中取出一定数目(r个)对象进行排......
  • 得分排位赛
    #include<iostream>usingnamespacestd;intmain(intargc,char**argv){intx;cin>>x;if(x>=95&&x<=100){cout<<"你获得了王者称号";......
  • 第一场排位赛题解
    总结阅读能力需要加强这场的题除了最后一题图论建议都补了A-WilburandSwimmingPool在一个二维平面中有一个四边平行于坐标轴的矩形,给出\(1-4\)个坐标,分别对应......
  • [XMAN2018排位赛]AutoKey
    1、得到USB流量,首先了解AutoKey是什么自动秘钥密码(Autokey)_不会学习的小菜鸡的博客-CSDN博客_autokey密码2、安装UsbKeyboardDataHacker.py工具GitHub-WangYihang/......