首页 > 其他分享 >winter week5 day5

winter week5 day5

时间:2024-02-23 19:55:42浏览次数:31  
标签:typedef const winter int double day5 long week5 define

2024牛客寒假算法基础集训营6

A

思路:暴力

宇宙的终结

查看代码

#include<bits/stdc++.h>
using namespace std;
#define int long long
//#define int __int128
#define double long double
typedef pair<int,int>PII;
typedef pair<string,int>PSI;
typedef pair<string,string>PSS;
const int N=1e6+5,INF=0x3f3f3f3f,mod=1e9+7,Mod=998244353;
const int MAXN=1e8+5;
const double eps=1e-9;
const int dx[4]={-1,1,0,0};
const int dy[4]={0,0,-1,1};

void solve() {
    vector<int>pri(105);
    vector<int>ans;
    for(int i=2;i<=100;++i){
        for(int j=2;j*j<=i;++j){
            if(i%j==0){
                pri[i]=1;
                break;
            }
        }
    }
    for(int i=2;i<=100;++i){
        for(int j=2;j<=100;++j){
            for(int z=2;z<=100;++z){
                if(i*j*z>100)continue;
                if(i==j||i==z||j==z)continue;
                if(!pri[i]&&!pri[j]&&!pri[z]){
                    ans.push_back(i*j*z);
                }
            }
        }
    }
    sort(ans.begin(),ans.end());
    int l,r;
    cin>>l>>r;
    auto it= std::lower_bound(ans.begin(), ans.end(),l);
    if(it!=ans.end()&&*it<=r)cout<<*it;
    else cout<<-1;
}

signed main(){
    ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    int t=1;
//    cin>>t;
//    init();
    while(t--){
        solve();
    }
    return 0;
}

B

爱恨的纠葛

思路:暴力

查看代码
 #include<bits/stdc++.h>
using namespace std;
#define int long long
//#define int __int128
#define double long double
typedef pair<int,int>PII;
typedef pair<string,int>PSI;
typedef pair<string,string>PSS;
const int N=1e6+5,INF=0x3f3f3f3f,mod=1e9+7,Mod=998244353;
const int MAXN=1e8+5;
const double eps=1e-9;
const int dx[4]={-1,1,0,0};
const int dy[4]={0,0,-1,1};

void solve() {
    int n;
    cin>>n;
    vector<int>a(n),b(n);
    for(auto &v:a)cin>>v;
    for(auto &v:b)cin>>v;
    sort(a.begin(),a.end());
    int mi=3e9,p,tb;
    for(int i=0;i<n;++i){
        auto it= std::lower_bound(a.begin(), a.end(),b[i]);
        int mii=3e9,k;
        if(it!=a.end()){
            if(abs(*it-b[i])<mii)mii=abs(*it-b[i]),k=it-a.begin();
        }
        if(it!=a.begin()){
            it--;
            if(abs(*it-b[i])<mii)mii=abs(*it-b[i]),k=it-a.begin();
        }
        if(mii<mi){
            mi=mii,p=k,tb=i;
        }
    }
    vector<int>ans(n);
    for(int i=0,j=0;i<n;++i){
        if(j==p)j++;
        if(i==tb)ans[i]=p;
        else ans[i]=j++;
    }
    for(int i=0;i<n;++i)cout<<a[ans[i]]<<' ';
}

signed main(){
    ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    int t=1;
//    cin>>t;
//    init();
    while(t--){
        solve();
    }
    return 0;
}

C

心绪的解剖

思路:暴力

查看代码
 #include<bits/stdc++.h>
using namespace std;
#define int long long
//#define int __int128
#define double long double
typedef pair<int,int>PII;
typedef pair<string,int>PSI;
typedef pair<string,string>PSS;
const int N=1e6+5,INF=0x3f3f3f3f,mod=1e9+7,Mod=998244353;
const int MAXN=1e8+5;
const double eps=1e-9;
const int dx[4]={-1,1,0,0};
const int dy[4]={0,0,-1,1};

void solve() {
    vector<int>ve(200);
    ve[1]=0,ve[2]=1;
    int k=45;
    for(int i=3;i<=k;++i){
        ve[i]=ve[i-1]+ve[i-2];
    }
    map<int,vector<int>>mp;
    for(int i=1;i<=k;++i){
        for(int j=1;j<=k;++j){
            for(int z=1;z<=k;++z){
                vector<int>g(3);
                g[0]=ve[i],g[1]=ve[j],g[2]=ve[z];
                int c=g[0]+g[1]+g[2];
                if(c>1e9)continue;
                if(!mp.count(c))mp[c]=g;
            }
        }
    }
    int q,n;
    cin>>q;
    while(q--){
        cin>>n;
        if(mp.count(n)){
            vector<int>g=mp[n];
            for(auto v:g)cout<<v<<' ';
            cout<<'\n';
        }else cout<<-1<<'\n';
    }
}

signed main(){
    ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    int t=1;
//    cin>>t;
//    init();
    while(t--){
        solve();
    }
    return 0;
}

D

友谊的套路

思路:两种情况

查看代码
 #include<bits/stdc++.h>
using namespace std;
#define int long long
//#define int __int128
#define double long double
typedef pair<int,int>PII;
typedef pair<string,int>PSI;
typedef pair<string,string>PSS;
const int N=1e6+5,INF=0x3f3f3f3f,mod=1e9+7,Mod=998244353;
const int MAXN=1e8+5;
const double eps=1e-9;
const int dx[4]={-1,1,0,0};
const int dy[4]={0,0,-1,1};

void solve() {
    double p;
    cin>>p;
    double ans=pow(p,2)*pow(1-p,3);
    p=1-p;
    ans+=pow(p,2)*pow(1-p,3);
    cout<<fixed<<setprecision(6)<<ans;
}

signed main(){
    ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    int t=1;
//    cin>>t;
//    init();
    while(t--){
        solve();
    }
    return 0;
}

E

未来的预言

思路:模拟,提BOx的x被坑了wa了一发

标签:typedef,const,winter,int,double,day5,long,week5,define
From: https://www.cnblogs.com/bible-/p/18030280

相关文章

  • 代码随想录 day58 判断子序列 不同的子序列
    判断子序列dp[i][j]表示以下标i-1为结尾的字符串s,和以下标j-1为结尾的字符串t,相同子序列的长度为dp[i][j]。if(s[i-1]==t[j-1])t中找到了一个字符在s中也出现了if(s[i-1]!=t[j-1])相当于t要删除元素,继续匹配不同的子序列dp[i][j]:以i-1为结尾的s子序列中......
  • 代码随想录 day57 最长公共子序列 不相交的线 最大子数组和
    最长公共子序列dp[i][j]:长度为[0,i-1]的字符串text1与长度为[0,j-1]的字符串text2的最长公共子序列为dp[i][j]主要就是两大情况:text1[i-1]与text2[j-1]相同,text1[i-1]与text2[j-1]不相同如果text1[i-1]与text2[j-1]相同,那么找到了一个公共元素,所以dp......
  • 代码随想录 day56 最长递增子序列 最长连续递增序列 最长重复子数组
    最长递增子序列dp[i]表示i之前包括i的以nums[i]结尾的最长递增子序列的长度状态转移方程的含义:位置i的最长升序子序列等于j从0到i-1各个位置的最长升序子序列+1的最大值。最长连续递增序列dp[i]:以下标i为结尾的连续递增的子序列长度为dp[i]。如果nums[i]>nums[i-1......
  • SDNU_ACM_ICPC_2024_Winter_Practice_1st 赛后
    A:题目给出t个n,对每个n,令n=x+y+z,x|n,y|n,z|n,输出最大的xyz的值。解法打表找规律#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;intmain(){ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);intt;cin>>t;while(t--){......
  • 代码随想录 day55 最佳买卖股票时机
    最佳买卖股票时机含冷冻期1.[i][0]holdingthestock2.[i][1]aftercooldownbutstilnotbuingthestock3.[i][2]sellingthestock4.[i][3]cooldown就是在Ⅱ的基础上加入了第三四个状态这里必须分开才能表示出冷冻期内不能交易买卖股票的最佳时机含手续费......
  • 代码随想录 day54 买卖股票
    买卖股票的最佳时机III这题可以一天进行两次交易解法增加了两种状态虽然不知道为什么这样就可以work但是挺符合逻辑的意思就是把之前的两天交易合到一天进行计算收益也在之前一次交易基础上进行计算买卖股票的最佳时机IV这题就是这类问题的最难情况解法的思想就是......
  • winter 2024 第三四周周报
    内容week3day1https://www.cnblogs.com/bible-/p/18018423这天是打寒假牛客2,请假了后面补的题,补了10道吧,感觉这些题花点时间都是可以写的,但是赛时真的很容易被卡,板子题也挺多,线段树、树状数组、字典树(太久不写有点忘了)week3day3https://www.cnblogs.com/bible-/p/18011488打......
  • SMU Winter 2024 div2 ptlks的周报Week 3(2.12-2.18)
    这周主要加强了对知识点的掌握。P10161[DTCPC2024]小方的疑惑10从题目可以得知a个连续括号贡献为a(a+1)/2,代价为2a。要求总贡献恰为k,且代价不高于n。一开始我想到了模拟,先取一个贡献低于k最大的a,剩下的再直接在外面套括号,结果wa。又想到可以分出多个a来组成k,就用递归,每次......
  • winter week3 day1
    2024牛客寒假算法基础集训营2ATokitsukazeandBracelet#include<bits/stdc++.h>usingnamespacestd;#defineintlonglong//#defineint__int128#definedoublelongdoubletypedefpair<int,int>PII;typedefpair<string,int>PSI;typedefpair<stri......
  • 代码随想录 day53 买卖股票的最佳时机
    买卖股票的最佳时机这里可以用贪心的思路因为只需要买卖各一次股票所以找到最大最小值算区间差也可以这里用dpdp[i][0]表示持股的收益dp[i][1]表示不持股的收益各自各有一种情况是维持原状还有一种就是持股卖出或者不持股买入取max就可以这里用了两个单位的数组只......