- 博客(472)
- 资源 (3)
- 收藏
- 关注
原创 LeetCode 数据库解题目录(mysql版&含vip题)
花重金氪了一个力扣会员 就为了刷上锁的vip题 数据库其实挺重要的以下是解题目录:175. 组合两个表176. 第二高的薪水
2021-03-24 23:15:02 1253 24
原创 一文彻底解决pip安装时速度慢的问题
使用Python的时候需要安装各种模块,而pip是很强大的模块安装工具,但是由于国外官方pypi经常被墙,导致不可用,所以我们最好是将自己使用的pip源更换一下,这样就能解决被墙导致的装不上库的烦恼。最有效且成功率几乎百分百的方法:使用国内源,笔者这里是使用清华大学的镜像源每次在cmd命令行下以如下格式输入pip install -i https://pypi.tuna.tsin...
2019-11-14 23:04:22 2798 19
原创 软件工程七大设计原则
接口隔离原则:一个类对另一个类的依赖应该建立在最小的接口上,应该要最小化接口,使得所有实现接口的类完全实现接口中的函数合成复用原则:如果想要实现一个新类,最好是基于原有类的api进行扩展,而不是选择继承这种方式破坏基类的封闭性迪米特法则:愚民政策,老死不相往来,每个模块之间单线联系,出了事只会断掉一环而不是全局。对象之间的调用仅限于对方在逻辑上与自身有之间关系单一职责法则:一个模块只完成一项任务,实现高内聚,可以提高模块的可移植性和重用性开闭原则:对拓展开放,对修改关闭,比较玄学。里氏代
2022-01-01 20:02:33 1268
原创 AcWing 1088. 旅行问题(前缀和 单调队列优化dp 破环成链 )
题目链接:1088 旅行问题思路:1.破环成链,加上一倍这是常规操作。2.引用两张图:顺时针,我们可以倒着遍历,为什么呢,是因为我们可以在倒着遍历的时候处理到后n个的窗口最小值,然后遍历到前n个的时候我们就可以将第i个和窗口最值比较,只要比这个最值小就可以保证环绕一圈逆时针,注意到有几个不同:1.首先i点是当前点油量减去到前一个点的距离,那么这里就要考虑到第一个点,就是第n个点到下一个点(第一个点)的距离2.其实本质是一样的,那么我们就要正着处理,处理到后n个就处理完了前n给的窗口最小
2021-10-13 00:07:22 402
原创 2021-10-10-Acwin1087. 修剪草坪(单调队列优化dp)
题目链接:https://www.acwing.com/problem/content/1089/思路见下图:代码:#include<iostream>using namespace std;#define int long longconst int N=1e5+10;int f[N],n,k,s[N];int q[N];int g(int i){ if(!i)return 0; return f[i-1]-s[i];}signed main(){
2021-10-10 20:13:27 265
原创 AcWing 300. 任务安排1( 前缀和 dp优化)
思路:代码:#include<iostream>#include<limits.h>#include<cstring>#define int long longusing namespace std;const int N=5010;int n,f[N],sumt[N],sumc[N],s;//f[i][j]=f[k][j-1]+(t[1]+...+t[i]+j*s)*(c[k+1]+...+c[i])signed main(){ cin&.
2021-10-07 13:44:45 142
原创 Goland 解决proxy、go get超时问题
安装 golang gin 依赖包的时候,发现长时间没有响应,无法下载,从返回的错误信息看应该是国内无法访问 golang.org。解决办法使用国内七牛云的 go module 镜像。参考 https://github.com/goproxy/goproxy.cn。golang 1.13 可以直接执行:go env -w GO111MODULE=ongo env -w GOPROXY=https://goproxy.cn,direct然后再次使用 go get 下载 gin 依
2021-08-30 20:46:38 1076
原创 关于DMA(Direct memory access)比较通俗浅白的理解
什么是DMA?DMA就是不通过CPU来实现外设与存储器之间数据交换的控制器,是硬件DMA有什么优势?如果通过CPU来传送,分为轮询(CPU不断查询外设接口数据准备情况或接收情况)、中断(外设发出请求CPU暂停保存现场后执行中断程序传送数据)占用CPU计算周期DMA方式是一种完全由硬件进行组信息传送的控制方式,具有中断方式的优点,即在数据准备阶段,CPU与外设并行工作。DMA由哪些部分组成?...
2021-08-08 21:26:41 621
原创 冲刺预推免刷题复习小记
四道pat甲级链表题1516. 共享标记一下地址就可以#include<bits/stdc++.h>using namespace std;const int N=1e5+10;int n,fir,sec,ne[N];char e[N];vector<int>a,b;int st[N];int main(){ cin>>fir>>sec>>n; for(int i=1;i<=n;i++){
2021-08-07 23:37:30 180
原创 AcWing 3194. 最大的矩形(单调栈变形)
题目链接简单说下思路哈:我们都知道单调栈可以求出左边第一个比自己小的数,那么其实这道题目我们只要线性复杂度求出最左边第一个比自己小的数和最右边比自己小的数就可以,比较麻烦的是最右边的,我们可以反转一遍数组,然后简单推导一下就可以求出等价最右边比自己小的数#include<bits/stdc++.h>using namespace std;const int N=1010;stack<int>s;int n,a[N],ans,l[N],r[N];int main
2021-07-02 01:06:53 150
原创 编译原理复习 预测分析法中出错处理
非递归预测分析在什么场合下发现错误1.栈顶的终结符和下一个输入符号不匹配栈顶是非终结符A,输入符号是a,而M[A , a]是空白– No allowable actions
2021-06-20 00:04:19 458
原创 数据库的事务机制基本知识
1、事务的基本要素(ACID)原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A向B转账,不可能A扣了钱,B却没收到。隔离性(Isolation):同一时间,只允许一个事务请求同一数据,不同的事务之间彼此没有任何
2021-06-05 23:12:02 179
原创 AcWing 80. 骰子的点数 (背包、滚动数组优化)
考虑用动归,数组dp[i][j]表示用i个骰子扔出和为j的可能数,因为第i个骰子可能扔出1-6的点数,则dp[i][j]=dp[i-1][j-1]+dp[i-1][j-2]+dp[i-1][j-3]+dp[i-1][j-4]+dp[i-1][j-5]+dp[i-1][j-6],由于我们只需要用到最后一次的结果,因此为了节省空间可以使用滚动数组,将二维dp数组变为一维。class Solution {public: vector<int> numberOfDice(int n)..
2021-05-26 21:49:49 140
原创 AcWing 3549. 最长非递减子序列 (lis或者状态机)
这道题目最优解是1*2*1*2*类型,这样就有两种处理方式:一种是求1*2*的长度再加上1*2*的长度,枚举求最大值还有一种方式是四部分分成四个状态去求,也很好转移,下面代码给出的是第一种求法:#include<bits/stdc++.h>using namespace std;const int N=1e6+10;int n,a[N],pre[N],ne[N],f[2],ans;int main(){ cin>>n; for(int i=1..
2021-05-24 11:54:12 137
原创 集成学习boosting
Boosting 的核心思路是 — — 挑选精英。Boosting 和 bagging 最本质的差别在于他对基础模型不是一致对待的,而是经过不停的考验和筛选来挑选出「精英」,然后给精英更多的投票权,表现不好的基础模型则给较少的投票权,然后综合所有人的投票得到最终结果。大部分情况下,经过 boosting 得到的结果偏差(bias)更小。具体过程:通过加法模型将基础模型进行线性的组合。 每一轮训练都提升那些错误率小的基础模型权重,同时减小错误率高的模型权重。 在每一轮改变训练数据.
2021-05-23 23:08:10 149
原创 集成学习bagging
集成学习就是将现有的所有机器学习方法综合起来,进行组装bagging(bootstrap aggregating的缩写,也称作“套袋法”)就是其中的一种Bagging 的核心思路是 — — 民主。Bagging 的思路是所有基础模型都一致对待,每个基础模型手里都只有一票。然后使用民主投票的方式得到最终的结果。大部分情况下,经过 bagging 得到的结果方差(variance)更小。具体过程:从原始样本集中抽取训练集。每轮从原始样本集中使用Bootstraping的方法抽取.
2021-05-23 23:02:37 182
原创 AcWing 631. Googol字符串 (递归、思维题)
原题链接对于每个字符串,分为三个部分、前中后,中间由最独立的0组成,前面一直继承下来不变,后面记录一个反转对应的位置以及将本位上的值翻转的次数(0变1,1变0)#include <bits/stdc++.h>using namespace std;#define int long longint t,k,res;void dfs(int k,int p,int cnt){ if(k==(p+1)/2){ res=0; for(int
2021-05-23 15:43:10 152
原创 Acwing 152. 城市游戏(暴力枚举平面 单调栈)
#include<bits/stdc++.h>using namespace std;const int N=1010;int n,m;char s[N][N];int a[N],ans=-1,l[N],r[N];int get(int x){ for(int i=1;i<=m;i++){ int cnt=0,tep=x; while(tep>=1&&s[tep][i]=='F')cnt++,tep--;...
2021-05-13 20:52:34 255
原创 Fatal error: gnu/stubs-32.h: No such file or directory
64位linux提示gnu/stubs-32.h:No such file or directory的解决方法这个问题是由于缺少32位兼容包,解决办法:Ubuntu: sudo apt-get install libc6-dev-i386CentOS:yum -y install glibc-devel.i686
2021-05-13 15:27:57 2363
原创 AcWing 12. 背包问题求具体方案(背包求方案数经典模板,一定要会)
#include<bits/stdc++.h>using namespace std;const int N=1010;int n,m,f[N][N],v[N],w[N];int main(){ cin>>n>>m; for(int i=1;i<=n;i++){ cin>>v[i]>>w[i]; } for(int i=n;i>=1;i--){ for(int...
2021-05-11 23:48:23 118
原创 AcWing 11. 背包问题求方案数(背包问题求方案数)
#include<bits/stdc++.h>using namespace std;const int N=1010,mod=1e9+7;int f[N],cnt[N],n,m;signed main(){ cin>>n>>m; for(int i=0;i<=m;i++)cnt[i]=1; int u,v; for(int i=1;i<=n;i++){ cin>>u>>...
2021-05-11 22:48:48 116
原创 Leetcode 1723. 完成所有工作的最短时间 (dfs,剪枝)
class Solution {public: int ans=INT_MAX,sum[13]={0}; int minimumTimeRequired(vector<int>& jobs, int k) { dfs(0,k,sum,jobs,0,0); return ans; } void dfs(int u,int k,int sum[],vector<int>jobs,int tepans,int ...
2021-05-08 23:21:16 151
原创 Leetcode 618. 学生地理信息报告(分组行转列)
select min(case when continent='America' then name end) America, min(case when continent='Asia' then name end)Asia, min(case when continent='Europe' then name end)Europe from( select *,row_number() over(partition by continent or...
2021-05-05 10:08:45 128
原创 AcWing 756. 蛇形矩阵
模拟1、4个while循环,分别对应向右,向下,向左,向上走,走一趟为一个周期2、若在当前方向的下一个位置可以踩,则踩过去#include<bits/stdc++.h>using namespace std;const int N=110;int a[N][N];int n,m;int main(){ cin>>n>>m; int k=0,x=0,y=-1; while(k!=n*m){ while(y+1..
2021-05-01 11:47:39 74
原创 Leetcode 612. 平面上的最近距离
select round( pow(pow(p1.x-p2.x,2)+pow(p1.y-p2.y,2),1/2),2 ) shortest from point_2d p1 inner join point_2d p2 where p1.x<>p2.x or p1.y<>p2.y order by 1 asc limit 1
2021-04-28 16:57:11 152
原创 AcWing 166. 数独(dfs,位运算 剪枝集萃)
#include<bits/stdc++.h>using namespace std;const int N=100,M=9;char s[N];int ma[1<<M],ones[1<<M];int col[M],row[M],cell[3][3];int lb(int x){ return x& -x;}void init(){ for(int i=0;i<M;i++){ col[i]=row[i]=...
2021-04-27 17:13:12 101
原创 Leetcode 610. 判断三角形
select * , case when x+y>z and y+z>x and x+z>y then 'Yes' else 'No' end triangle from triangle
2021-04-27 17:11:57 111
原创 Leetcode 608. 树节点(case when)
select id, case when p_id is null then 'Root' when id in (select p_id from tree) then 'Inner' else 'Leaf' end typefrom tree
2021-04-26 23:00:43 99
原创 Leetcode 607. 销售员(经典嵌套子查询)
select name from salesperson s where sales_id not in ( select sales_id from orders where com_id=( select com_id from company c where name='RED' ) )
2021-04-25 16:24:54 87
原创 AcWing 196. 质数距离(二次筛法 区间筛质数)
思路:摘自小呆呆#include<bits/stdc++.h>using namespace std;#define int long longconst int N=5e6+10;bool st[N];int pr[N],cnt;void init(int x){ memset(st,0,sizeof st); for(int i=2;i<=x;i++){ if(!st[i]){ pr[cnt++]=i..
2021-04-25 15:54:42 124
原创 Leetcode 603. 连续空余座位
(求连续的几个序号都可以用lag和lead这种套路,新增列然后判断)select seat_id from (select * ,lag(free,1) over(order by seat_id) l1,head(free,1) order(order by seat_id) l2 from cinema) A where free=1 and (l1=1 or l2=1)...
2021-04-24 23:29:50 105
原创 第22次CCF计算机软件能力认证 第四题 校门外的树(dp)
思路:预处理出因数,然后dp#include<bits/stdc++.h>using namespace std;#define int long longconst int N=1010,M=1e5+10,mod=1e9+7;vector<int>v[M];bool st[M];int f[N],n,a[N];signed main(){ for(int i=1;i<M;i++){ for(int j=2*i;j<M;j..
2021-04-24 20:52:38 1550 5
原创 Leetcode 602. 好友申请 II :谁有最多的好友
本质上就是统计两列中相同数字的最大值,注意到limit 1表示取第一行limit x,y表示从第x+1行开始取y行select id1 id,count(*) num from( select requester_id id1,accepter_id id2 from request_accepted r1 union select accepter_id id1,requester_id id2 ..
2021-04-17 14:44:18 78
原创 Leetcode 601. 体育馆的人流量(lag 和head 函数)
select id,visit_date,people from( select *, lag(people,1) over(order by id)l1, lag(people,2)over(order by id) l2, lead(people,1) over(order by id)l3, lead(people,2) over(order by id)l4 from stadium ...
2021-04-17 14:21:53 165
原创 数据库的三级模式与二级映像
数据库的模式(Schema)是对现实世界的抽象,是对数据库中全部数据的逻辑结构和特征的描述。模式反映的是数据的结果及其联系,数据库系统在其内部具有三级模式和二级映像。三级模式分别是外模式、模式和内模式,二级映像则是外模式/模式映像、模式/内模式映像。 三级模式 (1)模式 模式对应着概念级,它是由数据库设计者总和所有用户的数据,按照统一的观点构造的全局逻辑结构,是对数据库中全部数据的逻辑结构和特征的总体描述,是所有用户的公共数据视图。它是由数据库管理系统提供的数据模式描述语言(Da...
2021-04-17 00:01:21 5737
原创 Leetcode 597. 好友申请 I:总体通过率(round,计数)
select round( ifnull( 1/(count( distinct f1.sender_id,f1.send_to_id) /count(distinct r1.requester_id,r1.accepter_id)),0),2) accept_rate from friendrequest f1 , reques...
2021-04-16 22:52:25 138
原创 Leetcode 596. 超过5名学生的课(group by + having
select class from courses group by 1 having count(distinct student)>=5
2021-04-16 22:31:09 73
原创 Leetcode. 1294. 不同国家的天气类型(非常经典的order by +where限制分组查询)
select c.country_name, case when avg(w.weather_state)<=15 then "Cold" when avg(w.weather_state)<25 then "Warm" else "Hot" end weather_type from countries c inner join weather w on c.country_id =w.country_id .
2021-04-14 21:43:04 99
原创 Leetcode 595. 大的国家
select name,population,area from world where area>3000000 or population>25000000
2021-04-13 17:05:19 74
原创 Leetcode 586. 订单最多的客户
select customer_number from orders group by 1 order by count(*) desclimit 0,1
2021-04-13 17:03:04 90
Matlab教程(从新手到骨灰级玩家).pdf
2019-06-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人