2022年3月15日的学习内容有哪些?

2026-05-05 23:302阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计931个文字,预计阅读时间需要4分钟。

2022年3月15日的学习内容有哪些?

1. 今日完成项目+项目一+题意:从(1,1)能否走到终点(2,n)+题解:若同一列全为1,则绝对不可能走到终点,因为图只有两行+查看代码

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日的学习内容有哪些?

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

本文共计931个文字,预计阅读时间需要4分钟。

2022年3月15日的学习内容有哪些?

1. 今日完成项目+项目一+题意:从(1,1)能否走到终点(2,n)+题解:若同一列全为1,则绝对不可能走到终点,因为图只有两行+查看代码

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日的学习内容有哪些?

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