自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 PyTorch深度学习实践第二讲线性模型

b站刘二大人PyTorch深度学习实践第二讲线性模型

2023-01-26 16:19:05 560

原创 关于conda换源以及pytorch的下载问题

关于conda换源以及pytorch下载问题的解决

2023-01-26 12:13:51 788 1

原创 树状数组

一、使用原因一般的数组修改操作的复杂度是O(1),求前缀和操作的复杂度是O(n);而同时维护一个前缀和数组时修改操作的复杂度是O(n),求前缀和操作复杂度是O(1);当我们有m次操作时,时间复杂度就会达到O(mn),达到了平方级别,而我们维护一个树状数组时求前缀和和修改操作的复杂度是O(logn),总时间复杂度只有O(mlogn),达到了很快的程度。首先要了解lowbit运算,二进制分解下...

2022-11-07 16:14:37 232 1

原创 sklearn进行数据处理

掌握sklearn转换器的用法。掌握训练集、测试集划分的方法。掌握使用sklearn进行PCA降维的方法。

2022-10-27 16:47:19 3269

原创 Xshell连接Linux终端

Xshell可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。Xshell连接终端需要分两种情况:一种是云主机,已经配置好了所有的设置;另一种是没有配置好的普通主机。Xftp与Xshell作用类似,但是目的是用于互传文件。

2022-04-23 19:03:12 1822

原创 避免死锁 —— 银行家算法

综述以下概念引用与百度百科银行家算法(Banker’s Algorithm)是一个避免死锁(Deadlock)的著名算法,是由艾兹格·迪杰斯特拉在1965年为T.H.E系统设计的一种避免死锁产生的算法。它以银行借贷系统的分配策略为基础,判断并保证系统的安全运行。做作业时遇到银行家算法的题,同时本着想要加深一下对于避免死锁和银行家算法的理解,所以选择用程序实现一下该算法。本来想使用C++进行编写,毕竟老ACM选手了,但是学完Python之后没怎么用过,所以就用Python实现了。算法操作时需要使

2022-04-17 21:50:37 4295 1

原创 Eclipse连接Derby数据库

配置derby数据库有的jdk版本没有内置derby,需要自己下载,这个是官网,derby官网,下载之后把derby的bin目录加到环境变量就能用了eclipse连接derby数据库代码运行derby服务没办法启动的,可以按书上把derby里lib文件夹下的jar包加到jdk的ext里面。如果加了之后还是不行或者没有ext文件夹,可以在eclipse的项目里面建一个lib文件夹,把derby的jar包放进去,然后右键随便点一个jar,依次选择build path(构建路径),add to path(

2021-12-03 14:13:57 2164

原创 Codeforces Round #731 (Div. 3) E题解

传送门题意给定一个长度为\(n\)的一维区间,区间里有\(k\)个空调,不存在重合的情况。每个空调能在其位置\(a\)上造成温度\(t\),每远离该位置\(1\)个单位距离,温度上升\(1\)。每个点的温度是所有的空调在这里造成的温度的最小值。思路易知往右边的位置,是左边的空调的最小值加上\(1\),右边的空调最小值减去\(1\),因此我们考虑:\(a[j] < i\),此时往...

2021-09-13 22:53:00 94

原创 Harbour.Space Scholarship Contest 2021-2022 (open for everyone, rated, Div. 1 + Div. 2) D题解

传送门题意给定两个字符串\(a\)和\(b\),要求依次输入\(a\)中的字符,并进行以下两种操作:输入当前字符不输入当前字符,并删除前一个字符使得最终输入的字符和\(b\)字符相等。思路由于当前的字符不被删除就一定会被选上,因此考虑从后往前遍历\(a\)字符,如果与\(b\)字符相等就选上,否则删除。代码int n;string a, b; int main(){...

2021-09-13 22:53:00 153

原创 Codeforces Round #726 (Div. 2) D题解

传送门题意AliceAliceAlice和BobBobBob在玩游戏。他们从一个正整数nnn开始轮流对它进行运算。每个回合,玩家可以从nnn中减去一个非111或nnn的因数。在他/她的回合中不能移动的玩家输。AliceAliceAlice总是先动。注意,他们在每个回合中都要减去当前数字的除数。你被要求找出如果两名玩家都选择最佳策略,谁将赢得游戏。思路证明:我们先考虑nnn为奇数的情况:当nnn为质数时,先手无法选择任何数。即先手必输当nnn为合数时,这个奇数的因子必然是奇数,那么这个n

2021-06-21 03:03:53 611

原创 矩阵乘法 —— 洛谷 P3193 [HNOI2008]GT考试

该题与\(IndeedTokyo2019\)校招笔试题涉及密码有相同的思路,都是\(DP\)问题。思路由于状态的数量众多,所以我们需要使用状态机模型考虑一大类状态的转移。使用闫氏\(DP\)分析法,从集合角度分析问题:状态表示:\(f[i, j]\),表示长度为\(i\)且没有不吉利数字,且与不吉利数字匹配的最大前缀长度为\(j\)的所有字符串。所具有的属性为数量。状态计算:我们从...

2021-06-14 17:46:00 266

原创 Codeforces Round #722 (Div. 2) 题解

我的博客题目链接这次题目其实蛮坑的,有点恶心人。A. Eshag Loves Big Arrays题意给定一个长度为nnn的序列,可以选择一段区间将其中严格大于区间平均数的数删掉,可以执行任意多次,问最后得到的序列是什么样的。思路由题意不难得出我们删到最后一定只剩下数组中的最小值,因为最小值是永远小于等于区间平均值,所以删到最后就只剩下了最小值。代码#include <iostream>#include <cstring>#include <algorit

2021-05-25 04:16:53 374 2

原创 Codeforces Round #719 (Div. 3)题解

PS:PS:PS:手速局,由于晚点了15分钟左右就没打,赛后补题。比赛链接我的博客每个题目的链接直接点标题就好了。之前的DDD题惨招hackhackhack,现已修改。A. Do Not Be Distracted!## 题目大意给定一个字符串,是否有间断的相同字符序列。思路直接枚举然后存一下出现次数就好了。代码int n, m;bool st[30]; int main() { int T; cin >> T; while (T -- )

2021-05-20 21:33:48 1044 2

原创 同余 —— AcWing 202.最幸运的数字

同余思路xxx个888连在一起组成的正整数连在一起可写作8∗(10x−1)9\dfrac{8 * (10^x-1)}{9}98∗(10x−1)​。那么题目就转化为让我们求出一个最小的xxx满足L∣8∗(10x−1)9L|\dfrac{8 * (10^x-1)}{9}L∣98∗(10x−1)​。设d=gcd(L,8)d=gcd(L,8)d=gcd(L,8)。    L∣8∗(10x−1)9⟺9∗L∣8∗(10x−1)⟺9∗Ld∣10x−1⟺10x≡1(mod9∗Ld)L|\dfrac{8 * (10^.

2021-05-20 21:26:57 185

原创 洛谷 P1445 [Violet]樱花

原文地址分析题目要求求出不定方程:\(\dfrac{1}{x} + \dfrac{1}{y} = \dfrac{1}{n}\)的解\((x,y为未知数,n为给定的常数)\)。观察原式可以发现\(x\)和\(y\)必定大于\(n!\),那么不妨令                   \(y=n!+k,(k\in Z^*)\)则原式变为                   \(\dfra...

2021-05-10 01:57:00 121

原创 Prime Distance

题目题目大意给定两个整数\(L\)和\(U\),你需要在闭区间\([L,U]\)内找到距离最接近的两个相邻质数\(C_1\)和\(C_2\)(即\(C_2−C_1\)是最小的),如果存在相同距离的其他相邻质数对,则输出第一对。同时,你还需要找到距离最远的两个相邻质数\(D_1\)和\(D_2\)(即\(D_1−D_2\)是最大的),如果存在相同距离的其他相邻质数对,则输出第一对。思路...

2021-05-05 17:59:00 122

原创 差分约束

基本概念差分约束系统是一种特殊的\(n\)元一次不等式组,它包含\(n\)个变量\(x_1,x_2,...,x_n\)以及\(m\)个约束关系,每个约束条件由两个变量作差构成的,例如\(x_i-x_j\leq c_k\),其中\(1\leq i,j\leq n,i\neq j,1\leq k \leq n\)且\(c_k\)为常数(可以是负数,也可以是非负数),我们要解决的问题是:求一组解\(...

2021-05-01 14:17:00 73

原创 差分约束 —— 洛谷$P3275$[CSOI2011]糖果

思路此题是一个典型的差分约束题。要求得是最大值,所以我们要求最长路。(为什么?)对于每一个\(x\)值,我们可以建立不同的有向边,因此:当\(x=1\)时,得\(A=B\Longleftrightarrow A\leq B\&\& B\leq A\),即我们可以从\(A\)到\(B\)建一条长度为\(0\)的有向边和从\(B\)到\(A\)连一条长度为\(0\)的有...

2021-05-01 14:14:00 129

原创 Educational Codeforces Round 108 (Rated for Div. 2) 题解

原题链接A题 Red and Blue Beans题意:给定\(r\)个红豆,\(b\)个蓝豆,将他们分到任意多个包中,要求每个包中红豆和蓝豆的差值不能超过\(d\),可以则输出\(YES\),否则输出\(NO\)。贪心即可,将较小的那个放到不能放为止,然后在将另外一个顺次放进去。代码:typedef long long LL;const int N = 200010;int ...

2021-04-30 04:05:00 234

原创 01分数规划

01分数规划二分答案。设二分的值为实数mid。如果途中存在一个环S,使得\(\sum {(mid*wt[j]-wf[t])}<0\),那么我们可知:存在一个\(S\),使得 \(mid<\frac{\sum{wf}}{\sum wt}\)也即是说,本题所求的最大值一定大于 \(mid\) 。如果对图中任意一个环 \(S\) ,都有 \(\sum(mid * wt[j...

2021-04-29 01:01:00 64

原创 最小生成树典型应用 —— AcWing 346.走廊泼水节

题目要求将一颗最小生成树添加一些边构成一个无向完全图,并且要求添加的边权最小。而且必须保证构成的完全图中的最小生成树唯一且就是这棵最小生成树。我们先考虑kruskal算法。我们需要对边进行排序,每次选择最小的那条边进行构造最小生成树,如果当前的边可以被选择我们有:1.这个加边从操作是将两个集合合并,并且合并之后的集合是一棵树。2.这棵树对于这两个集合而言,是一棵最小的生成树,因为如果...

2021-04-27 01:15:00 207

原创 Floyd倍增 —— 洛谷P2886 [USACO07NOV]Cow Relays G

首先,我们有两个矩阵,如果其中一个矩阵代表恰好经过x条边的最短路,另外一个矩阵代表恰好经过y条边的最短路。那么将这两个矩阵合并就代表恰好经过x+y条边的最短路。怎么合并呢?结合下面这个式子理解一下:c[i][j]=min(c[i][j],a[i][k]+b[k][j]);其中i,j,k就是floyd三层循环里的i,j,k ;而a矩阵是经过x条边的最短路,b矩阵是经过y条边的最短路,那么c矩阵...

2021-04-23 16:36:00 164

原创 KMP

引用大佬的讲法,我自己讲不清楚QAQ链接

2021-04-21 18:24:00 44

原创 无向图的最小环问题 —— AcWing 344.观光之旅

求图上的最小环问题可以用Floyd算法。Floyd的实质是dp,状态表示为从i ~ j的路径中经过的最大的节点编号是k的路径的最小值是多少,那么我们可以在这过程中利用上一层的状态求出i ~ j的环中经过的节点的最大编号是k的环。我们可以知道所有的环都可以表示为 i ~ j ~ k ~ i,i ~ j之间的最大的节点编号是k - 1,所以我我们就可以利用三角不等式来求得最小环,同时我们需要维...

2021-04-21 14:12:00 120

原创 Codeforces Round #716 (Div. 2) 题解

比赛链接比赛时只出两题,B题卡了半天。C题因为在自习室打的比赛,电脑没电了没交上,吐了。D题没学过,赛后补了一下。A题题意:给定一个序列,要求确定其子序列的乘积是否能不为完全平方数。只需要遍历一遍整个序列,如果有个数不是完全平方数,那么就一定存在一个乘积不为完全平方数的子序列。代码:#include <iostream>#include <algorithm&gt...

2021-04-21 02:01:00 101

原创 无向图最小环问题 —— 洛谷 P1347 排序

这题与传递闭包有关。我们将通过传递性推导出尽量多的元素之间的关系的问题叫做传递闭包。对于一个有向无环图G,它的传递闭包等同于一个在保持与其相同可达性的情况下,边数最多的图。在这个图中,当u可达v的时候,边u → v必定存在。换句话说,每个G中的非相同元素偏序关系对u ≤ v都在这个图中有一条边。这可以被视作用图来可视化图G的可达性关系。所以这道题我们要求的是给定最少的关系对所形成的传递闭...

2021-04-19 15:11:00 232

原创 Floyd算法

Floyd (基于动态规划)dist[i][j]表示从i到j最多经过k点的最小距离。分为两种情况:经过k和不经过k:不经过k则为dist[i][j] = dist[i][j]。经过k则为dist[i][j] = min(dist[i][j], dist[i][k] + dist[k][j])。由于k时逐渐增大所以dist[i][k]和dist[k][j]的最小距离之前已经得出。#in...

2021-04-19 01:02:00 47

原创 最大公约数与最小公倍数

gcd(最大公约数)求解gcd时通常使用的是欧几里得算法(辗转相除法)。定理:两个整数的最大公约数等于其中较小的那个数和两数相除余数的最大公约数。int gcd(int a, int b){ return b ? gcd(b, a % b) : a;}lcm(最小公倍数)求解lcm时通常用gcd进行辅助计算。定理:两个自然数的最大公约数与它们的最小公倍数的乘积等于这两个数的乘...

2021-04-19 00:37:00 577

原创 龙哥的问题

龙哥的问题这题要求我们求出1~n之间的所有数与n的gcd之和。我们知道如果两个数互质的话,两个数的gcd就是1,所以res = gcd(1~n, n) = 互质的数 + gcd(不互质的数,n);而对于两个不互质的我们有gcd(a, n) = gcd,而当我们两边同时除以gcd时我们有gcd(a % gcd, n % gcd) = 1;由此我们可以知道所有不与n互质的数的gcd都可以转...

2021-04-18 23:55:00 95

原创 洛谷P1522 牛的旅行 Cow Tours

链接题意:给定一片牧区,一片所有连通的牧区称为一个牧场。要求在两个不连通的牧场的牧区之间添加一条路径,使得两个牧场连接,并且求得再老牧场和新牧场里面的牧场直径最大值的最小值是多少。思路:首先根据题意我们得知我们需要求得每个牧场的直径的大小,即牧场里面的牧区之间的最短路径的最大值;其次,我们需要在不联通的牧场之间添加一条路径使得两个牧场连接。所以我们需要求得每两个牧区之间的最短路径,也就...

2021-04-18 01:12:00 83

原创 AcWing 383. 观光

如果要求出最短路个数,那么就需要再拓扑图上做最短路,而能有拓扑结构的最短路模型一般只有Dijkstra和bfs两种算法。而求次短路只需对每个点进行拆点,并且再求得最短路的同时维护一个次短路即可,每次先更新最短路,不能更新最短路再看能不能更新次短路。代码:#include <iostream>#include <cstring>#include <cstd...

2021-04-14 21:38:00 66

原创 Educational Codeforces Round 107 (Rated for Div. 2)

链接人均三题。。。终究还是我low了。A题题目长,但意思很简单,直接贪心就好,只需要将每个点赞放到一个系统,每个踩放到另一个系统就好了,那么答案就是r1和r3的和。代码:#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>#inclu...

2021-04-13 14:14:00 107

原创 没有上司的舞会

树形dp的基础题。由于是一个树形结构,所以我们和容易就可以得到一个拓扑图,由此我们在存图时只需要存下每个点的入度,然后对入度为0的节点进行搜索dp即可。状态表示为f[i][2],f[i][0]表示第i个人不参加宴会的最大快乐指数,f[i][1]表示第i个人参加宴会的快乐指数,所以我们的状态转移方程为:1 f[i][1] = max(w[i], f[j1][0] + f[j2][0] ...

2021-04-12 02:23:00 54

原创 最小编辑距离

线性dp状态表示为f[i, j],表示将a的前i个字符变为b的前j个字符所需要的最小操作数。我们的操作有三种:删除、增加和修改。删除:我们删除第i个字符,那么我们就必须使得a的前i - 1个字符和b的前j个字符相等,即f[i][j] = f[i - 1][j] + 1;增加:我们要使增加字符后a与b相等,我们就一定增加的是b[j],又因为我们是在第i个字符后面增加,所以我们必须要使a...

2021-04-10 19:41:00 50

原创 2020-2021 ICPC, NERC, Northern Eurasia Onsite (Unrated, Online Mirror, ICPC Rules, Teams Preferred) ...

题目链接题目大意:给定一个数组a,长度为n,要求从其中选择若干个数使得这些数的乘积的最后一位数等于m的数最大。题目意思很简单,但由于数据范围较大我们需要对每个数取log将其转化我对数的加法运算。这样我们可以很容易的看出这道题于01背包之间的联系,从n个数中选择若干个数使其的和最大且乘法的最后一位数为m。但是由于我们将其转化为了对数运算,所以我们需要聪明的额外考虑到一些事:我们将其转化为...

2021-04-07 16:51:00 258

原创 约数之和

约数和定理对于一个大于\(1\)正整数\(n\)可以分解质因数\(n=p_1^{a_1}*p_2^{a_2}*p_3^{a_3}*\cdots*p_k^{a_k}\)则由约数个数定理可知\(n\)的正约数有\((a_1+1)*(a_2+1)*(a_3+1)*\cdots*(a_k+1)\)那么\(n\)的\((a_1+1)*(a_2+1)*(a_3+1)*\cdots*(a_k+1)\)个...

2021-04-07 02:13:00 96

原创 Codeforces Round #712 (Div. 2) 题解

题目这场前三题都是毒瘤字符串A题 Déjà Vu题意:给定一个字符串,在某处插入一个字符a将其转换成非回文串。若无法转换成非回文串则输出NO,否则输出YES和转换后的字符串。贪心题,若字符串不全为a则一定有解,只需从前往后遍历整个字符串,若对称的位置不为a就将a插入该位置即可。 1 #include <iostream> 2 #include <cstdio&...

2021-04-05 00:05:00 129

原创 AcWing 171.送礼物

DFS双向搜索的经典例题。对于DFS和BFS来说双向搜索都能有效降低时间复杂度,但缺点就是会多开销空间,也就是用空间换时间。由于我们的搜索范围是逐步扩大的所以当我们的每个节点的子节点较多时就可以做到如下:红色部分是从反向开始搜索,这样我们就可以明显看出我们有效的降低了时间的复杂度。题目:思路:先通过对前部分进行搜索预处理出来能拿到的重量的所有情况,由于只搜索的一半的物品所以我...

2021-03-24 16:51:00 370

原创 NOIP1999 生日蛋糕

NOI原题:dfs剪枝的经典例题(据yxc老师说他那时北大考了不少次)。重要一点:题目为了方便计算选择了不考虑π。剪枝(方便说明,最上面是第一层,当前是第u层,最下面是第m层)①:优化搜索顺序由于我们是寻找分支最少的路线进行搜索,所以我们每次应当从下往上搜,并且从当前能取得的最大值搜索,这样可以在前面搜索到最少的分支。②:可行性剪枝由于我们的半径和高度都是整数所以我们的每一层能...

2021-03-23 14:46:00 190

原创 快读

在某些情况下使用 scanf 也会TLE,这是我们就需要用到快读来优化输入。原理:getchar 速度要快于 scanf ,scanf 速度要快于 cin使用 getchar 来读入字符,并且来处理非数字输入,由于输入可能为负数,所以我们需要对符号位进行特判一下。 1 inline int read() 2 { 3 int x = 0, f = 1; 4 char...

2021-03-21 15:13:00 68

空空如也

空空如也

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

TA关注的人

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