自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

邵光亮的博客

踏踏实实做好每一件事

  • 博客(922)
  • 资源 (2)
  • 收藏
  • 关注

原创 数论基础

整除理论:唯一分解定理,对于一个合数,唯一存在一种质数分解。应用在算法复杂度估计,因子个数的计算。素因子个数为 O(logn)O(log n)O(logn) 级别因子个数为 O(n3)O(\sqrt[3]{n})O(3n​) ~ O(n)O(\sqrt{n})O(n​) 级别如果一个数能被一堆数整除,那么这个数被称为这些数的公约数。裴蜀定理对于 a,ba,ba,b,存在 x...

2020-03-01 17:31:27 13525 1

原创 ACM题目整理

并查集:poj 2492就是不能在相同的集合中再次添加相同的点,就是并查集的简单应用,使用并查集判断是否出现过这个元素。 题解链接:点击这里HUD 3461 codelock有一个长n的字符串锁,求这个锁有多少种不同的解锁方式,这个锁有若干个区间能够转动,两个能通过转动互相到达的情况属于同一种解锁方式。所以题目就是求区间的个数了。题解链接:点击这里ZOJ 3261 ...

2019-09-24 17:34:52 13456 1

原创 kuangbin带你飞专题

[kuangbin带你飞]专题一 简单搜索 [kuangbin带你飞]专题二 搜索进阶 [kuangbin带你飞]专题三 Dancing Links [kuangbin带你飞]专题四 最短路练习[kuangbin带你飞]专题五 并查集[kuangbin带你飞]专题六 最小生成树 [kuangbin带你飞]专题七 线段树 [kuangbin带你飞]专题八 生成树[ku...

2019-09-17 10:14:12 14530 3

原创 Anaconda安装pytorch和paddle

Anaconda安装pytorch和paddleNVIDIA驱动安装与更新Anaconda 的安装Pytorch环境安装NVIDIA驱动安装与更新首先查看电脑的显卡版本,步骤为:此电脑右击–>管理–>设备管理器–>显示适配器。就可以看到电脑显卡的版本了。得知以上的信息以后我们就可以对应我们的显卡去英伟达官网上去找相对应的显卡驱动更新或者下载了。显卡驱动的下载地址。显卡驱动安装好了显卡驱动以后。我们按下win+R组合键,打开cmd命令窗口。输入如下的命令。nvidia-smi

2022-04-01 18:06:53 1537

原创 Python基础----函数

Python基础----函数函数函数的概念函数定义和调用定义函数调用函数函数参数定义带有参数的函数调用带有参数的函数函数返回值带有返回值的函数保存函数的返回值函数函数的概念如果在开发程序时,需要某块代码多次,但是为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块组织为一个小模块,这就是函数。函数定义和调用定义函数定义函数的格式如下:def函数名():代码demo:#定义一个函数,能够完成打印信息的功能def printInfo(): print'-------------

2022-03-08 16:56:39 8585

原创 Python基础----字符串、列表、元组、字典

字符串字符串是 Python 中最常用的数据类型。我们可以使用引号( ’ 或 " )来创建字符串。创建字符串只要为变量分配一个值即可。例如:str1 = 'Hello World!' #字符串str2 = "Runoob" #句子str3 = """ 这是一个段落 段落""" #段落单引号和双引号如何选择?1、包含单引号的字符串假如你想定义一个字符串my_str,其值为:I’m a student,则可以采用如下方式,通过转义字符\进行定义。my

2022-03-08 16:47:57 8464

原创 pycharm导入依赖包

导入mysql先把下载这个whl,mysql包,放到项目的venv\Scripts目录下,然后在pycharm的Terminal窗口cd到项目的venv\Scripts目录下。执行pip install mysqlclient-1.4.2-cp36-cp36m-win_amd64.whl这个语句这样就是下载完成。导入依赖包先创建一个在项目的最外层新建一个requirements.txt文件。这里可以直接复制我的。requirements.txt复制过来就可以安装了。在pychram的虚拟机下运

2022-03-08 15:39:34 9397

原创 2021年山东省赛总结

五题,银牌。开场我签完到G后,CDX也想到一道题C过了,然后他对一个金牌题F有了思路,我们的策略就是他去写那个金牌题,我对一道银牌题M有了思路就开始去写,结果wa了,是对四连通那个翻译不理解,是真的不懂,然后又去看了L,也没什么好的思路,中间就这样卡了将近三个小时,导致两个铜牌题H和D也没人去做,最后剩下一个小时了,CDX放弃了F,去过了D和H,然后和我解释了M的意思,我在一边想构造,最后我们想出来了M的构造方法,等M过了以后已经没时间去做第六题了。总的来说是我的问题,立正挨打,这段时间大部分精力放在了

2021-05-09 23:22:27 9946 5

原创 省赛训练总结

五天的训练,都是自己一个人在做题,没有任何交流与合作,上次打省赛还是两年前了,那个时候怀揣着梦想与热情,虽然没有什么成绩,可是那个时候的训练是很快乐的,不知道从什么时候开始心里那团火开始慢慢熄灭了,距离最后一场比赛还剩半个多月,只想把自己该做的做好,不拖别人后退,不留下遗憾。...

2021-05-05 20:42:47 9228 1

原创 周期(KMP找最小循环节)

Description:一个字符串的前缀是从第一个字符开始的连续若干个字符,例如”abaab”共有5个前缀,分别是a, ab, aba, abaa, abaab。我们希望知道一个N位字符串S的前缀是否具有循环节。换言之,对于每一个从头开始的长度为 i (i>1)的前缀,是否由重复出现的子串A组成,即 AAA…A (A重复出现K次,K>1)。如果存在,请找出最短的循环节对应的K值(也就是这个前缀串的所有可能重复节中,最大的K值)。输入格式输入包括多组测试数据,每组测试数据包括两行。第

2020-11-04 20:31:22 9344

原创 Codeforces Round #681 (Div. 1, based on VK Cup 2019-2020 - Final)

A. Extreme Subtraction题意:给你一个长度为 nnn 序列,你可以进行无数次操作,让前 kkk个数减一或让后 kkk 个数减一,1<=k<=n1<=k<=n1<=k<=n ,问是否能把这整个序列变为 000 序列,其实最多的操作次数就是第一个数加上最后一个数。可以这样考虑,把这个序列从从后往前处理,若后一个数大于前一个数,则让后面的所有数减少到等于前一个数字,若能实现操作就是 YESYESYES.例如:4 5 6 4 5 6 4 8 94

2020-11-03 20:51:44 9043

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

A. Marketing Scheme题意;这道题难在读题,有顾客想要购买数量为 xxx 的猫粮,xxx 属于区间[l,r][l,r][l,r],而你会制定一个折扣,相当于购买 aaa 个就会享受折扣,其余的 xmod  ax \mod axmoda 则按原价购买。如果xmod   a≥a2x\mod \ a≥\frac{a}{2}xmod a≥2a​,那么顾客会购买多购买使得满折扣,你希望顾客多购买,故请你能否找到一个折扣 aaa,使得顾客总想这样做。aaa 的值不介于 [l,r

2020-10-28 21:19:47 8748

原创 2020年10月25日总结

这周把字符串的知识复习了一遍,补充了序列自动机,序列自动机可以 OnOnOn 的判断一个串是否是另一个串的子串。主要思想是先预处理好 nexnexnex 数组。还补充了一个新的求最长公共子序列的算法,之前都是用的 On2On^2On2 的算法去求,可以转化为最长上升子序列来求,时间复杂度可以优化到 nlognnlognnlogn。还有一种求一个串的任意子串和另外一个串的 lcslcslcs ,这个可以使用序列自动机和 dpdpdp 结合,现用序列自动机预处理然后求解状态转移方程,每次查询只有 OmOmOm

2020-10-26 08:16:18 9250

原创 2020HDU多校第二场

A - Total Eclipse题意:code:F - The Oculus题意:code:J - Lead of Wisdom题意:code:L - String Distance题意:code:

2020-10-24 21:39:51 8605

原创 2020CCPC秦皇岛题解

A.A Greeting from Qinhuangdao题意:给出 rrr 个红球, bbb 个篮球,求从全部的球里面,拿到两个红球的概率是多少。很基本的概率公式 p=Cr2Cb+r2=r∗(r−1)2(r+b)∗(r+b−1)2=r∗(r−1)(r+b)∗(r+b−1)p=\frac{C_r^2}{C_{b+r}^2}=\frac{\frac{r*(r-1)}{2}}{\frac{(r+b)*(r+b-1)}{2}}=\frac{r*(r-1)}{(r+b)*(r+b-1)}p=Cb+r2​Cr2​

2020-10-22 09:19:45 11221

原创 2020ccpc秦皇岛总结

这次我感觉我问题挺大的,这次出来五道题,第六题真的是差一点,差一点时间,这一点时间是我们做前三题浪费的,正常的五题队伍前三题都是一个多小时做完的,我们整整用了两个多小时,这里我想了一下原因:配合不好,开局没有一个确切的计划谁开哪个题,导致开始后都是比较混乱的,每个做的都不是自己擅长的那一部分。队伍的交流不够,对于一道题读题读的慢,讲题讲的也慢,讲过一般还得自己看一遍才能理解题意,这个很浪费时间,也是导致出题慢的一个原因。简单题出的慢,判断失误,这个是个人实力原因,前三题我应该做到能很快做出来的,不能

2020-10-18 22:41:10 14747 8

原创 2020年10月11日总结

下周就是区域赛了,我们队伍最大的问题就是没有默契,之间也没有多少配合,因为从来没有在线下真正的针对配合训练过,一开始在家没能做到,开学搬校区没实验室,我们每天就在餐厅,平时都是自己训练自己的,不会的在一起讨论,下周找个空闲的时间专门练一下。周六听了学弟讲课,讲的刚好是我擅长的数据结构,讲的很不错,一层层深入进去,对于数据结构现在还是很难独立做出来那些高级数据结构,看到那个类型的题知道应用什么算法,具体的实现总是差那么一点,下一周的时间把之前做过总结的经典例题给过一遍,希望在比赛中自己不要拉队伍的后腿。

2020-10-12 08:16:39 8402

原创 LibreOJ #144. DFS 序 1(dfs序+树状数组)

Description:这是一道模板题。给一棵有根树,这棵树由编号为 1…N 的 N 个结点组成。根结点的编号为 R。每个结点都有一个权值,结点 i 的权值为 vi。接下来有 M 组操作,操作分为两类:1 a x,表示将结点 a 的权值增加 x;2 a,表示求结点 a 的子树上所有结点的权值之和。Input第一行有三个整数 N,M 和 R。第二行有 N 个整数,第 i 个整数表示 vi。在接下来的 N−1 行中,每行两个整数,表示一条边。在接下来的 M 行中,每行一组操作。Output

2020-10-08 11:08:32 8551

原创 poj2823 Sliding Window(单调队列)

题意:给定一个长度为 NNN 的数字序列,要求你求出每个长度为 KKK 的区间内的最小值与最大值。单调队列做法:const int N = 1e6 + 10;const int mod = 998244353;int a[N], maxx[N], minn[N], queue1[N], queue2[N];//queue存位置int i, n, k, front1, front2, tail1, tail2, cnt;int main(){ sdd(n, k); cn..

2020-10-07 20:49:17 8327

原创 Codeforces Round #673 (Div. 2)

A. Copy-paste题意:给你一个数组和一个限定值 kkk,你可以进行法术使得:当1≤i,j≤n1≤i,j≤n1≤i,j≤n andandand i≠ji ≠ ji​=j 让 aj:=aj+aia_j := a_j + a_iaj​:=aj​+ai​ 。当进行法术操作使得其中有一个元素超过限定值 kkk 时,你都将失去该法术能力,即法术无效。问你最多能使用多少次法术。直接看最小的可以加几次。AC代码:const int N = 2e5 + 10;const int mod = 1e9

2020-09-29 21:29:55 8277

原创 Codeforces Round #672 (Div. 2)

A. Cubes Sorting题意:能否通过 n∗(n−1)2−1\frac{n*(n-1)}{2}-12n∗(n−1)​−1 次操作使得序列不降。看到 n∗(n−1)2−1\frac{n*(n-1)}{2}-12n∗(n−1)​−1 就明白了,只要不是递减序列都可以变成的。AC代码:const int N = 2e5 + 10;const int mod = 1e9 + 7;int t;int n, m, k;int a[N], b[N], ans[N];bool vis[N];

2020-09-26 17:57:59 8172

原创 2020年9月23日总结

CCPC网络赛打完了,出线了但是不是很满意,发现了我们之间存在很多的问题,比赛开始的前两天学弟的手骨折了,直接让我们的战斗力减半。比赛开始我先签到一个,然后接着两个签到题全部读错题意,要不是学弟又读了一遍估计得一直错下去,在写简单题的时候又慌了,很暴力的一个代码居然写错两遍,导致我们出完四道题都没有学弟队排名靠前,这可能就是后浪吧,未来可期。然后剩下两道题一道min25筛板子题,学弟写的,然后我开了一道nim博弈,结果不会求sg函数,找了半天规律还是不对,幸亏最后学弟做出来了,才能稳出线,接下来好好看看各种

2020-09-23 22:23:54 8074

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

题意:AC代码:题意:AC代码:题意:AC代码:D. Trash Problem题意:有 nnn 堆垃圾,每一堆的坐标为 xxx,合并两堆垃圾的花费为这两堆垃圾的坐标之差的绝对值。你可以进行 qqq 次操作。 111 xxx表示在 xxx 位置上增加一堆垃圾,000 xxx 表示删除 xxx 位置上的垃圾。输出将这 nnn 堆垃圾合并成两堆垃圾所需的花费,以及每次操作之后改变的答案。AC代码:const int N = 2e5 + 50;int n, Q;struct .

2020-09-17 20:35:31 8048

原创 Codeforces Round #670 (Div. 2)

A. Subset Mex题意:给你一个长度为 nnn 的数组 aaa,你需要将其分成两个数组,使得其中未出现的最小非负整数的和最大。mexAmexAmexA 和 mexBmexBmexB 由区间内未出现的最小的决定,从最小的 000 开始枚举,看看有没有出现,有出现就打个标记,累加答案。没有出现就直接返回当前最小值。AC代码:const int N = 2e5 + 50; int n, m, p;int a[N];int cnt[N];int main(){ int t;

2020-09-16 21:48:58 7833

原创 2019HDU多校第七场

J Just Repeat题意:两个人玩游戏,每回合一方可以放另一方没有放过的卡,谁最后没卡放谁输每个人优先出的牌的颜色肯定是场上没出过的, 对方也持有的, 并且两个人手中持有数量最多的牌.对方持有的越多意味着可以封掉更多的牌, 而自己手里的越多意味着可以防止自己更多的牌被封掉.因此, 对所有两个人手里都持有的颜色的牌数进行统计, 从大到小依次分配给第一, 第二个玩家.如果此时第一个玩家手里的牌数 > 第二个玩家, 则第一个玩家胜利, 否则第二个玩家胜利.到此为止, 问题转换成另一个问题, 就是

2020-08-21 11:10:35 7945

原创 2020牛客暑期多校训练营(第十场)

A Permutation题意;给一个质数 ppp,求一个 111 ~ p−1p-1p−1的排列,满足 xi+1≡2xi(modp)x_{i+1}≡2x_i( mod p)xi+1​≡2xi​(modp) ororor xi+1≡3xi(modp)x_{i+1}≡3x_i(mod p)xi+1​≡3xi​(modp)。从 111 开始选,能选 222 的倍数就选 2∗x%p2∗x\%p2∗x%p,能选 333 的倍数就选 3∗x%p3∗x\%p3∗x%p,不能选就输出 −1−1−1 就行。AC代码

2020-08-15 10:56:02 7870

原创 Codeforces Round #664 (Div. 2)

A. Boboniu Likes to Color Balls题意:总共四个颜色,可以进行的操作是,前三个一人拿一个放到第四个,就相当于前三个都减一,第四个 +3+3+3。然后得到的四个数,每个数对应一种字符的个数,问这些字符是否能构成回文串。构成回文串的情况可以是个数为偶数的有四个,或者个数为偶数的有三个为奇数的有一个。还有就是全部都为奇数,然后经过一次操作前三个颜色都变成了偶数,最后一个颜色也变成了偶数,然后就是三个奇数的情况,假设前三个里面俩奇数一个偶数,最后那个是奇数,通过一次操作可

2020-08-13 11:43:34 7929

原创 Codeforces Round #663 (Div. 2)

A. Suborrays题意:输入一个长度 nnn,用 1n1 n1n 的数字进行随机排列。定义对于一个正整数 nnn,如果对于每一对 iii 和 j(1≤i≤j≤n)j(1≤i≤j≤n)j(1≤i≤j≤n) 都满足,对于 ppp 的每个子数组,其中所有元素的 OROROR 不小于该子数列中元素的个数。我们称长度为 nnn 的排列 ppp 是好的。两个数进行位运算了,且范围是 1 n1~n1 n,那么进行位运算后的结果不会小于元素的个数。简而言之就是:无论怎么输出这个置换序列都是

2020-08-11 11:58:50 8628

原创 Codeforces Round #662 (Div. 2)

A. Rainbow Dash, Fluttershy and Chess Coloring题意:AC代码:题意:AC代码:题意:AC代码:题意:AC代码:

2020-08-09 15:47:10 7735

原创 Codeforces Round #661 (Div. 3)

A. Remove Smallest题意:给定一个序列,每次操作可以任选两个差的绝对值小于等于 111 的元素并删掉其中的较小数,问你能否通过有限次操作把序列删到只剩一个数。排序后计算相邻数的差,只要有大于 111 的就不可能达到目标。AC代码:const int N = 2e5 + 50;int n, m;int a[N]; int main(){ int t; sd(t); while (t--) { sd(n); rep(i, 1, n) sd(a[i]);

2020-08-07 22:02:49 7698

原创 2020牛客暑期多校训练营(第八场)

G Game SET题意:一套牌有四种属性,每种属性都有三种特征,shapes(one,two,orthree)shapes (one, two, or three)shapes(one,two,orthree), shape(diamond,squiggle,oroval)shape (diamond, squiggle, or oval)shape(diamond,squiggle,oroval), shading(solid,striped,oropen)shading (solid, strip

2020-08-04 18:21:59 7706

原创 2020牛客暑期多校训练营(第七场)

B Mask Allocation题意:就是将 n∗mn∗mn∗m 个口罩分成 kkk 份,使得可以从中挑出 nnn 组,每组口罩数一样多;也可以从中挑出 mmm 组,每组口罩一样多,最后输出的字典序要最大。AC代码:const int N = 1e5 + 10;const ll mod = 1e9 + 7;int a[N];int main(){ int T; sd(T); while (T--) { int n, m; sdd(n, m); int cnt = 0;

2020-08-02 11:04:49 7616

原创 2020牛客暑期多校训练营(第六场)

B Binary Vector题意:随机生成 nnn 个 0,10,10,1 向量,使这 nnn 个为一组,求这 nnn 个向量独立的概率。f(1)f(1)f(1) 的时候:可以选择 0,10 ,10,1两种,只有 111 符合,000 和任何向量都不线性无关。所以 f(1)=12f(1)=\frac{1}{2}f(1)=21​f(2)f(2)f(2) 的时候:有0,00,00,0010 1011,01,01,01,11,11,101,10,1101 ,10 ,1101,10,11三

2020-07-28 22:21:07 7742

原创 2020年7月27日总结

这几场比赛打下来,发现自己之前的部分模板都不能用了,不知道是数据卡的紧了,还是之前没有整理好,然后又重新整理了一遍,和队友商量了一下做题的策略,我负责快速签到,然后把铜牌题做出来,CDXCDXCDX 在看到大概的过题数后,去做银牌题,这样争取在最短的时间内做出来更多的题,最近这两场牛客就是没有把时间最大化的利用起来,导致最后思路出来了,没能写出来,最后的题写出来了可能就能进榜单第一页。...

2020-07-27 17:58:11 7607

原创 大数模板

当成int直接用。struct BigInt{ const static int mod=10000; const static int DLEN=4; int a[100],len; //位数4*100 BigInt() { ms(a),len=1; } BigInt(int v) { ms(a),len=0; do{ a[len++]=v%mod,v/=mod; }while(v); } BigInt(const char *s)

2020-07-27 17:50:19 7488

原创 2020牛客暑期多校训练营(第五场)

D Drop Voicing(dp)题意:有一个 1 n1~n1 n 的排列,有以下两种操作:Drop−2Drop-2Drop−2:将倒数第二个数放到开头,前面的数向后平移InvertInvertInvert:将倒数第二个数放到开头,前面的数向后平移若干连续的 Drop−2Drop-2Drop−2 称为 Multi−dropMulti-dropMulti−drop。计算要使该排列排成 1 n1~n1 n 所需的最少的 Multi−dropMulti-dr

2020-07-26 19:23:31 7496

原创 miller_rabin大素数随机检测模板

用到两个定理:费马小定理二次探测定理如果 ppp 是一个素数, 0<x<p0<x<p0<x<p,则方程 x2≡1(modp)x^2≡1(mod p)x2≡1(modp) 的解为 x=1x=1x=1 或 x=p−1x=p-1x=p−1。对于待检测数 ppp 在 [2,p][2,p][2,p] 中随机选取 sss 次 aaa 判断 a(p−1)≡1(modp)a(p-1) ≡ 1(mod p)a(p−1)≡1(modp) 是否成立

2020-07-22 13:55:32 7325 1

原创 Codeforces Round #658 (Div. 2)

A Common Subsequence只要找到有一个相同的元素输出即可。AC代码:const int N = 1010;int a[N], b[N];int ans;int cnt[N];int main(){ int t; sd(t); while (t--) { int n, m, k; bool flag = 0; sdd(n, m); mem(cnt, 0); rep(i, 1, n) { sd(a[i]); cnt[a[i]]++;

2020-07-22 11:11:11 7714

原创 2020牛客暑期多校训练营(第四场)

B Basic Gcd Problem题意:给出 n,cn,cn,c 让你求出那个函数的值。举个例子:n=6,c=3n=6,c=3n=6,c=3f3(5)=max{3∗f3(cd(1,6)),3∗f3(gcd(2,6)),3∗f3(cd(3,6)),3∗f3(cd(4,6)),3∗f3(cd(5,6))}f_3(5)=max\{3*f_3(cd(1,6)),3*f_3(gcd(2,6)),3*f_3(cd(3,6)),3*f_3(cd(4,6)),3*f_3(cd(5,6))\}f3​(5)=ma

2020-07-21 17:29:34 7311

原创 Codeforces Round #657 (Div. 2)

A. Acacius and String题意:给你一个串,你可以把 ??? 换成任意字符,使得这个串最后只出现一次 abacabaabacabaabacaba 。暴力枚举 abacabaabacabaabacaba 出现的位置。然后判断是否只出现一次。AC代码:string s;int n;string T = "abacaba";bool check(string &a){ int cnt = 0; rep(i, 0, n - 7) { if (a.substr(i,

2020-07-20 11:19:05 7391

kaggle麦穗数据集(标记好的)

kaggle麦穗数据集已经标记完成可以直接训练

2023-02-03

python依赖包,requirements.txt文件

python依赖包,requirements.txt文件

2022-03-08

pycharm导入mysql依赖包

pycharm依赖包

2022-03-08

空空如也

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

TA关注的人

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