自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 安装vue-cli并创建一个项目在idea打开

vue-cli安装

2022-11-16 14:08:07 465 1

原创 欧拉函数(自留)

函数:int Euler(int x){ int ans = x; for (int i = 2; i <= x / i; i++) { if (x % i == 0) { ans = ans /i*(i - 1); } while (x% i == 0) { x /= i; } } if (x > 1) { ans = ans/x*(x-1); } return ans;}线性筛法:void Eulers(int n)

2021-10-05 23:48:42 110

原创 博弈论基础(acwing)

首先了解几个概念:NIM游戏:给定N堆物品,第i堆物品有M个

2021-09-29 11:18:20 381

原创 2021牛客多校第三场E

参考文章:关于lower_bound( )和upper_bound( )的常见用法_brandong-CSDN博客_lower_bound

2021-09-27 23:33:37 127

原创 2021牛客多校第三场B

题意:给你n*m的矩阵,如果将一个矩形的四个角中的三个变成黑色,那么第四个角也会变成黑色,问将矩阵全部涂黑最少需要多少代价思路:用最小生成树,把矩阵的行列设为点,行列对应着无向边,如果一个点的行列都在并查集当中,那么就不用考虑这个点的贡献的,也就相当于把这n+m个点连起来用Prim,时间复杂度是O(n²);用kruskal,时间复杂度是O(mlogm)所以用Prim,kruskal会超时,泪目要有把这道题转化为最小生成树的能力,首先想到只需要找到n+m个点,每一行每一列都要有,进而想到把行列

2021-09-24 23:15:31 62

原创 2021牛客多校第二场F

题意:给A,B,C,D四点,k1,k2两个数,求满足∣AP1​∣≥k1​∣BP1​∣,∣CP2​∣≥k2​∣DP2​∣条件的重叠区域emmm,推公式,要用数学打败数学公式1:为什么是球?公式2:两个球相交的体积...

2021-09-23 23:35:17 64

原创 2021牛客多校第二场J

题意:前置知识:欧拉函数(f(x)代表小于等于x并与x互质的个数):对于p^n(p为质数)来说:f(p^n)=(p-1)p^(n-1);证明:对于p^n,与他不互质的数只有0,p,2*p……p^n-p,共有p^n/p个,所以与他互质的数就有p^n-p^n/p=(p-1)p^(n-1);然后是一般情况下,欧拉函数的计算流程。其中用到了前两个性质。把n质因数分解,然后把各个质因子带入最终公式,计算欧拉函数值。(节选自百度百科)证明过程如图:欧拉公式延伸:一个数所有的质因数的和=f...

2021-09-22 19:00:39 115

原创 2021牛客多校第一场H

题意:给你 n nn 个数,找出一个数 x xx(可以不在这些数之中),让这 n nn 个数对 x xx 取模互不相等先学fft:十分简明易懂的FFT(快速傅里叶变换)_路人黑的纸巾-CSDN博客_fftB站有个视频我觉得讲的不错:快速傅里叶变换(FFT)——有史以来最巧妙的算法?_哔哩哔哩_bilibili代码:#include <bits/stdc++.h>using namespace std;const int N = 5000010;const double P

2021-09-20 11:20:44 64

原创 2021牛客多校第二场I

题意:给你两只企鹅,两个20×20的地图(‘.’为能走;‘#’为障碍不能走);左企鹅在左地图的(20,20),要到(1,20);右企鹅在右地图的(20,1),要到(1,1);L,R,U,D同时操纵两只企鹅,只是对于右企鹅左右是相反移动的;你的目的是让两只企鹅同时达到目的地,输出最小字典序的路径的长度和具体路径并且把走过的路径标为‘A’显示出来迷宫问题显然bfs,只是要处理几个问题1.把右边的地图翻转一下,这样对于两边企鹅的移动情况就相同了,最后输出的时候再翻转过来就行了2.可能不

2021-09-20 10:34:25 47

原创 2021牛客多校第二场K

题意:有一个单调栈,你需要往里面放 n个数,这些数是一个排列。给你k个p和x,你要保证,放入第p个数的时候单调栈的大小为x,求出一个可能的排列,没有输出-1首先,根据贪心,因为b[i+1]-b[i]<=1,所以对于空白的b数组用b[i]=b[i-1]+1来补充,这样我们就拥有了一个完整的b数组接下来就是到着模拟一遍比如说,我们先一直循环递增直到找到了一个数t>=b[n],同时一直递增t,和cnt,并存下temp[t]=cnt,代表在不考虑前边b值得情况下,b[i]=t时能存的最小数字

2021-09-16 23:52:44 70

原创 2021牛客多校第一场G

题意:给你两个长度均为n的序列ai,bi,要求你交换的一个序列K次使得值最大。啊,这个贪心,真的好难想首先,我们先不考虑交换,计算abs(ai-bi)的和,然后如果我们要将ai,bi,aj,bj进行一次交换,也就是将max(ai,bi)-min(ai,bi)+max(aj,bj)-min(aj,bj)变成max(ai,bi)-min(aj,bj)+min(ai,bi)-max(aj,bj)那么就需要在原来的sum上加上2*(min(ai,bi)-max(aj,bj))所...

2021-09-15 22:47:28 83

原创 2021牛客多校第一场A

题意:两人博弈,Alice先手,Bob后手,每次一个人从一堆中拿k个,同时从另一堆拿k*s个(k>0,s>=0),先不能拿的就输了,输出谁必赢当时没想出来,听了讲解,嗯显然,(0,0)为Alice必输,那么对于每一个必输点(a,b),(a+k,b+s*k)和(a+s*k,b+k)均为必赢点,所以构造一个bool的二维数组代表谁输,谁赢,只要以一个必输点入手,以后二次循环找出所有必输点即可有点类似于之前用数组找出所有素数嗯,我是废物代码:#include <bits

2021-09-15 11:50:12 61

原创 2021CCPC华为云挑战赛1006

主要是记一点自己不会的东西这道题化简后就是判断分数a/b化为最简分数后的分数c/d,c+d是否为2的n次方是就yes,否则no首先a,b最大公约数,函数gcd其次判断a是否为2的n次方:a&(a-1)==0代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;ll gcd(ll a, ll b){ return b == 0 ? a : gcd(b, a % b);}

2021-08-21 15:04:32 977

原创 2021牛客多校K题

题意:t个情况每个情况每w米划一道经线,d米划一道纬线,形成无限多个矩形区域;给你w和d问走π(就是那个无线不循环小数)米最多能经过多少区域(线上不算区域,经过矩形内部就算占据区域)思路:流氓一点,因为π是无限不循环小数,假设他经过的每一个点都会在这个点附近画一个很小很小的圈,就会将四周的区域全部占下来(见下两图)一种走法是取横竖间距的最小值,这样每经过一个点能加两个区域(第一个点四个)另一种对角线走法每次能加三个区域(第一个点四个)于是问题化简为d=min(a,b);c=s

2021-08-11 19:17:30 92

原创 2021牛客多校第八场A

题意:有n个问题要解决,n-m个问题被改变,增强了剩下m个问题中最简单的a个问题的数据,现在这个人可以解决那a个问题,有k次机会获得代码段,所有需要的代码段长度为l,每次获得代码段的机会给x,y,z三个数字,代表不能获得x行代码的改率为y/z(保证xi求和=l)求这个人能解决多少道题(结果要mod4933)思路:给的变量很多,有用的就k,a,y,z;(当时就是因为不懂那么多变量,还有那个分数取模,唉)这个人能解决的题目数量就是a+(1-y1/z1)*(1-y2/z2)...*(1-yk/

2021-08-11 12:18:40 77

原创 2021牛客多校第八场D

题意:给两个长度为n-1的非负序列(b2,b3...bn)(c2,c3...cn),求满足下列条件的a序列有多少个:1.b[i]=a[i-1]|a[i];2.c[i]=a[i-1]+a[i]思路:显然c[i]-b[i]=a[i-1]&a[i](因为a&b+a|b=a+b)因为对于a序列,a1一旦确定,就能根据c序列确定整个序列,所以我们枚举a1可能的取值就行具体就是枚举a1的每一位能取0或者1对于a1的第i位,no0=1代表不能取0,no1=1代表不能取1;从

2021-08-11 11:45:16 123

原创 2021牛客多校第六场F题

题意:给n个汉堡,m个锅,给出每个汉堡需要煎的时间ti。一个汉堡排可以在一口锅中煎好,也可以分成两次在两口锅里煎好。一口锅同时只能煎一个汉堡排,一个汉堡排同时只能放到一个锅里。求一个方案使煎好所有的汉堡排所需要的时间最少(尽早煎完)。心路历程:这道题首先想到先排个序,把大的先依次放入再想到二分枚举最少时间后来听了题解恍然大悟,就用个公式就行最少用时T=max(ti,[/m])还二分?都不用排序好吧,知道T之后直接写就完事了(怪不得是签到题TAT)就不断地向锅中煎汉堡,如果

2021-08-06 17:40:58 98

原创 2021牛客多校第三场C题

题意:给定一个n×n的矩形,这些矩形中有m个空位可以放非负数(必须放),给定所有数字的最大值k(不一定取到),再给出每一行的最大值bi,每一列的最大值ci,求矩阵中所有数字和的最小值以样例来讲,这是一个5×5的矩形,带*的是可以填数的格子,我们把最大的数也标出来 然后我们先考虑他的最大值5,正常来说,5是第五行的最大值,第五列的最大值,所以他对这个矩形的贡献理应是(1+1)*5,但是事实上我们发现第五行第五列的交点那个地方是...

2021-07-25 17:55:21 156

原创 2021牛客多校第二场G题

题目:给n个[l,r]的区间(区间长度为r-l),将n个区间分为k组,要求每组至少有1的重叠(可以一个区间为一组),求k组重叠的和的最大值用动态规划(一下内容为别人教授,非自己思考所得,该文章仅为自己留作参考)首先考虑那些包含其他区间的大区间,有两种可能1.单独为一组2.和大区间包含的那个小区间的区间为一组这里我们举一个例子:下面abcd四条线段,要将他们分为两组,取最大值如果是第2种情况,显然就不用考虑大区间,只用考虑小区间就比如a,b,c,d四条线段,a包含b,c

2021-07-22 00:27:49 189

原创 巨杉数据库sequoiaDB学习记录

第一讲数据分片能力:每个分区的数据互相独立,可以把大表拆散到小分区 高可用:主节点响应不了 自动换备用节点 备用响应不了 换其他节点当选主节点 水平扩展能力:节点改变过程完全在线,对应用无感知。先增加节点 同步节点 删除前面的节点强大的分布式事务能力二段提交(2pc):传统二段提交机制,保证数据跨节点一致性 表设计原则:流水类数据按时间与ID二维切分,避免数据搬迁,余额类数据按ID散列,保证均衡无热点 兼容性:mysql/pgsql/sparksql保持100%兼容,原生my..

2021-07-17 22:09:30 82

空空如也

空空如也

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

TA关注的人

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