自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(160)
  • 收藏
  • 关注

原创 pytorch深度学习实践 1~2讲 作业一

b站刘二大人pytorch学习

2022-06-15 11:41:18 216

原创 安装CPU版本的pytorch所需要的channel及指令

不需要

2022-06-03 23:46:38 324

原创 python学习篇(一)1~5章节

python基础语法和c有相似之处,但是仍存在一些易错的地方,这篇主要是找出一些易错的地方 print输出类型混杂时候 age = 23 message = "Happy " + age +"rd Birthday" print (message) 上述写法会报错,这里需要显示的指出是数值23还是字符2和3 需要显示的指出该处使用的是字符 age = 23 message = "Happy " + str(age) +"rd Birthday" print (message) 比较值可以直接输出 age

2021-09-18 16:36:28 244

原创 A1151 LCA in a Binary Tree (30)

map很容易超时,找到一个位置之后把它记录下来再进行比较。 本题思路,用pos表示各数在中序排列中的位置。如果一左一右,则当前根节点就是lca。 #include<cstdio> #include<iostream> #include<map> using namespace std; const int maxn=10010; int in[maxn],pre[maxn]; map<int,int> pos; void Lca(int inl,int inr

2020-07-25 11:51:49 142

原创 A1150 Travelling Salesman Problem (25)

写的有些复杂,后续会修改 #include<cstdio> #include<iostream> using namespace std; const int maxn=210; const int inf=0x3fffffff; int G[maxn][maxn],a[maxn]; bool vis[maxn]={false}; int main() { int N,m; cin>>N>>m; fill(G[0],G[0]+maxn*maxn,inf)

2020-07-24 23:02:08 136

原创 A1149 Dangerous Goods Packaging (25)

写题的时候有点着急了,其实对于fill这个数组可以有更好的处理 #include<cstdio> #include<iostream> #include<vector> using namespace std; const int maxn=1001000; bool vis[maxn]={false}; vector<int>G[maxn]; int main() { int n,m; cin>>n>>m; for(int i=

2020-07-24 22:07:43 149

原创 A1147 Heaps (30) 堆

本题思路: 层序遍历建树; 建树的同时通过两个flag的值,flag1为大顶堆成立,flag2为小顶堆成立,判断的时候如果既是大顶堆又是小顶堆,说明不是堆; 后序遍历节点; #include<iostream> #include<cstdio> using namespace std; const int maxn=1010; int a[maxn],num,n,m; bool flag,flag1,flag2; struct node { int data; node *lc,

2020-07-24 15:48:11 143

原创 A1146 Topological Order (25) 拓扑排序,vector用法

本题刚开始在做的时候也考虑到了这种方法,但是不知道vector的这种用法,之后参考了柳婼前辈的做法,就做出来了,本题难点在怎么保存入度,以及入度是怎么赋值到临时变量中去的。 #include<cstdio> #include<iostream> #include<vector> using namespace std; const int maxn=1010; int in[maxn]; vector<int> v[maxn]; vector<int&g

2020-07-24 15:14:14 216

原创 A1144 The Missing Number (20) map

#include<cstdio> #include<iostream> #include<map> using namespace std; map<int,int> mp; int main() { int n,num; cin>>n; for(int i=0;i<n;i++) { scanf("%d",&num); if(num>0) mp[num]=1; } for(int i=1;i<=n+

2020-07-22 23:01:20 141

原创 A1129 Recommendation System (25) 逻辑///排序

本题刚开始采用的结构体的方式处理这个问题,但是最后导致了3、4两例出现了超时错误,在看了一些同学的分享之后,得出了如下的解法,解法有点类似于缩减样本空间,本来每次都需要排序的,缩减之后变成了每次只有排前面的四个就好,第四个即为当前的输入数据。 #include<cstdio> #include<algorithm> using namespace std; const int maxn=50010; bool hashtable[maxn]={false}; int value[ma

2020-07-19 16:22:10 163

原创 A1128 N Queens Puzzle (20) n皇后

#include<cstdio> #include<iostream> using namespace std; int a[1001]; int main() { int n,m; bool flag; cin>>n; for(int i=0;i<n;i++) { scanf("%d",&m); flag=true; for(int j=1;j<=m;j++) { scanf("%d",&a[j]); f

2020-07-18 19:22:06 133

原创 A1127 ZigZagging on a Tree (30分) 中序后序建树(***)

本题涉及到层序遍历和中序后序建树的问题; 关于z型输出,可以先存在vector中,利用层数的奇偶性来判断是正向输出还是逆向输出; #include<cstdio> #include<iostream> #include<vector> #include<queue> using namespace std; const int maxn=40; int n,in[maxn],post[maxn],maxl=-1,num=0; struct node { in

2020-07-16 19:53:37 201 1

原创 A1126 Eulerian Path (25) 图的连通性的判断(**)

本题要注意判断图是否是连通图,图是否为连通图的办法要掌握; #include<cstdio> #include<iostream> #include<vector> using namespace std; const int maxn=520; vector<int> a[maxn]; int degree[maxn]={0},cnt=0; bool vis[maxn]={false}; void DFS(int x) { vis[x]=true; cn

2020-07-16 18:39:13 138

原创 A1125 Chain the Ropes (25) 贪心

注意题目要求这些片段都要用上,因为刚开始的时候折叠的次数多,所以采用贪心策略,先排序,再得出结果。 #include<cstdio> #include<algorithm> using namespace std; const int maxn=10100; int a[maxn]; int main() { int n; scanf("%d",&n); for(int i=0;i<n;i++) { scanf("%d",&a[i]);

2020-07-16 17:49:37 154

原创 A1124 Raffle for Weibo Followers (20) map的一般用法(**)

map一般不怎么用到,但是典型例题的典型写法一定要掌握到,避免考试的时候蒙圈 #include<cstdio> #include<map> #include<iostream> #include<string> using namespace std; const int maxn=1010; string str[maxn]; map<string,int> mp; int main() { int m,n,s; bool flag=fals

2020-07-16 17:30:05 153

原创 A1123 Is It a Complete AVL Tree (30) AVL完全二叉树

#include<cstdio> #include<iostream> #include<queue> using namespace std; int k=0,n,num;; struct node { int id,height; node *lchild,*rchild; }; int getheight(node *root) { if(root==NULL) return 0; else return root->height; } int

2020-07-16 11:54:37 193

原创 A1122 Hamiltonian Cycle (25) 图?

#include<cstdio> #include<iostream> #include<vector> using namespace std; const int maxn=220; bool hash1[maxn]={false}; int hashtable[maxn][maxn]={0}; int iq[maxn]; int main() { int n,m,k,num; bool flag; cin>>n>>m; for(int

2020-07-15 22:40:35 140

原创 A1121 Damn Single (25) Map的常见用法(原理相同)

#include<cstdio> #include<iostream> #include<vector> #include<algorithm> using namespace std; const int maxn=100010; vector<int> ans; int a[maxn],b[maxn]; bool hashtable[maxn]={false}; int main() { int n,m,c1,c2,c; cin>&g

2020-07-15 21:38:58 165

原创 A1120 Friend Numbers (20) 简单题

#include<cstdio> #include<iostream> #include<vector> #include<algorithm> using namespace std; vector<int> ans; bool hashtable[40]={false}; int change(int x) { int i=0; while(x>0) { i+=(x%10); x/

2020-07-15 19:27:43 142

原创 A1119 Pre- and Post-order Traversals (30) 前序后序转中序

本题前导:https://blog.youkuaiyun.com/destiny_balabala/article/details/99352715; 本题假设是如果判断不了,设该结点为右边的结点。 #include<cstdio> #include<iostream> #include<vector> using namespace std; const int maxn=30; bool flag=false; int post[maxn],pre[maxn]; vector&l

2020-07-15 19:15:02 152

原创 A1118 Birds in Forest (25) 并查集

#include<cstdio> #include<iostream> using namespace std; const int maxn=10010; int father[maxn],isroot[maxn]={0}; bool hashtable[maxn]={false}; void init() { for(int i=0;i<maxn;i++) { father[i]=i; } } int findfather(int x) { int a=x;

2020-07-15 16:21:41 122

原创 A1117 Eddington Number (25) 逻辑题

#include<cstdio> #include<iostream> using namespace std; const int maxn=100010; int hashtable[maxn]={0}; int main() { int n,r; cin>>n; for(int i=1;i<=n;i++) { scanf("%d",&r); if(r>n) { hashtable[n]++; } else

2020-07-15 13:18:21 162

原创 A1116 Come on! Let‘s C (20) 逻辑题

#include<cstdio> #include<iostream> #include<cmath> using namespace std; const int maxn=100001; bool vis[maxn]={false},is[maxn]={false}; int a[maxn],Id[maxn]; bool isprime(int x) { for(int i=2;i<=sqrt(x);i++) { if(x%i==0)

2020-07-15 12:28:13 216

原创 A1111 Online Map (30) 图的遍历dijkstra+DFS

三个注意点: 1、本题没有采用vector的形式做前导的赋值,vector不能直接赋值,而要采用pushback()的方式赋值; 2、本题题目,第三个数为0的时候代表有两条路,而不是不通; 3、本题第三个测试点错误的话,再读一遍题目关于时间相同的话的做法,是结点数目最小,而不是距离最小,一定要认真读题。 #include<cstdio> #include<iostream> #include<vector> using namespace std; const int m

2020-07-13 19:24:12 229

原创 A1110 Complete Binary Tree (25) DFS,逻辑题,完全二叉树的一般判别方法

做本题的时候先考虑用层序,但是没有思绪,又转为考虑DFS的解法,pat的很多解法是双重标注的方法,在做题的时候需要认真想明白index和root分别指向的是当前的位置和当前的元素,两者通过元素访问,index通过访问变化。本题是DFS解法,但是和前面的逻辑题本质无差别。 本题的另外一个需要注意的事项是,因为访问元素可能超过10,这时不能再用char来接受了。 DFS解法 #include<cstdio> #include<iostream> using namespace std;

2020-07-13 12:23:52 171

原创 A1109 Group Photo (25) 拍照(逻辑题)

观察本题的队伍的排列,应该从中间分为左右两侧进行计算,先左后右进行填充。 需要注意一点:题目中给出的ans要加上规模大小,不加的话本题会出现段错误; #include<cstdio> #include<string> #include<iostream> #include<algorithm> #include<vector> using namespace std; const int maxn=10010; struct node { str

2020-07-13 11:14:54 286

原创 A1108 Finding Average (20) sscanf和sprintf

本题需要掌握sscanf和sprintf的用法; 此外注意ansnum为0,1时的特殊输出 #include<cstdio> #include<iostream> #include<cstring> using namespace std; const int maxn=50; char a[maxn],b[maxn]; int main() { int n,ansnum; double num,sum=0; cin>>n; ansnum=n; fo

2020-07-12 17:31:55 151

原创 A1107 Social Clusters (30) 并查集(本题有一个易错点)

合并完成之后,也有可能出现当前节点的父节点没有及时变化的情况,所以isroot里面的是findfather,而不是father数组的形式 #include<cstdio> #include<iostream> #include<vector> #include<algorithm> using namespace std; const int maxn=1010; int course[maxn]={0}; int father[maxn]; int isro

2020-07-12 17:05:08 190

原创 A1106 Lowest Price in Supply Chain (25) 树的遍历

#include<cstdio> #include<iostream> #include<vector> const int maxn=100100; using namespace std; int n,num,mindepth=maxn; double p,r,ans=1; struct node { int id; vector<int>child; }a[maxn]; void DFS(int depth,int index,double nowr

2020-07-12 11:23:29 120

原创 A1105 Spiral Matrix (25) 快乐模拟

本题注释部分需要好好注意,处理的时候避免相互覆盖 #include<cstdio> #include<iostream> #include<algorithm> #include<cmath> using namespace std; const int maxn=10010; int a[maxn][maxn],origin[maxn]; bool cmp(int b,int c) { return b>c; } int main() { int

2020-07-12 11:01:34 122

原创 1104 Sum of Number Segments (20) 数学问题(找规律)(代码数据更新后)

#include<cstdio> int main() { int n; scanf("%d",&n); long double ans=0,v; for(int i=1;i<=n;i++) { scanf("%llf",&v); ans+=v*i*(n-i+1); } printf("%.2llf",ans); }

2020-07-12 10:20:14 160

原创 A1103 Integer Factorization (30) DFS (X)

因为本题有一个index变成index-1的过程,所以这个index一定要大于0,而index内容最小的值为1,所以要注意v的取值 #include<cstdio> #include<iostream> #include<vector> #include<cmath> using namespace std; int n,k,p,maxF=-1; vector<int> v,ans,temp; void init() { int t=0,cnt=

2020-07-11 21:14:57 139

原创 A1102 Invert a Binary Tree (25) 树的遍历

1、涉及字符的时候输入需要注意; 2、本题因为有队列,所以要设置一个node里面要设置一个id,如果只涉及中序遍历的话,可以不用这个参数。 #include<cstdio> #include<queue> #include<iostream> using namespace std; const int maxn=20; bool hashtable[maxn]={false}; int n,cnt1=0,cnt2=0; struct node { int lchild

2020-07-11 18:44:10 108

原创 A1101 Quick Sort (25) 快速排序 (4.7节内容)

#include<cstdio> #include<vector> #include<iostream> #include<algorithm> using namespace std; const int maxn=100010; int origin[maxn],a[maxn]; vector<int> ans; int main() { int n; cin>>n; for(int i=0;i<n;i++) {

2020-07-11 12:07:00 123

原创 A1100 Mars Numbers (20) Map的用法(两种解法)

先给出第一种解法: #include<cstdio> #include<string> #include<iostream> using namespace std; string str1[13] = {"tret","jan", "feb","mar", "apr", "may", "jun", "jly", "aug", "sep", "oct", "nov", "dec"}; string str2[13] = {"tret","tam", "hel", "maa

2020-07-11 11:53:44 244

原创 A1082 Read Number in Chinese (25) 字符串处理

本题是字符串转换问题,在设计计算的时候很明显是以四个数字为一节进行计算,所以可以每次分成四个数字一组进行判断,用left和right来表示边界,设计千百十计算,最后利用len和right来设计万和亿的计算就好了。 #include<cstdio> #include<cstring> char num[10][5]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"}; char wei[5][5]={"Shi","Bai",

2020-07-11 10:47:40 133

原创 A1040 Longest Symmetric String (25) 动态规划

一个注意点,本题的动态规划内容是在长度大于等于3的时候展开的,那么在此之前处理1,2 长度的时候,记得不要忘记ans的值的变化 #include<cstdio> #include<iostream> #include<string> using namespace std; const int maxn=1010; int d[maxn][maxn]={0}; int main() { string str; getline(cin,str); int len=st

2020-07-11 09:13:36 153

原创 A1045 Favorite Color Stripe (30) 动态规划

本题注意的点是可能出现不需要的颜色,提前就应该剔去这个点,也可以使这个点的值最大,这样也能将它并入其中。 #include<cstdio> #include<iostream> #include<algorithm> using namespace std; const int maxn=10010; int d[maxn]={0},a[maxn],index[maxn]={0}; int main() { int n,m,k,ans=-1,temp,num=1; c

2020-07-10 14:47:31 124

原创 A1007 Maximum Subsequence Sum (25) 动态规划

注意输出的是对应的数值,而不是下标 #include<cstdio> #include<iostream> #include<algorithm> using namespace std; const int maxn=100010; struct node { int st; int ed; int data; }a[maxn]; int d[maxn]={0}; bool cmp(node b,node c) { if(b.data!=c.data)re

2020-07-10 12:04:25 132

原创 A1087 All Roads Lead to Rome (30) 最短路径 dikstra+DFS算法

设计多重复杂判断,最好还是用dijkstra+DFS的写法,比较容易理解且设置的变量也不是很多,刚开始只想用dijkstra写,结果在判断的时候被绕进去了,多一个DFS就比较好写了,另外遇到字符串转换成数字的时候是要用到map的。本题是较为常见的写法,所以要牢牢掌握住 #include<cstdio> #include<iostream> #include<map> #include<vector> using namespace std; const int

2020-07-04 17:57:25 172

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除