自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 c面向对象:引用(基础)

enum DAY。

2023-10-13 17:48:03 85

原创 c面向对象指针:内存

堆则是C/C++函数库提供的,它的机制是很复杂的,例如为了分配一块内存,库函数会按照一定的算法(具体的算法可以参考数据结构/操作系统)在堆内存中搜索可用的足够大小的空间,如果没有足够大小的空间(可能是由于内存碎片太多),就有可能调用系统功能去增加程序数据段的内存空间,这样就有机会分到足够大小的内存,然后进行返回。对于栈来讲,则不会存在这个问题,因为栈是先进后出的队列,他们是如此的一一对应,以至于永远都不可能有一个内存块从栈中间弹出,在他弹出之前,在他上面的后进的栈内容已经被弹出。默认的栈空间大小是1M了。

2023-10-12 22:00:07 48

原创 c面向对象(基础类)

主要是一个熟练过程,交两个作业第一个作业,①熟悉成员函数,成员变量②私有成员,公共成员③构造函数,析构函数。

2023-10-11 12:52:57 58

原创 c面向对象学习(补习:指针)

从一个大一学生的视角记录我认为值得学习的内容。

2023-10-10 07:54:37 38

原创 爆枪突击python挂机脚本

第一版的脚本,可以用来刷赤鼬之心等材料,打完BOSS直走到出口出去。但只能直走,不能跳台阶,而且不能清空背包,抽奖的时候有概率被卡住。

2023-10-09 17:33:32 1903

原创 phpstudy MySQL冲突问题

搞了一个晚上才调出来,记录一下学习到的知识点和踩过的坑。凭印象回顾一下1.有服务这个东西,可能是原先装的MySQL与phpstudy中的MySQL冲突(我直接把原生MySQL卸了)2.权限:看了其他的博客,也有可能是权限问题,我看到有两种方法,一种是直接改掉MySQL文件下面的某些文件名,还有就是直接给“管理员获得最高权限”3.端口冲突,可以在命令提示符里面netstat -ano 或netstat -aon|findstr '3306'查看某个PID是否被占用(PID != 端口,有点区别

2022-02-20 09:44:57 1033

原创 Python API 之人脸融合

不务正业一下,受同学启发,去搞了一下人脸融合。效果还可以。1.这里使用Face++旷视平台,Face++,注册一个免费账号。创建一个API应用2.复制API key 和 API secret,存入变量key和secret中key = 'VB8EbC9_Ki81DgWAV8iwm30Fu4OQ55uI'secret = 'qd4kmiYu2XpKBhoQLQJ5xF46px5EEtXR'3.引入库文件import requestsfrom json import

2022-02-08 22:02:12 1134

原创 2021-08-26

1.tarjan算法(缩点,强连通分量):①缩点模板,②受欢迎的牛G,③The Cow Prom S 这个算法主要在于理解它的过程#include<cstdio>#include<iostream>#include<queue>using namespace std;const int M=1e5+10,N=1e4+10;struct node{ int nxt,from,to;}e[M],ed[M];queue<in...

2021-08-26 23:13:17 81

原创 2021-08-24

1.Cheapest Palindrome G:看完题解觉得这题很简单,对每个区间[i,j]都从[i+1,j]或[i,j-1]转移过来,而f[i+1,j]与f[i,j-1]为已是回文串时的最小花费,所以我们应该关心的是第i位,和第j位,是增还是删。状态转移方程: f[l][r]=min(f[l+1][r]+val[s[l]],f[l][r-1]+val[s[r]]); if(l==r)f[l][r]=0; else if(s[l]==s[r])f[l][r]=min(f[l][r...

2021-08-24 23:24:46 73

原创 2021-08-20

1.排兵布阵:很容易想的一道分组背包,(贴个板子,O(nms))#include<iostream>#include<cstdio>#include<algorithm>using namespace std;const int N=105,V=20005;int s,n,m,w[N][N],f[V];int main(){ cin>>s>>n>>m; for(int i=1;i<=s;i++) for

2021-08-20 23:16:48 55

原创 2021-08-19

1.最长括号匹配:显然是一个线性动态规划,有点像LIS(最长不下降子序列)。可以容易想到,用f[i]表示以i结尾的最长子串。只有当str[i]==')'||str[i]==']'有意义。考虑如何转移,我们可以分为两种情况,①[()],嵌套式,②()[][]()并列式。当然,还有混合式的,对于第一种,我们需要对']'匹配'[',并把中间的和该子串之前的加上,'['之前还可能有东西。显然,可以发现,'['对应的位置是i-1-f[i-1],因此得到状态转移方程:f[i]=f[i-2-f[i-1...

2021-08-19 23:13:28 58

原创 2021-08-16

1.盒子与球:第二类Stirling数,描述:有n个元素,分成m个集合,有几种方法,每个元素都不同。 对于第i个元素有两种情况,①前i-1种元素构成了j个集合,第i元素找任意集合插入都可以②前i-1种元素构成了j-1个集合,第i元素单独构成一个集合。则f(n,m)=f(n-1,m-1)+m*f(n-1,m),可以做到不重不漏枚举所有情况...

2021-08-18 08:17:49 67

原创 2021-08-15

1.质量检测:可以用单调队列做,也可以用ST表做。(似乎单调队列常数更小) 对单调队列新的理解:一种具有单调性的队列,即单调递减或单调递增。不断向队列内读入新元素,并实时更新队列,去掉最老值或加入最新值,不定期查询当前区间内的最小/大值。2.扫描线:①求面积并,可以分成很多小矩形,小矩形可以用其上下两条边来表示,每条边都可以离散化处理,降低空间②在扫描线上行时,可以将所有线段两端x坐标离散化,则每两个相邻的x坐标可以视为最小单元(虽然长度可能会不...

2021-08-15 23:31:56 40

原创 2021-08-12

1.机关:双向搜索,可以很大程度防止搜索树扩张过大。位运算表示集合可以减小码量,2.吃奶酪:一眼看过去就是一道状压dp,没啥问题。题解中看到了几个其他也可以过。 状压dp 玄学卡手+贪心。如果是一个人来算这条路径,一般都会从最短的路径开始试,贪心的方法得到解的概率大于别的点,因此我们再搜索时可以优先搜索最大的点。再使用卡时的技巧,如果搜索的次数超过了一个设定值,就直接输出当前最优的答案。可以骗些分,哈哈 还有模拟退火的方法3.黑匣子:lower_...

2021-08-14 08:02:37 46

原创 2021-08-09

1.倒酒:一道裸的拓欧,复习一下板子2.天天爱跑步:一开始做的时候有两种思路:枚举每个观察员,再枚举每条路径,看看是否经过;枚举每条路径,判断会被几个观察员观察到。显而易见,第一种方法更好做,且可以优化,可以用树上差分来做3.Golden Feather:打表找规律,(题意是找一颗最小生成树,不是最短路),所以对于第n个点,若存在前面n-1个点中的一个与第n个点的gcd=1,则ans=n-1。因此,问题变为哪些数不符合该条件。而后就是数学证明,fn与fn-1,fn-2,...比较,筛出不符合条件的数

2021-08-10 23:36:48 96

原创 2021-08-06

1.灾后重建:对Floyd算法本质的理解,用其他点进行中转,计算最短路径2.通往奥格瑞玛的道路:二分+Dijkstra(堆优化)3.运输计划:二分+LCA倍增(树链剖分其他做法还不会)。①dfs序可以代替递归式的dfs,能加速,减少码量②常数优化,预处理每条路径的长度和lca...

2021-08-06 23:51:34 62

原创 2021-07-31

1.拓展中国剩余定理:拓展中国剩余定理,可以递推求解,2.欧拉函数:φ(n)为小于n的正整数中与n互质的个数①若q为质数,φ(q)= q-1,②若gcd(a,b)=1,则φ(ab)=φ(a)φ(b),积性函数③3.康托展开,逆康托展开4.map...

2021-08-04 22:07:42 63

原创 2021-07-30

学了一会数论,好难1.乘法逆元:a/b % p ,若a/b在进行取模运算时,会出现精度问题,而且模运算对除法不适用,(没有分配律,大概就这意思)而求出乘法逆元后,可以把原式变为a*x % p的形式,且值不变。a*x≡ 1 (mod p)中,a,p为已知量,则x为a的乘法逆元。例题:乘法逆元设p=k*i+r,(1<r<i<p)p=k∗i+r,(1<r<i<p)也就是kk是p / ip/i的商,rr是余数 。再将这个式子放到\pmod p(modp...

2021-07-30 23:35:46 143

原创 2021-07-28

今天做了几道树形dp1.没有上司的舞会:非常简单的树形dp,每个结点对应的状态比较唯一,只有在或不在两种情况,没有什么坑点2.二叉苹果树:边带权的树形01背包,边带权所以容量v的意义也会发生改变,且边不能断,有点小坑3.选课:点带权树形01背包,与第二题相似,边也不能断4.跑路:图上dp,倍增的方法,使图尽可能联通,再求最短路,(一开始从求距离二进制1的个数了)...

2021-07-28 23:49:48 44

原创 2021-07-27

1.矩阵取数游戏:①本身思路很简单,将每一行单独计算,状态转移方程也很好写。就是高精度有点头疼,没写高精度也有60分②发现了写高精度的另一种方法,用结构体和重载符号,我觉得可以背一下。2.关路灯和合唱队:两题做法相似,对于每个区间[i,j]都可以进一步细分为两个集合,从左加入或是从右加入高精度模板//借鉴了某题解 #include<bits/stdc++.h>using namespace std;const int N=101,mod=10000;int ary[N][N

2021-07-27 23:14:10 51

原创 2021-07-25

1.货车运输:思路非常新奇,可以在很多图论中都用到这种优化。原题要求使两点间路径上边的最小值最大,并输出这个最小值。比较容易想到的是Floyd算法,n^3会爆,而且有q次询问,所以每次操作要在logn以内。思路:①求出图上的最小生成树(其实是森林,图不一定联通,不过用并查集做无所谓),贪心思想②倍增,预处理w[i][j],表示i-f[i][j]上的最小值③在求lca的路上可以遍历该路径,求出ans.#include<bits/stdc++.h>using namespace std;c

2021-07-26 13:34:40 41

原创 2021-07-23

1.紧急集合/聚会:三个点求lca,关键点在于用dep最大的lca,可以证明它的正确性(一开始误以为两个dep最大的节点求出的节点为目标位置,易举出反例)2.仓鼠找sugar:问题转换为判断两条链是否有重合(可能是点重合,也可能是边重合);然后有个推论:存在路径上两端点的lca在另一路径上,则两路径有重合(因为如果有重叠,lca必然在另一路径上,证明:反证法,若不为lca,则该节点会有两个父节点,不为树)#include<bits/stdc++.h>using namespace s

2021-07-24 07:40:34 86

原创 2021-07-22

好惭愧,今天就做了一题。今天的构造题好难,最简单的都是省选QwQ1.巡逻:主要考察了树的直径,两种方法求,①树形dp,d[x]表示以x为根节点向下走最多能走多远,能处理负权情况②两次dfs,第一次任意点出发,找最远点,再从这个最远点出发,再找一次,不能处理负权情况。③k取2的时候要考虑两个环重叠的情况,现将原来的直径转负再dp;...

2021-07-22 23:57:35 29

原创 2021-07-21

1.树状数组能够实现单点修改和区间查询,通过差分,能够实现(区间修改+单点查询)2.线段树:除了区间和,还有了区间乘。先乘后加。不用结构体模板#include<bits/stdc++.h>using namespace std;#define ll long longconst int N=1e6+10;ll sum[N*4],mu[4*N],addj[4*N],a[N],mod,n,m;void build(int k,int l,int r){ mu[k]=1;

2021-07-22 07:19:35 56

原创 2021-07-20

1.My Cow Ate My Homework S:坑点:计算小数时,除数一定要强制转化为double型,(ans=sum/(double)(n-i))

2021-07-21 06:57:16 150

原创 2021-07-19

1.树网的核2.长方形:1.单调栈:一种可以以O(n)O(n)的时间复杂度解决类似求对于每一个数ii左边(或右边)第一个(从ii开始)比它小(或大)的数的问题的算法

2021-07-19 23:26:15 75 2

原创 2021-07-18

1.会议坑点:前向星逆向遍历,要找最小节点,等号需要斟酌,而且输入的边不一定有序,最后再计算最小的点;前向星有向边模拟无向边,开两倍数组大小2.剪花布条算法:kmp算法,使用next数组,使b数组不用每次都从头开始匹配;相当于将模式串向右平移继续匹配坑点:while(scanf("%s",a+1)!=EOF){...},否则无法退出...

2021-07-18 23:49:54 41

原创 2021-7-12

洛谷1.单调队列题单,单调队列:生成一个单调的新序列,数组记录下标。引用题解里面的一句话:他比我小还比我强!这让我怎么活!所以弹出我吧!(核心思想)。做题目,抽象出题目中的滑动窗口,找到题中的单调性要求oj1.花匠:其实就是个波峰波谷问题,坑点:偶数只花时,最右边的花>最右边的花-1...

2021-07-12 21:19:39 35

原创 2021-7-10

计划:oj四题,洛谷题单四题完成度:oj两题,洛谷三题

2021-07-12 11:16:15 30

原创 2021-7-8

第一道题 铺地毯 纯粹的模拟题第二道题 选择客栈 一开始想到的是用rmq做,但是时间复杂度降不下来,代码量太大。后面用的是递推来做。第三道题 计数统计也是一个模拟题,里面要用到杨辉三角,而且可以用快速幂优化第四道题 聪明的质检员 是一道二分答案法,需要用到前缀和优化,使多次区间操作从O(N*N)降到一次计划:完成oj上的四道题,再做3题洛谷题单完成度:oj完成三道题,洛谷完成感受:有很多题是对区间进行操作。区间操作可以用 前缀和 和 差分 的方法来优化———————————————

2021-07-09 11:49:08 53

空空如也

空空如也

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

TA关注的人

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