首页 > 其他分享 >Monoxer Programming Contest 2024(AtCoder Beginner Contest 345)

Monoxer Programming Contest 2024(AtCoder Beginner Contest 345)

时间:2024-03-17 16:34:58浏览次数:29  
标签:AtCoder Beginner 10 int ll 0pts Contest 345

Monoxer Programming Contest 2024(AtCoder Beginner Contest 345)

\(A\) Leftrightarrow \(100pts\)

  • 按照题意模拟即可。

    点击查看代码
    int main()
    {
        string s;
        int a=0,b=0,c=0,i;
        cin>>s;
        for(i=0;i<s.size();i++)
        {
            a+=(s[i]=='<');
            b+=(s[i]=='=');
            c+=(s[i]=='>');
        }
        if(a==1&&c==1)
        {
            cout<<"Yes"<<endl;
        }
        else
        {
            cout<<"No"<<endl;
        }
        return 0;
    }
    

\(B\) Integer Division Returns \(200pts\)

  • 当 \(x<0\) 时,有 \(\left\lceil \frac{x}{10} \right\rceil\) 等价于 \(\frac{x}{10}\) 向 \(0\) 取整。

  • 当 \(x \ge 0\) 时,有 \(\left\lceil \frac{x}{10} \right\rceil= \left\lfloor \frac{x+10-1}{10} \right\rfloor\) 。

    • 直接使用 ceil(1.0*x/10) 会爆精度。
    点击查看代码
    int main()
    {
        ll x;
        cin>>x;
        if(x<0)
        {
            cout<<x/10<<endl;
        }
        else
        {
            cout<<(x+10-1)/10<<endl;
        }
        return 0;
    }
    

\(C\) One Time Swap \(350pts\)

  • 对于 \(S_{i}\) ,设 \(num_{S_{i}}\) 表示 \(S_{i+1 \sim n}\) 中 \(S_{i}\) 出现的次数,则 \(S_{i}\) 对答案产生的贡献为 \(n-i-num_{S_{i}}\) 。

  • 注意原串在存在两个相同的元素的时候,也要统计在内。

    点击查看代码
    ll num[30];
    char s[1000010];
    ll val(char x)
    {
        return x-'a'+1;
    }
    int main()
    {
        ll n,ans=0,flag=0,i;
        scanf("%s",s+1);
        n=strlen(s+1);
        for(i=1;i<=n;i++)
        {
            flag|=(num[val(s[i])]!=0);
            num[val(s[i])]++;
        }
        for(i=1;i<=n;i++)
        {
            num[val(s[i])]--;
            ans+=n-i-num[val(s[i])];
        }
        cout<<ans+flag<<endl;
        return 0;
    }
    

\(D\) Tiling \(0pts\)

\(E\) Colorful Subsequence \(0pts\)

\(F\) Many Lamps \(0pts\)

\(G\) Sugoroku 5 \(0pts\)

总结

标签:AtCoder,Beginner,10,int,ll,0pts,Contest,345
From: https://www.cnblogs.com/The-Shadow-Dragon/p/18078732

相关文章

  • AtCoder-abc345_f题解
    题意简述给定一个无向图。你要在其中选出一些边,使得选出的边所构成的图中,度数为奇数的点有\(K\)个。如果可以,输出选了哪些边,否则输出-1。思路首先在选一条边时,边两端点度数的奇偶性一定都会改变,即要么都变为奇数,要么两个点的奇偶性交换过来,要么都变为偶数。这三种情况时满足......
  • AtCoder Beginner Contest 345
    是这样的,C的longlong只开了ans没开全局,AC12WA12,调了一个小时,在赛后1min发现了该错误。没开longlong见祖宗,望周知;这是C的码,简单的小题一只,可怜的longlong。#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;strings;intn,f,ans;map<char......
  • AtCoder Grand Contest 022 E Median Replace
    洛谷传送门AtCoder传送门考虑对于一个确定的串怎么判断合法性。容易发现删到某个时刻若\(1\)的个数大于\(0\)的个数了,因为我们肯定不会蠢到在不是全\(1\)的时候删\(111\),所以\(c_1-c_0\)在不是全\(1\)的时候至少是不会变小的。所以我们的目标就是让\(c_1-c_0......
  • Dwango Programming Contest 6th D 题解
    正好测试一下专栏的题解系统。我省选寄了都怪洛谷/fn/fn/fn/fn/fn/fn/fn题解显然可以对于所有关系建有向边,显然是基环外向树森林。由于是字典序最小,因此找到最小的上一个点没有直接连向边的点一定最优。但是有时取最优会导致最后无法选完,我们考虑无法选完的情况。第一种是......
  • AtCoder Beginner Contest 344 A-G 题解
    AtCoderBeginnerContest344A-SpoilerQuestion删除两个|之间的字符Solution按照题意模拟即可Code#include<bits/stdc++.h>usingnamespacestd;intmain(){strings;cin>>s;stringp1,p2;for(inti=0;i<s.size();i++){......
  • Toyota Programming Contest 2024#3(AtCoder Beginner Contest 344)
    C先预处理出三个数组能拼出的数,存放到map中。查询的时候只需要看这个数是否出现在map里即可。时间复杂度\(O(n^3\logv+Q\logv)\),\(n\leq100\),\(\logv\)是map的时间复杂度。#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongconstintN=3e......
  • AtCoder Beginner Contest 344
    B-Delimiter难度:⭐题目大意把一个数组倒序输出;解题思路没啥好说的;神秘代码#include<bits/stdc++.h>#defineintlonglong#defineIOSios::sync_with_stdio(false);cin.tie(0);cout.tie(0);#defineendl'\n'usingnamespacestd;constintN=4e6+......
  • AtCoder Beginner Contest 344
    A-Spoiler#include<bits/stdc++.h>usingnamespacestd;usingi32=int32_t;usingi64=int64_t;usingldb=longdouble;#defineinti64usingvi=vector<int>;usingpii=pair<int,int>;constintmod=998244353;constintinf......
  • AtCoder Beginner Contest 344
    AtCoderBeginnerContest344ABCD略EInsertorErase手写链表调了这么久。。链表模板。FEarntoAdvance考虑DP,但是我们发现不是很好转移,然后我们发现\(n\le80\),我们观察一下题目的性质。如果路径确定了,那么我们肯定会在最大值的地方使劲加到终点为止。那么我们考......
  • AtCoder Beginner Contest 344
    基本情况ABCE秒了,D小细节处理出错(太久没写dp)+4。D-StringBagshttps://atcoder.jp/contests/abc344/tasks/abc344_d分组背包,但是字符串的细节要注意signedmain(){intn;std::stringT,str[110][15];intF[110][110],a[110];std::cin>>T>>n;......