首页 > 其他分享 >23暑假友谊赛No.2

23暑假友谊赛No.2

时间:2023-07-26 19:46:05浏览次数:37  
标签:typedef const 23 int long solve No.2 友谊赛 define

23暑假友谊赛No.2

#include<bits/stdc++.h>
using namespace std;
#define int long long
//#define int __int128
typedef pair<int,int>PII;

typedef pair<string,int>PSI;
typedef pair<string,string>PSS;
const int N=50+5,INF=0x3f3f3f3f,Mod=1e9+7,mod=998244353;
const int inf=0x3f3f3f3f3f3f;
const double eps=1e-6;
const int dx[4]={-1,0,1,0};
const int dy[4]={0,1,0,-1};


void solve(){

    vector<int>ve(4);
    for(int i=0;i<4;++i)cin>>ve[i];
    int x;cin>>x;
    for(int i=0;i<4;++i){
        if(ve[i]<x)cout<<x-ve[i]<<' ';
        else cout<<0<<' ';
    }
}
signed main(){
    ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    int T=1;
    //init();
    //cin>>T;
    while(T--){
        solve();
    }
    return 0;
}
View Code

 

思路:整理下式子发现答案是n*n

#include<bits/stdc++.h>
using namespace std;
#define int long long
//#define int __int128
typedef pair<int,int>PII;

typedef pair<string,int>PSI;
typedef pair<string,string>PSS;
const int N=50+5,INF=0x3f3f3f3f,Mod=1e9+7,mod=998244353;
const int inf=0x3f3f3f3f3f3f;
const double eps=1e-6;
const int dx[4]={-1,0,1,0};
const int dy[4]={0,1,0,-1};


void solve(){

    int n;cin>>n;
    cout<<(n%mod)*(n%mod)%mod;
}
signed main(){
    ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    int T=1;
    //init();
    //cin>>T;
    while(T--){
        solve();
    }
    return 0;
}
View Code

 

思路:结构体比较

#include<bits/stdc++.h>
using namespace std;
#define int long long
//#define int __int128
typedef pair<int,int>PII;

typedef pair<string,int>PSI;
typedef pair<string,string>PSS;
const int N=50+5,INF=0x3f3f3f3f,Mod=1e9+7,mod=998244353;
const int inf=0x3f3f3f3f3f3f;
const double eps=1e-6;
const int dx[4]={-1,0,1,0};
const int dy[4]={0,1,0,-1};

struct E{
    string a;
    double k;
    bool operator<(const E&e)const{
        if(k!=e.k)return k>e.k;
        return a<e.a;
    }
};
void solve(){
    string s;cin>>s;
    int n;cin>>n;
    vector<string>ve(n);
    vector<E>ans;
    for(int i=0;i<n;++i){
        cin>>ve[i];
        if(ve[i].size()==s.size()){
            int m=0;
            for(int j=0;j<s.size();++j){
                m+=(ve[i][j]==s[j]);
            }
            double kk=m*1.0/s.size();
            ans.push_back({ve[i],kk});
        }
    }
    if(ans.size()==0){
        sort(ve.begin(),ve.end());
        for(int i=0;i<ve.size();++i)cout<<ve[i]<<'\n';
    }else{
        sort(ans.begin(),ans.end());
        for(int i=0;i<ans.size();++i){
            if(ans[i].k==ans[0].k){
                cout<<ans[i].a<<'\n';
            }else break;
        }
    }
}
signed main(){
    ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    int T=1;
    //init();
    //cin>>T;
    while(T--){
        solve();
    }
    return 0;
}
View Code

 

思路:每个数取最大或最小带来的贡献是最大的;

dp[i][j]表示前i个数的情况且第i个数在j(j=0,j=1)位置的最大值,j=0表示a[i]取1,j=1表示a[i]取b[i];

#include<bits/stdc++.h>
using namespace std;
#define int long long
//#define int __int128
typedef pair<int,int>PII;

typedef pair<string,int>PSI;
typedef pair<string,string>PSS;
const int N=1e5+5,INF=0x3f3f3f3f,Mod=1e9+7,mod=998244353;
const int inf=0x3f3f3f3f3f3f;
const double eps=1e-6;
const int dx[4]={-1,0,1,0};
const int dy[4]={0,1,0,-1};
int dp[N][2];
void solve(){
    int n;cin>>n;
    vector<int>ve(n);
    for(int i=0;i<n;++i)cin>>ve[i];
    for(int i=1;i<n;++i){
        dp[i][0]=max(dp[i-1][0],dp[i-1][1]+abs(ve[i-1]-1));
        dp[i][1]=max(dp[i-1][0]+abs(ve[i]-1),dp[i-1][1]+abs(ve[i-1]-ve[i]));
    }
    cout<<max(dp[n-1][0],dp[n-1][1]);
}
signed main(){
    ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    int T=1;
    //init();
    //cin>>T;
    while(T--){
        solve();
    }
    return 0;
}
View Code

 

思路:倒着取654321,哪个缺补哪里

#include<bits/stdc++.h>
using namespace std;
#define int long long
//#define int __int128
typedef pair<int,int>PII;

typedef pair<string,int>PSI;
typedef pair<string,string>PSS;
const int N=1e5+5,INF=0x3f3f3f3f,Mod=1e9+7,mod=998244353;
const int inf=0x3f3f3f3f3f3f;
const double eps=1e-6;
const int dx[4]={-1,0,1,0};
const int dy[4]={0,1,0,-1};

void solve(){
    int s;cin>>s;
    vector<int>k(7);
    for(int i=1;i<=6;++i)cin>>k[i];
    int now=k[6]+k[5]+k[4]+(k[3]+3)/4;
    k[1]=max(0ll,k[1]-11*k[5]);
    int c=k[4]*5;
    int d=min(k[2],c);
    k[2]-=d,c-=d;
    if(c)k[1]=max(0ll,k[1]-c*4);
    c=4-k[3]%4;
    if(c!=4){
        d=2*c-1;
        int c1=min(k[2],d);
        k[2]-=c1;
        int d1=c*9-c1*4;
        k[1]=max(0ll,k[1]-d1);
    }
    if(k[2]>0){
        c=(k[2]+8)/9;
        now+=c;
        d=9-k[2]%9;
        if(d!=9)k[1]=max(0ll,k[1]-d*4);
    }
    if(k[1]>0){
        c=(k[1]+35)/36;
        now+=c;
    }
    if(now>s)cout<<"No\n";
    else cout<<"Yes\n";
}
signed main(){
    ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    int T=1;
    //init();
    cin>>T;
    while(T--){
        solve();
    }
    return 0;
}
View Code

 

 

标签:typedef,const,23,int,long,solve,No.2,友谊赛,define
From: https://www.cnblogs.com/bible-/p/17583374.html

相关文章

  • 2023年7月26日 天气:晴
        今天早上起来背了10个英语单词,然后学习了一个小时的java,写了一会英语阅读,然后和朋友出去打了两个小时的羽毛球,最后写了一会作业。    明天打算看一小时的电视剧,然后和朋友出去玩一会,打一两个小时的篮球,最后晚上练一小时的字,然后学习一小时的java。......
  • NOI 2023 录
    是不是没进集训队不配写回忆录啊,那就摆了吧。Day1我还是难以理解,我是怎样打出100+15+0的好成绩的。也许是因为T1复杂做法调了2.5h才过;也许是因为T2不会找规律也不会正经的dp转移顺序50分m^3暴力还写挂;也许是因为T3从头读错题面到最后也没写出一个正确的低分暴......
  • 行业追踪,2023-07-26,如果主力不骗人,化工原料和磷化工有第一波机会
    自动复盘2023-07-26凡所有相,皆是虚妄。若见诸相非相,即见如来。k线图是最好的老师,每天持续发布板块的rps排名,追踪板块,板块来开仓,板块去清仓,丢弃自以为是的想法,板块去留让市场来告诉你跟踪板块总结:成交额超过100亿排名靠前,macd柱由绿转红成交量要大于均线有必要给每个行......
  • NOI2023 游记
    把前面的复习实况删了,因为实在太摆了!前面在cdqz训了两场模拟赛,垫了两场底!!熟悉了下cdqz键盘,能打。Day0报道日。由于是第一个进去了,被拉着生产了很多照片/采访,开幕式好像重复利用了很多遍这些素材。领到了很多徽章,拉着学弟主动social了很多老哥!!虽然最后还是没有juju......
  • 暑假集训D3 2023.7.26 补题
    G.P6183[USACO10MAR]TheRockGameS题意:给定长度n,构造\(2^n\)个由X和O组成的字符串,使得第一个字符串和最后一个字符串只由O组成,并且相邻的字符串只有一处不同,不得有重复的字符串.BFS貌似做不了.看题解有佬用格雷码的知识.代码如下#include<stdio.h>#include<st......
  • 设计师2023常用的协同设计工具推荐
    组织结构越来越复杂,团队中的每个人都有独特的技能、经验和专业知识。我们怎样才能让团队更好地合作?在这种情况下,协同设计应运而生。UI的未来是协同设计!如果你想把握未来的设计趋势,不妨从使用高效的协同设计软件开始!本文帮助您盘点10款适合UI/UX设计师的协同设计软件1.即时设......
  • 20230726
    复赛完全背包定义:有n种物品和一个容量为v的背包,第i种物品体积为c[i],价值为w[i],每种物品有无穷件,问如何选取物品放入背包,可使价值总和最大。与01背包的区别:01背包一个物品只能选一件,而完全背包一个物品可以选多件例题时间:1s空间:128M题目描述:一个旅行者有一个最......
  • 2023-7-26 Dynamic替代部分反射的简单实现方式
    Dynamic与反射的使用【作者】长生实体类publicclassSchool{ publicintGetAge(){ return100;}}使用反射获取对象里的方法 Schoolschool=newSchool(); varmethod=typeof(School).GetMethod("GetAge"); intage=(int)method.Invoke(school,null); Console.W......
  • Day16(2023.07.26)
    行程9:00 到达上海市徐汇区宛平南路1099号城建大厦9:45  与客户进行漏扫方面交流11:30--13:00   吃饭休息13:30         管理方面交流16:30         下班......
  • 【2023-07-26】要有目标跟着走
    20:00千万别嘲笑一个人的理想,哪怕它像一棵弱小而丑陋的树苗,但无论土层有多厚,压住它的石块有多重,只要它女里的方向正确,那么它的未来就是光明的。                                         ......