2022.3.15学习记录

Posted 大闸蟹不要闸

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2022.3.15学习记录相关的知识,希望对你有一定的参考价值。

1.今日完成题目

题目一

题意:从(1,1)能否走到终点(2,n)

题解:若同一列中全为‘1’,则绝对不可能走到终点,因为图只有两行

查看代码

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<queue>
#include<stack>
#include<map>
#include<set>
#include<vector>
#include<cmath>
using namespace std;
#define maxn 100020
#define inf 1e8
char maps[2][200];
int t,num;
int main()

    std::ios::sync_with_stdio(false);
    std::cin.tie(0);
    cin>>t;
    for(int z=0;z<t;z++)
    
        int n;
        cin>>n;
        num=0;
        for(int i=0;i<n;i++)
            maps[0][i]=maps[1][i]=\'0\';
        for(int i=0;i<2;i++)
        
            for(int j=0;j<n;j++)
            
                cin>>maps[i][j];
            
        
        // cout<<maps[0][1];
        int flag=1;
        for(int j=0;j<n;j++)
        
            // cout<<"!!"<<endl;
            if(maps[0][j]==\'1\'&&maps[1][j]==\'1\')
            
                cout<<"NO"<<endl;
                flag=0;
                break;
            
        
        if(flag)
            cout<<"YES"<<endl;
        
        // cout<<n<<endl;
    
    return 0;

 

 题目二

题意:是否可以把分成两组人数相同的同学分别集中安排到不同的week day(chose from Monday to Frinday)上课

题解:暴力统计是否存在两列数据中方便上课的同学数>=总人数的一半并且满足这两列数据中所有同学都可以来上课

查看代码

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<queue>
#include<stack>
#include<map>
#include<set>
#include<vector>
#include<cmath>
using namespace std;
#define maxn 100020
#define rep(i,l,r) for(register int i = l ; i <= r ; i++)
#define repd(i,r,l) for(register int i = r ; i >= l ; i--)
#define inf 1e8
const int N=1e3+10;
int maps[N][6],num[6];
vector<int> vis[6];
set<int>s;
void mergep(int x,int y)

    for(int i=0;i<vis[x].size();i++) s.insert(vis[x][i]);
     for(int i=0;i<vis[y].size();i++) s.insert(vis[y][i]);
 
int main()

    std::ios::sync_with_stdio(false);
    std::cin.tie(0);
    int t;
    cin>>t;
    while(t--)
    
        int n;
        cin>>n;
        memset(maps,0,sizeof(maps));
        memset(num,0,sizeof(num));
        memset(vis,0,sizeof(vis));
        rep(i,1,n) rep(j,1,5) 
            cin>>maps[i][j];
            if(maps[i][j]) num[j]++,vis[j].push_back(i);
        
        int flag=0;
        for(int i=1;i<=4;i++) 
            for(int j=i+1;j<=5;j++)
            s.clear();
            mergep(i,j);
            if(num[i]>=(n>>1)&&num[j]>=(n>>1)&&s.size()==n)
            
                flag=1;
                cout<<"YES"<<endl;
                break;
            
            
            if(flag) break;
        
        if(!flag)
        cout<<"NO"<<endl;
    
    return 0;

 2.总结部分

one.今天的第一题因为数据的类型用错,导致我多用了很长时间来debug,所以今后写的时候要考虑好该用什么数据类型,debug时也优先看看这些细节的地方(数据类型,数据范围等)

two.今天看完一位兄弟的博文后深有感触——谁都不是神,看一遍就会,做一道就会举一反三。靠的是不断地复习巩固,不断地反思。因此,我决定以后每天都更新一下博文来总结今天的学习内容,同时以后每周也会刻意的去复习已经学过的知识。

最后,不要茫然,选好了路边便风雨兼程走下去,加油,加油,加油!!!

以上是关于2022.3.15学习记录的主要内容,如果未能解决你的问题,请参考以下文章

2022.3 C++植物大战僵尸项目总结

学习工作记录汇总

leveldb 学习记录Log文件

2016年5月份学习记录

Solidity学习记录——第二章

Python学习记录8——Numpy模块的深入了解学习(记录API)