zoukankan      html  css  js  c++  java
  • luogu线性表刷题

    今天养老了,stl简单题,,,就多看看别人大佬的思路吧

    p3613
    这个题用的是一个比较巧妙的方法,就是参考dl的博客,,,因为数据范围只有1e5,所以你可以通过第一维*1e5+第二维来表示,这样就用一个map就可

    #include <bits/stdc++.h>
    using namespace std;
    //现在的过程就是,简单题处理细节,难的题就学习思路
    map<long long,long long> m;
    int n,q;
    int main(){
        cin>>n>>q;
        while(q--){
            int t;
            cin>>t;
            if(t==1){
                long long a,b,c;
                cin>>a>>b>>c;
                m[a*100000+b]=c;
            }
            else{
                long long a,b;
                cin>>a>>b;
                cout<<m[a*100000+b]<<endl;
            }
        }
        return 0;
    
    }
    

    还有一个你可以用结构体(结构体数组嵌套两个vector)

    num[a].v1.push_back(b)
    num[a].v2.push_back(c)

    建立一个这种映射

    约瑟夫环
    重刷约瑟夫,用queue

    #include<iostream>
    #include<queue>
    using namespace std;
    queue<int> q;
    int n;
    int k;
    int main(){
    	cin>>n>>k;
    	for(int i=1;i<=n;i++){
    		q.push(i);
    	}
    	int num=1;
    	while(!q.empty()){
    		if(num==k){
    			int x=q.front();
    			q.pop();
    			cout<<x;
    			num=1;
    			if(q.size()!=0){
    				cout<<" ";
    			}
    		}
    		else{
    			int x=q.front();
    			q.pop();
    			q.push(x);
    			num++;
    		}
    	}
    }
    
    为了自己,和那些爱你的人
  • 相关阅读:
    博雅机器学习十讲1
    tensorflow学习笔记1
    卓有成效的程序员3
    卓有成效的程序员2
    卓有成效的程序员1
    探索需求6
    数据预处理
    数据科学介绍
    探索需求5
    探索需求4
  • 原文地址:https://www.cnblogs.com/zhmlzhml/p/14367520.html
Copyright © 2011-2022 走看看