首页 > 其他分享 >Acwing.第135场周赛

Acwing.第135场周赛

时间:2023-12-24 11:13:34浏览次数:32  
标签:std 周赛 const idx int namespace long 135 Acwing

比赛地址

A.买苹果

题目

思路:

简单的模拟一下就好了

代码:

#include<bits/stdc++.h>
using namespace std;
void solve(){
	int n,x;
	cin>>n>>x;
	cout<<n/x<<endl;
	return ;
	

}
int main(){

	int t=1;
	while(t--){
		solve();
	}
	return 0;

}

B.牛群

题目

思路:

也是简单的模拟一下,字符的种数一定是2-4之间的,然后根据情况进判断就可以了

代码:

#include<bits/stdc++.h>
using namespace std;
#define int long long

void solve(){
    string s;
    cin>>s;
    set<char> s1;
    std::map<char, int> mp;

    for(int i=0;i<s.size();i++){
        s1.insert(s[i]);
        mp[s[i]]++;


    }
    bool f=false;
    if(s1.size()==4){
        cout<<"Yes"<<endl;
        return ;
        
    }
    if(s1.size()==3){
        bool f1=false;

        for(auto i:s1){
            if(mp[i]!=1){
                f1=true;
            }
        }
        if(f1){
            cout<<"Yes"<<endl;
            return ;
        }
        else{
            cout<<"No"<<endl;
            return ;
            
        }
    }
    if(s1.size()==2){
        bool f1=true;
        for(auto it:s1){
            if(mp[it]<2){
                f1=false;
            }
        }
        if(f1){
            f=true;
        }
        else{
            f=false;
            
        }
    }
    if(f){
        cout<<"Yes"<<endl;

    }
    else{
        cout<<"No"<<endl;

    }
    
    return ;
    

}
signed main(){
    int t=1;
    while(t--){
        solve();

    }
    return 0;

}

C.货运公司

题目

思路:

贪心,我们优先考虑价值最大的

代码:

#include<bits/stdc++.h>
#define int long long 
using namespace std;
const int N=1e3+10;
int n,k;
map<int,int> h;

struct node {
    int idx;
    int c;
    int p;
    bool operator < (const node &a2) {
        if(a2.p==p) return c<a2.c;
        return p>a2.p;
    }
}a[N];

struct f {
    int idx;
    int w;
    bool operator < (const f &a2) {
        return w<a2.w;
    }
}r[N];

bool st[N];
signed main() {
    cin>>n;
    for(int i=1;i<=n;i++) {
        cin>>a[i].c>>a[i].p;
        a[i].idx=i;
    }
    sort(a+1,a+n+1);
    cin>>k;
    for(int i=1;i<=k;i++) {
        cin>>r[i].w;
        r[i].idx=i;
    }
    sort(r+1,r+k+1);
    int m=0,ans=0;
    for(int i=1;i<=n;i++) {
        int w=a[i].c;
        bool f=false;
        int id=0;
        for(int j=1;j<=k;j++)
            if(!st[j]&&w<=r[j].w) {
                st[j]=true;
                f=true;
                id=j;
                break;
            }
        if(f) {
            m++;
            ans+=a[i].p;
            h[a[i].idx]=r[id].idx;
        }
    }
    cout<<m<<" "<<ans<<"\n";
    for(int i=1;i<=n;i++) {
        if(h[i]) cout<<i<<" "<<h[i]<<"\n";
    }
    return 0;
}

标签:std,周赛,const,idx,int,namespace,long,135,Acwing
From: https://www.cnblogs.com/du463/p/17924165.html

相关文章

  • 力扣第 376 场周赛(三分,中位数贪心,滑动窗口)
     用一个哈希表记录一下,然后遍历统计一下即可。classSolution{public:vector<int>findMissingAndRepeatedValues(vector<vector<int>>&grid){intn=grid.size();unordered_set<int>st;vector<int>res;......
  • 牛客周赛 Round 24
    牛客周赛Round24比赛地址最后一题没想到用二分做,可惜可惜,思考的方向错了A小红的矩阵构造题目链接思路:主要是区分一下n是奇数还是偶数,是奇数的话就正常输出就行,是偶数的话就可以把偶数行逆着输出代码:#include<bits/stdc++.h>usingnamespacestd;voidsolve(){ intn......
  • Acwing.第134场周赛
    Acwing.第134场周赛比赛地址A排序题目思路:简单的模拟代码:#include<bits/stdc++.h>usingnamespacestd;voidsolve(){ inta,b,c; cin>>a>>b>>c; intans=a+b+c; intmaxn=max(a,max(b,c)); intminn=min(a,min(b,c)); cout<<minn<<"......
  • [ABC135D] Digits Parade
    题目意思:给你一个数(1<=数的位数<=1e5),中间包含任意位'?','?'可以是'0'~'9'中的任意数,求有满足被 13整除后余5的数 的个数。解题思路:用dp解,dp数组记录第一位到第 i 位数为止的数整 除13余k 的个数,最后输出最后一位 整除13余5的数 的个数。话不多说,直接上代码:#incl......
  • Acwing秋季每日一题补题---搜索字符串
    搜索字符串题目链接思路:字符串哈希+滑动窗口当然因为符合题意的子串会重复,所以我们要考虑去重的问题代码:#include<bits/stdc++.h>usingnamespacestd;#defineintunsignedlonglongconstintN=2e5+10;constintP=131;chara[N],b[N];//字符串intcnt[26];//统......
  • ACwing343.排序
    1.Floyd写法:#include<cstring>#include<iostream>#include<algorithm>usingnamespacestd;constintN=26;intn,m;boold[N][N];boolst[N];intcheck(){for(inti=0;i<n;i++)if(d[i][i])re......
  • [QOJ1359] Setting Maps
    题目链接\(k=1\)的时候显然是最小割。把一个点\(u\)拆成两个点,中间连流量为\(c_u\)的边。那么考虑扩展到\(k\)更大的情况。把上图的每个入点和出点都拆成\(k\)个。把节点\(u\)第\(i\)层入点和第\(i+1\)层入点连接,再把第\(i\)层入点和所有满足\(j>i\)层的出......
  • 第 375 场周赛(滑动窗口,区间合并)
     使用差分的思想进行解决classSolution:defcountTestedDevices(self,batteryPercentages:List[int])->int:diff=0forxinbatteryPercentages:ifx>diff:diff+=1returndiff    clas......
  • 二分——acwing算法基础课笔记
    个人笔记,欢迎补充、指正。此次完全以个人理解来写。整数二分 整数二分有两种,分别是找左边界和找右边界。 寻找符合要求的左边界:绿色点intbsearch_1(intl,intr){while(l<r){intmid=l+r>>1;//对应下界,最左if(check(mid))r=......
  • Acwing 840. 模拟散列表
    题面:维护一个集合,支持如下几种操作:Ix,插入一个整数 \(x\);Qx,询问整数 \(x\) 是否在集合中出现过现在要进行 \(N\) 次操作,对于每个询问操作输出对应的结果。原题链接:840.模拟散列表-AcWing题库哈希表[1]基本概念哈希表也叫散列表,通过将键映射到索引位置(在关键......