首页 > 其他分享 >牛客周赛

牛客周赛

时间:2023-11-21 20:35:13浏览次数:31  
标签:周赛 return int u1 u2 牛客 flag ans

牛客周赛 Round 20

1.小红的数位删除(二进制枚举)

输入1:

37 111

输出1:

0

说明:

111是37的倍数,所以小红不需要任何操作。

输入2:

1234 99

输出2:

2

说明:

第一个数删除数字'1',变成234。第二个数删除数字'9',变成9。234是9的倍数。

二进制枚举
#include<bits/stdc++.h>
#define IOS ios::sync_with_stdio(false);cin.tie(nullptr),cout.tie(nullptr)
#define y second
#define x first

using namespace std;

const int N = 1e5 + 7;

unordered_map<int, int> mpa, mpb;
int ans;

inline void get1(string s) {
    int n = s.size();
    for(int i = 1; i < (1 << n); i ++) {
        int ans = 0, t = 0;
        for(int j = 0; j < n; j ++)
            if((i >> j) & 1)
                ans = ans * 10 + s[j] - '0', t ++;
        mpa[ans] = n - t;
    }
}

inline void get2(string s) {
    int n = s.size();
    for(int i = 1; i < (1 << n); i ++) {
        int ans = 0, t = 0;
        for(int j = 0; j < n; j ++)
            if((i >> j) & 1)
                ans = ans * 10 + s[j] - '0', t ++;
        mpb[ans] = n - t;
    }
}

inline void solve() {
    string s1, s2;
    cin >> s1 >> s2;
    get1(s1);
    get2(s2);
    ans = 1e6;
    for(auto a : mpa)
        for(auto b : mpb)
            if(a.x % b.x == 0||b.x % a.x == 0)
                ans = min(ans, a.y + b.y);
    if(ans > 1e6 / 2) ans = -1;
    cout << ans << '\n';
}

signed main() {
    IOS;
    int T = 1; // cin >> T;
    while(T --)
        solve();
    return T ^ T;
}

2.小红的漂亮串(dfs)

输入1:

3

输出1:

1

输入2:

4

输出2:

52

dfs
#include<bits/stdc++.h>
#define IOS ios::sync_with_stdio(false);cin.tie(nullptr),cout.tie(nullptr)
#define mod 1000000007

using namespace std;

const int N = 1e5 + 10;

int f[N][4][4][2];
int n;

inline int dfs(int u, int u1, int u2, int flag) {
    if(u == n) return flag;
    if(f[u][u1][u2][flag]) return f[u][u1][u2][flag];
    int ans = 0;
    for(int i = 0; i < 26; i ++) {
        if(u1 == 2&&u2 == 1&&i == 0) continue;
        if(u1 == 0&&u2 == 1&&i == 2) ans = (ans + dfs(u + 1, u2, i > 2 ? 3 : i, 1)) % mod;
        else ans = (ans + dfs(u + 1, u2, i > 2 ? 3 : i, flag)) % mod;
    } return f[u][u1][u2][flag] = ans;
}

inline void solve() {
    cin >> n;
    cout << dfs(0, 3, 3, 0) << '\n';
}
signed main() {
    IOS;
    int T = 1; // cin >> T;
    while(T --)
        solve();
    return T ^ T;
}

标签:周赛,return,int,u1,u2,牛客,flag,ans
From: https://www.cnblogs.com/chfychin/p/17847509.html

相关文章

  • leetcode324场周赛
    一、使三个字符串相等给你三个字符串s1、s2和s3。你可以根据需要对这三个字符串执行以下操作任意次数。在每次操作中,你可以选择其中一个长度至少为2的字符串并删除其最右位置上的字符。如果存在某种方法能够使这三个字符串相等,请返回使它们相等所需的最小操作次数......
  • 第 372 场周赛(位运算技巧,跳表 + 二分,线段树)
     classSolution:deffindMinimumOperations(self,s1:str,s2:str,s3:str)->int:cnt=0fora,b,cinzip(s1,s2,s3):ifnota==b==c:breakcnt+=1ifcnt==0:......
  • 牛客小白月赛81 F 小辰刚学gcd
    LInk首先我们可以注意到,两个数的gcd要不是它们当中较小的那一个要不是它本身。所以对于一个特定的\(r\),\(gcd_{i=p}^r,1<=p<=r\)来说,答案不会超过32种。并且因为gcd的性质,答案一定是成块且递减的。所以我们可以直接记录下对于每一个\(r\),答案都有哪些,从哪里开始出现。并......
  • Acwing.第130场周赛
    Acwing.第130场周赛比赛链接A.最大数和最小数题目链接思路:简单模拟,使用max()和min()函数就可以了代码:#include<bits/stdc++.h>usingnamespacestd;voidsolve(){ inta,b,c; cin>>a>>b>>c; cout<<max(a,max(b,c))<<""<<min(a,min(b,c))<......
  • 25届实习秋招-Java面试-MySQL数据库面试题整理-牛客网近一年
    MySQL概述:关系型数据和非关系型数据库的区别,有哪些应用场景有哪些非关系的单表操作:三种SQL语言类型,MySql本身常用命令DDL-数据定义语句:表的常用操作truncate/delete--drop操作的区别varchar最大字节数DMLUpdate语句的sql执行流程对行数据的修改是......
  • 牛客小白月赛81
    牛客小白月赛81A.小辰打比赛#include<bits/stdc++.h>usingnamespacestd;intmain(){intn,x,y,sum;cin>>n>>x;sum=0;for(inti=1;i<=n;++i){cin>>y;if(y<x)sum+=y......
  • 牛客网语法直播笔记-前30分钟-无图
    学习网址:https://www.nowcoder.com/study/live/528/1/1第一个问题:数组下标越界数组下标越界没有规定说声明的数组要挨着放,也就是图中的abc三个数组是没有规定地址是连在一起的,一般来说编译器是会这么干的,而且每个编译器的都会在之间留点空(也就是0)每个编译器所留的空还不一样。这里......
  • 牛客题霸 BM1 反转链表
    BM1 反转链表  简单  通过率:38.76%  时间限制:1秒  空间限制:256M知识点链表描述给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。 数据范围: 0\leqn\leq10000≤n≤1000要求:空间复杂度......
  • bupt ai院第一次周赛题解
    题目一简单模拟题点击查看代码#include<bits/stdc++.h>usingnamespacestd;#defineebkemplace_back#definexfirst#defineysecondtypedefpair<int,int>PII;typedeflonglongll;typedefunsignedlonglongull;typedefvector<string>VS;typedef......
  • 牛客-sql编程-错误
    问题:程序异常退出,请检查代码"是否有数组越界等异常"或者"是否有语法错误"SQL_ERROR_INFO:"YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear'--合并表\nselect*\nfrom(\nselec......