- 博客(51)
- 收藏
- 关注
原创 【机器学习数学基础-线性代数】1.3 解线性方程组
【回顾】 线性方程组的一般形式:a11x1+...+a1nxn=b1...am1x1+...+amnxn=bma_{11}x_1+...+a_{1n}x_n=b_1\\...\\a_{m1}x_1+...+a_{mn}x_{n}=b_{m}a11x1+...+a1nxn=b1...am1x1+...+amnxn=bm其中的aij,bia_{ij},b_iaij,b...
2020-04-14 21:44:37 757
原创 【PAT 甲级】A1024 Palindromic Number (25分)
大数加法,一遍AC,再无其他。#include <bits/stdc++.h>using namespace std;struct bigNum{ char s[1024]; int digit;};bigNum add(bigNum x){ bigNum y; int temp,c=0; for(int i=x.digit-1;i>=0;i--) y....
2020-04-14 13:23:44 169
原创 【PAT 甲级】A1023 Have Fun with Numbers (20分)
考察大数运算,不过用unsigned long long也可以做…我嫌有一点麻烦就没用(毕竟比起求每一位是几,我还是更愿意算一个简单的破乘法)#include <bits/stdc++.h>using namespace std;struct bigNum{ char s[32]; int digit;};int d1[10];int d2[10];int main...
2020-04-12 09:31:39 151
原创 【PAT 甲级】A1022 Digital Library (30分)
学会使用map、set这些构件~坑点1:传参时使用引用,否则速度太慢会超时——直接影响最后一个测试点(4)坑点2:注意ID输出时 %07d ——影响后两个测试点(3和4)#include <bits/stdc++.h>using namespace std;map<string,set<int> > tmap,amap,kmap,pmap,ymap;...
2020-04-08 21:54:49 189
原创 【PAT 甲级】A1021 Deepest Root (25分)
【BFS层次遍历+last变量】一遍AC~思路和之前的一样,使用BFS+last变量进行层次遍历就可以求出深度。遍历以每个结点做根的情况就可以顺利地得到一个深度啦!其他的就是基本操作了,不多b。参考之前写过的一道题的思路:PAT1004#include <bits/stdc++.h>using namespace std;int N;vector<int> v[...
2020-04-08 15:57:51 116
原创 【PAT 甲级】A1019 General Palindromic Number (20分)
目测没坑点吧,就是数组不知道应该开多大#include <bits/stdc++.h>using namespace std;int num[1000010];int main(void){ int n,b,p=0; scanf("%d%d",&n,&b); while(n!=0) { num[p]=n%b; p++; n/=b; } ...
2020-04-05 21:52:30 86
原创 【PAT 甲级】A1018 Public Bike Management (30分)
【Dijkstra+DFS】总共存在三个标尺——最短路径、PBMC派出去的自行车数、PBMC收回的自行车数,同时还需要求解路径。可以说是非常麻烦了qaq坑点:所有车站在调整过程中必须一步到位,不能用路径靠后的结点来调整路径靠前的结点。(然原题目里好像并没有说明这件事,不过这个坑点只值5分)非常好的一组测试点(源自《算法笔记》)://Input10 4 4 54 8 9 00 1 1...
2020-04-05 21:38:35 218
原创 【PAT 甲级】A1017 Queueing at Bank (25分)
测试点5:边界测试点。且要注意到达时间在17:00之前,但服务时间在17:00之后的客户依旧是有效客户!(算法笔记对这里的理解有错误)测试点3/4:注意输出格式!你妈我想骂人了并且这么做了!气死我了!最后的结果并不是直接取天棚…使用普通的除法保留就可以了!!我为什么要多此一举!!我测试了好几个小时!!居然是这个原因!!气死我了【思路:恶心的模拟题+优先队列】网络上关于优先队列的版本已经有很多...
2020-04-05 13:30:06 244
原创 【PAT 甲级】A1016 Phone Bills (25分)
【恶心的模拟题】必须细心,否则很难AC,可以看看这位总结的测试点,非常好用,帮我挑出来一处错误。#include <bits/stdc++.h>using namespace std;int toll[24];int dayCost=0;map<string,int> m;struct node{ bool online; string time;};...
2020-04-04 12:00:36 129
原创 【机器学习数学基础-线性代数】1.2 矩阵
矩阵是线性代数中最基本、最重要的一个元素,同时也是机器学习中用来表征数据的主要手段。故而,本小节内容较多,我们将逐一展开介绍。首先,我们介绍矩阵的定义。一、 矩阵【定义1.2.1-矩阵】 给定正整数m,n∈Nm,n\in\mathbb{N}m,n∈N,我们将(m,n)(m,n)(m,n)矩阵A\bold{A}A定义为将m⋅nm\cdot nm⋅n个元素aija_{ij}aij(其中i=1,....
2020-04-02 10:55:44 954
原创 【机器学习数学基础——线性代数】1.1 线性方程组
一、向量【定义1.1.1-向量】Rn\mathbb{R}^nRn(由nnn个实数组成的nnn元组)
2020-04-01 22:26:14 1203
原创 【机器学习数学基础】Mathematics for Machine Learning 梳理+习题答案
最近在准备保研的同时,打算温习一些数学知识,并且为即将到来的研究生生活添砖加瓦。所以打算开一个专题来督促自己每天能持续地有所收获吧~教材选用:Mathematics for Machine Learning文章内容: 梳理知识点内容、课后练习题答案【声明】 博主知识水平有限,如有错误,还望指出改正,多谢!更新目录进度表(持续更新):1. Linear Algebra 线性代数1.1 S...
2020-04-01 18:16:56 4575
原创 【PAT 甲级】A1015 Reversible Primes (20分)
小坑点:1不是素数哦(可能也不是坑点,是我太菜了…)#include <bits/stdc++.h>using namespace std;bool isPrime(int n){ if(n==1) return false; for(int i=2;i*i<=n;i++) if(n%i==0) return false; return true;}int c...
2020-03-26 09:53:09 98
原创 【PAT 甲级】A1014 Waiting in Line (30分)
【版本一:暴力模拟,19分】都给孩子模拟哭了…什么破题啊烦!#include <bits/stdc++.h>using namespace std;#define MAX 0x3fffffffstruct node{ int t; int finish_time=-1;};int wq[11][21]; //window-queue:the id of the ...
2020-03-26 09:29:35 167 1
原创 【PAT 甲级】A1013 Battle Over Cities (25分)
思路:BFS求连通图的个数就可以啦~#include <bits/stdc++.h>using namespace std;vector<int> v[1010];bool visited[1010];int city,cnt;void BFS(int n){ visited[n]=true; for(int i=0;i<v[n].size();i+...
2020-03-25 21:39:17 122
原创 【PAT 甲级】A1012 The Best Rank (25分)
想都不想直接暴力做不嫌麻烦,反正有复制粘贴#include <bits/stdc++.h>using namespace std;struct node{ int id; int c,m,e,a; int rc,rm,re,ra;};node stu[2020];bool cmpc(node n1,node n2){ return n1.c>n2.c;...
2020-03-24 12:21:28 82
原创 【PAT 甲级】A1011 World Cup Betting (20分)
我爱水题!#这真的是PAT的题目吗?##include <bits/stdc++.h>using namespace std;double odds[3][3];double m[3];int idx[3];char c[3]={'W','T','L'};int main(void){ for(int i=0;i<3;i++) { m[i]=0;idx[...
2020-03-24 11:14:29 175 1
原创 【PAT 甲级】A1010 Radix (25分)
【版本一:暴力模拟,24分】测试点七运行超时…改一下…#include <bits/stdc++.h>typedef long long LL;using namespace std;int cti(char c) //char to int{ if(c>='0'&&c<='9') return c-'0'; else return...
2020-03-24 11:03:59 182
原创 【PAT 甲级】A1009 Product of Polynomials (25分)
第一次尝试的时候忘记了1000*1000=1000,000所以数组要开大一点…别的就没什么了#include <bits/stdc++.h>using namespace std;struct node{ int exp; double coeff;};node a[16];node b[16];double ans[1000010];int main(voi...
2020-03-24 09:41:27 120
原创 【PAT 甲级】A1008 Elevator (20分)
沉迷于写水题无法自拔#这真的是PAT题目吗?##include <bits/stdc++.h>using namespace std;int main(void){ int n,pre=0,sum=0,next; scanf("%d",&n); for(int i=0;i<n;i++) { scanf("%d",&next); if(ne...
2020-03-24 09:19:49 100
原创 【PAT 甲级】A1006 Sign In and Sign Out (25分)
水题#这是PAT的题吗##include <bits/stdc++.h>using namespace std;struct person{ string id; int h,m,s;};int cti(char a,char b) //char to integer{ return (a-'0')*10+(b-'0');}bool cmp(person p...
2020-03-24 09:10:56 101
原创 【PAT 甲级】A1005 Spell It Right (20分)
下次一定好好读题…这种题竟然做了十分钟0.0#include <bits/stdc++.h>using namespace std;string str[10]={"zero","one","two","three","four","five","six","seven","eight","nine"};char n[110];int main(void){ int s...
2020-03-23 16:24:23 77
原创 【PAT 甲级】A1004 Counting Leaves (30分)
【版本一:层次遍历思想,22分】思想:开一个vector数组,记录每个节点的子节点;然后做一次层次遍历就好了。问题是如何区分两个不同的层次呢?这里我引入了一个last变量来记录每一个层次最后一个节点的值。这样只需要不停地更新last就好啦~测试点一死活过不去,提示段错误!我要被折磨死了#include <bits/stdc++.h>using namespace std;ve...
2020-03-23 16:08:09 154
原创 【PAT 甲级】A1002 A+B for Polynomials (25分)
#这真的是PAT题吗?#没有最无聊,只有更无聊!坑点提示:如果系数为0,则不视为有效项。如果这么说的话,其实都不用开一个结构体数组…一个double数组就秒杀了。#include <bits/stdc++.h>using namespace std;struct node{ bool exist=false; double coeff=0;};node poly[1...
2020-03-23 15:05:59 85
原创 【PAT 甲级】A1042 Shuffling Machine (20分)
之前做的忘了,好像是非常简单的一道模拟题。#include <bits/stdc++.h>using namespace std;char c[5]={'S','H','C','D','J'};void transfer(int n){ if(n==54) { printf("J2"); return; } if...
2020-03-23 14:27:20 119
原创 【PAT 甲级】A1001 A+B Format (20分)
这道题是PAT的题吗?= =#include <bits/stdc++.h>using namespace std;int num[10];int main(void){ int a,b,sum,p=0; scanf("%d%d",&a,&b); sum=a+b; if(sum<1000&&sum>-1000) print...
2020-03-23 14:25:17 93
原创 【PAT 甲级】A1057 Stack (30分)
【版本一:分块,17分】我又一次陷入了寻找bug的陷阱里…#include <bits/stdc++.h>using namespace std;int hsh[100010];int block[320];int main(void){ int n; char str[16]; scanf("%d",&n); memset(hsh,0,sizeof(hs...
2020-03-21 22:59:04 95
原创 【PAT 甲级】A1068 Find More Coins (30分)
思路:动态规划…这个题做得我好痛苦看了题解才发现原来只需要逆序做DP,就可以保证选出来的解是顺序的了…#include <bits/stdc++.h>using namespace std;int coin[10010];int dp[10010][110];int ans[10010];bool cmp(int a,int b){ return a>b;}...
2020-03-21 12:07:28 146
原创 【机器学习作业一】 线性回归 + Batch Gradient Descent(BGD) & Stochastic Gradient Descent(SGD)
【吐槽前置】选修课《机器学习》的第一次作业,虽然课讲得不咋地,但该写作业还要写作业啊:)作业内容:分别用BGD和SGD做一个线性回归预测房价。数据集来源:Dataset数据集构成:13个输入=>1个输出(房价)【公式推导】首先,我们需要构造一个线性回归方程作为预测模型,这里我们直接使用最简单的形式,如:y^=WX+b(1)\hat{y}=WX+b\tag{1}y^=WX+...
2020-03-11 18:42:38 519
原创 【PAT 甲级】 A1040 Longest Symmetric String (25分)
经典动态规划问题,不解释了#include <bits/stdc++.h>using namespace std;char s[1024];int dp[1024][1024];int main(void){ fgets(s,1024,stdin); int length=1024,ans=1; while(s[length]!='\n') length--; s[...
2020-03-08 11:59:11 96
原创 【PAT 甲级】A1045 Favorite Color Stripe (30分)
思路: 动态规划时间复杂度: O(ML)O(ML)O(ML)状态转移方程的求解设fvrt数组记录颜色序列;strp数组记录纸袋颜色;dp[i]表示以i为结尾的最大长度。基于此,可对每一个fvrt[j]进行遍历,求得当前的状态转移方程为dp[i]={dp[i−1]+1,if fvrt[j]=strp[i]max{dp[i−1],dp[i]},if fvrt[j]≠str...
2020-03-08 11:30:49 127
原创 【PAT 甲级】A1007 Maximum Subsequence Sum (25分)
我尼玛窒息了,为什么PAT每次都要搞这些奇奇怪怪的小坑点,友好一点不行吗???再一次被题坑了,他要的输出是数字而不是索引index!!!!!坑死了气!简单的动态规划,不多说了#include <bits/stdc++.h>using namespace std;int num[10010];int dp[10010];int main(void){ int n,m,i...
2020-03-07 22:18:12 111
原创 【PAT 甲级】A1030 Travel Plan (30分)
mmp,又一次因为笔误浪费了我一下午的时间!!!!!!!气死爹了我说怎么一直段错误和内存超限轮番攻陷,原来是我赋值的地方写错了真是无语。。核心:Dijkstra#include <bits/stdc++.h>using namespace std;const int INF=0x3ffffff;int g[510][510],path[510],pre[510],cost...
2020-03-06 15:47:49 256 1
原创 【PAT 甲级】A1003 Emergency(25分)
【版本一:无脑Dijkstra,10分】错误原因:题意理解错误,第一个输出应该输出路径条数,而不是weight!!所以只过了一个错误点…我跪了#include <bits/stdc++.h>using namespace std;const int INF=0x3fffffff;int g[512][512],men[512],path[512],m[512];bool v...
2020-03-06 13:48:26 143
原创 【PAT 甲级】A1076 Forwardon Weibo(30分)
再次庆祝一遍过~太爽啦!思路:无脑BFS…毫无特色。#include <bits/stdc++.h>using namespace std;vector<int> net[1024];int visited[1024];int cnt=0,L=0;void BFS(int p,int layer){ queue<int> q; for(int...
2020-03-06 11:54:51 85
原创 【PAT 甲级】A1034 Head of a Gang(30分)
坑点提示:数组应该开到2000+,因为总共可能有1000条记录…否则会有一个测试点提示段错误!思路:一个简单的DFS…没啥特殊的,一定一定要想好怎么保存权值…我是维护了一个边值记录和一个点值数组……我感觉Dev-C++没有函数提示这个是真的太坑啦,每次要想好长时间qwq#include <bits/stdc++.h>using namespace std;struct nod...
2020-03-05 20:41:07 131
原创 【PAT 甲级】A1098 Insertion or Heap Sort (25分)
把堆排序和插入排序复现一遍就好了。不过我个人认为的一个坑点是:对插入排序的处理要格外小心,要跳过对第一个点的插入排序才有可能拿到正确的结果。比如一个测试样例://Input43 4 2 13 4 2 1//Output他应该输出的是Insertion Sort2 3 4 1#include <bits/stdc++.h>using namespace std;...
2020-03-05 12:58:48 127
原创 【PAT 甲级】 A1107 Social Clusters (30分)
我想骂人了我他吗调了一晚上,第二天才发现,竟然在最后一步出岔子了。sort(cluster,cluster+1000,cmp);这条语句错了,应该是1001。我说怎么一直错四个测试点。结论:只要这道题错最后四个测试点的,都是因为这个1000!!【100%】,我之前看过一篇博文就是这里错的,没想到我在最后排序的时候错了!!!【版本一:无脑并查集,20分】【版本二:边界修订,AC30分】...
2020-03-05 11:40:06 126
原创 【PAT 甲级】A1066 Root of AVL Tree (25分)
一遍过~只要弄明白AVL树的构造过程,这个题还是很容易A掉的!没什么坑点。#include <bits/stdc++.h>using namespace std;struct node{ int key,height; node* left; node* right;};int num[21];int getHeight(node* nd){ if(!nd) ...
2020-03-04 14:08:12 100
原创 【PAT 甲级】A1043 Is It a Binary Search Tree(25分)
PAT坑点提示!(当然也可能是我太笨了qwq):定义全局变量的时候一定不要用index这个标识符,否则会提示编译错误!!原因貌似是用了#include <bits/stdc++.h>,这个头文件貌似已经定义了一些标识符,所以冲突了。当然我在Dev-C++上还是运行良好的…【版本一:没读明白题就做了,死得很惨,17分】代码不展示了,连给的样例测试点2都没过hhhh【版本二:这个题...
2020-03-04 09:46:27 208
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人