首页 > 其他分享 >“蔚来杯“2022牛客暑期多校训练营1,签到题GADI

“蔚来杯“2022牛客暑期多校训练营1,签到题GADI

时间:2023-04-27 22:32:03浏览次数:48  
标签:return GADI 签到 蔚来 LL int 点击 MOD mod


题号 标题 已通过代码 通过率 团队的状态
A Villages: Landlines 点击查看 1673/4177 通过
B Spirit Circle Observation 点击查看 39/299 未通过
C Grab the Seat! 点击查看 88/392 未通过
D Mocha and Railgun 点击查看 1589/8517 通过
E LTCS 点击查看 43/324 未通过
F Cut 点击查看 21/154 未通过
G Lexicographical Maximum 点击查看 1834/4971 通过
H Fly 点击查看 56/405 未通过
I Chiitoitsu 点击查看 648/1134 通过
J Serval and Essay 点击查看 160/1331 未通过
K Villages: Landcircles 点击查看 1/45 未通过

文章目录

  • G.Lexicographical Maximum
  • A.Villages: Landlines
  • D.Mocha and Railgun
  • I.Chiitoitsu

G.Lexicographical Maximum

题意:

  • 官方

思路:

  • 官方
#include<bits/stdc++.h>
using namespace std;

int main(){
    string s;  cin>>s;
    if(s.size()==1){
        cout<<s<<"\n";
        return 0;
    }
    int ok = 1;
    for(int i = 0; i < s.size()-1; i++){
        if(s[i]!='9')ok = 0;
    }
    if(ok==0){
        cout<<string(s.size()-1,'9');
    }else{
        cout<<s<<"\n";
    }
    return 0;
}

A.Villages: Landlines

题意:

  • 官方

思路:

  • 能源站可以没有代价无限建,所以我们假设每个地方都有一个能源站好啦
  • 然后电线的话,把没有连上的能源站连上,最小的代价。
  • 题目等价于将n个x±r的区间联通的最小代价。
  • 记得要开longlong
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const LL maxn = 2e5+10;
struct node{ LL l, r;}a[maxn];
bool cmp(node x, node y){
    return x.l!=y.l? x.l<y.l : x.r<y.r;
}
int main(){
    LL n;  cin>>n;
    for(LL i = 1; i <= n; i++){
        LL x, r;  cin>>x>>r;
        // cin>>a[i].l>>a[i].r;
        a[i].l = x-r;
        a[i].r = x+r;
    }
    sort(a+1,a+n+1,cmp);
    LL sum = 0, last = a[1].r;
    for(LL i = 2; i <= n; i++){
        if(a[i].l>last){
            // cout<<i<<"\n";
            sum += a[i].l-last;
        }
        last = max(last, a[i].r);
    }
    cout<<sum<<"\n";
    return 0;
}

D.Mocha and Railgun

题意:

  • 官方

思路:

  • 对于P点和线段2d而言,不难想到两种特殊情况,要么就是2d和圆心连线PO垂直,要么就是重合。
  • 算一下不难发现垂直弧长是最小,重合是弧长最大。
  • 然后根据弦长公式等可以推出弧长。
#include<bits/stdc++.h>
using namespace std;

int main(){
    int T;  cin>>T;
    while(T--){
        double r;  cin>>r;
        double x, y, d;  cin>>x>>y>>d;
        // printf("%.10lf\n", 2*r*asin(d/r));
        double bb = acos((sqrt(x*x+y*y)+d)/r);
        double aa = acos((sqrt(x*x+y*y)-d)/r);
        // cout<<bb<<" "<<aa<<"\n";
        printf("%.10lf\n", r*(aa-bb));
    }
    return 0;
}

I.Chiitoitsu

题意:

  • 官方

    思路:
  • 官方std是期望dp,但是不难想到打表做法。
  • 因为初始手牌只有13张,所以肯定是0对+13张,1对+11张,2对+9张,3对+7张,4对+5张,5对+3张,6对+1张这几种情况。一共也只有7种情况罢了。而且样例给出了数据最大最难算的0+13的情况和小数据5+3供验证打表正确性。
  • 所以直接dfs打表,即可得到答案。
    13:927105416
    11:745749140
    9:707741534
    7:882102328
    5:781250051
    3:100000041
    1:31
//打表
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const LL mod=1e9+7;
LL pows(LL a, LL x) { if(x==0)return 1; LL t = pows(a, x>>1); if(x%2==0)return t*t%mod; return t*t%mod*a%mod; }
LL pows(LL a, LL x, LL p) { if(x==0)return 1; LL t = pows(a, x>>1, p); if(x%2==0)return t*t%p; return t*t%p*a%p; }
LL exgcd(LL a, LL b, LL &x, LL &y){ if(!b){ x = 1, y = 0; return a; }else{LL r = exgcd(b, a%b, x, y); LL t = x; x = y; y = t-a/b*y; return r; }}
void exgcd(LL a, LL b, LL &d, LL &x,  LL & y, LL MOD) { if (b==0) { d = a; x = 1; y = 0; } else { exgcd(b, a % b, d, y, x, MOD); y -= x * (a / b); } }
LL inv(LL a, LL MOD) { LL d=0, x=0, y=0; exgcd(a, MOD,  d,  x, y, MOD); return d == 1 ? (x + MOD) % MOD : -1; }

LL sum=0;
void dfs(int d,int p,int r,LL w){//轮数,单牌,牌库,概率
    if(p<=0){
        sum=(sum+w*(d-1)%mod)%mod;
        return ;
    }
    dfs(d+1,p-2,r-1,w*p%mod*3%mod*inv(r,mod)%mod);//摸到对子,单牌-2,牌库-1, 概率*=p*3/牌库(每种牌p当前牌库里肯定还有3张)
    if(r>p*3) dfs(d+1,p,r-1,(w*(r-p*3)%mod*inv(r,mod)%mod)%mod);//摸到单牌,单牌不变,牌库-1,概率*=(牌库-p*3)/牌库
}

int main(){
    dfs(1,3,34*4-13,1);//开局3张单牌(相同牌开局最多出现两张!所以单牌,牌库里肯定还有3张)
    cout<<sum<<"\n";
    return 0;
}
#include<bits/stdc++.h>
using namespace std;
#define IOS ios::sync_with_stdio(0), cin.tie(0),cout.tie(0)
typedef long long LL;
const LL mod = 1e9+7;
int getid(string s){ //1-34
    if(s[1]=='m')return s[0]-'0';
    if(s[1]=='p')return s[0]-'0'+9;
    if(s[1]=='s')return s[0]-'0'+18;
    if(s[1]=='z')return s[0]-'0'+27;
    return 0;
}
int now[50], all[50];

int main(){
    IOS;
    int T;  cin>>T;
    for(int _w = 1; _w <= T; _w++){
        cout<<"Case #"<<_w<<": ";
        string s;  cin>>s;
        memset(now,0,sizeof(now));
        for(int i = 0; i < (int)s.size(); i+=2){
            int id = getid(s.substr(i,2));
            now[id]++;
            all[id] = (all[id]+4-1)%4;
            if(now[id]==2)now[id] = 0;
        }
        // //开局单牌数量
        int cnt = 0;
        for(int i = 1; i <= 34; i++){
            if(now[i]!=0)cnt++;
        }
        if(cnt==1)cout<<"31\n";
        else if(cnt==3)cout<<"100000041\n";
        else if(cnt==5)cout<<"781250051\n";
        else if(cnt==7)cout<<"882102328\n";
        else if(cnt==9)cout<<"707741534\n";
        else if(cnt==11)cout<<"745749140\n";
        else if(cnt==13)cout<<"927105416\n";
    }
    return 0;
}


标签:return,GADI,签到,蔚来,LL,int,点击,MOD,mod
From: https://blog.51cto.com/gwj1314/6232265

相关文章

  • 最新版人脸识别小程序 图片识别 生成码签到码 地图上选点进行位置签到 计算签到距离
    技术选型1,前端小程序原生MINA框架cssJavaScriptWxml2,管理后台云开发Cms内容管理系统web网页3,数据后台小程序云开发云函数云开发数据库(基于MongoDB)云存储4,人脸识别算法基于百度智能云实现人脸识别一,用户端效果图预览老规矩我们先来看效果图,如果效果图符合你的需求,就继续往下......
  • 人脸签到 进度1
    赵胜府:4.12做了,我画了登陆的界面,连接上了数据库,构思了怎么判断登陆的身份。遇到的问题,我不知道怎么传参,不知道登陆如何判空,准备今天把点击登陆后的页面改错成功,不出现404完成了不同角色的登录功能。王垚基:4.12完成了角色信息的录入,删除与修改张旭彤:2023.4.12昨天:写了发起签......
  • 转载自团队博客:基于深度学习的人脸识别会议签到系统
    电梯演讲:https://www.bilibili.com/video/BV1kc411W7w4?t=9.9原型:1,主界面  2,会议管理  3,人员管理  4,会议室管理......
  • “杭银理财”杯浙江工业大学大学生程序设计竞赛暨全国邀请赛 签到题9题
    ProblemA.GrammyWantstoEarnBigMoney题意:今天是星期天,请计算之后的n天里,有多少天是星期一到星期五的开局太急直接/7*5+余数就交了,WA了一发,没有考虑余数=6的情况#include<bits/stdc++.h>usingnamespacestd;intmain(){intn;cin>>n;n--;intans=(n/7)......
  • 牛客,第二十届北京师范大学程序设计竞赛,签到题7题
    序题号标题已通过代码通过率团队的状态A小凯的疑惑点击查看434/745通过B幻象踩花点击查看121/434通过C跳刀抓人点击查看26/178通过D真正的卡尔点击查看115/714通过E刷新的艺术点击查看31/479通过F最后的战役点击查看1/39未通过G随机数生成器点击......
  • Foursquare新功能:摇摇手机,签到轻松搞定
    有人可能会觉得之前Foursquare的签到功能有些麻烦,得慢慢掏出手机,搜出当前地点,点击“签到”才算完成。Foursquare推出的新功能就简单多啦,该公司利用NFC技术,用户只要摇一摇手机,就能自动对当前地点进行签到,这样用户也不那么容易忘记签到,也不会因为觉得麻烦而不对酒店咖啡厅的进行......
  • 原型展示:基于深度学习的人脸识别会议签到系统
    电梯演讲:https://www.bilibili.com/video/BV1kc411W7w4?t=9.9原型:1,主界面  2,会议管理  3,人员管理  4,会议室管理 ......
  • Tagbrand:签到与电子商务的完美结合
    女生在一起都喜欢讨论穿着打扮,如果谁穿的好看,会感叹一句,哇,真好看,哪里买的?什么牌子?不但如此,现在应用越来越多,人们也喜欢自拍,分享自己的服饰到网上,今天亮相Disrupt的一家创业......
  • 2022牛客寒假算法基础集训营2 签到题7题
    1、C小沙的杀球如果你能够杀球但不杀球,虽然回复了体力,但你后续可能会没有机会继续杀球,并且杀球次数相同,那么回复的体力是相同的,所以在同等条件下,我们应该尽可能多的杀球。......
  • 2022牛客寒假算法基础集训营1 签到题7题
    1、L.牛牛学走路恭喜你签到成功#include<bits/stdc++.h>usingnamespacestd;intmain(){intT;cin>>T;while(T--){intn;cin>>n;strin......