自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (1)
  • 收藏
  • 关注

原创 Java内部类

内部类是第五大成员 底层源码有大量的内部类 局部内部类 局部内部类是定义在外部类的局部位置,通常在方法,可以直接访问外部类的所有成员,包括私有的,不能添加访问修饰符,可以用final修饰 作用域仅在方法或代码块{}中 public class Main{ public static void main(String[] args){ Outer o = new Outer(); o.m();//100 } } class Outer{ private

2021-09-13 15:22:08 108

原创 软件工程复习第七章编写程序

编码的指导原则 控制结构 根据模块化来构建程序 在编写程序时,要牢记通用性(generality)是一种优点,考虑耦合性和内聚度,构件之间的依赖关系也必须是可见的,程序的子结构也应该彼此之间隐藏具体的计算细节, 算法 关注实现的性能或效率,所以应该在执行时间设计质量,标准和客户需求之间平衡考虑,尤其是,不要牺牲代码的清晰度和正确性来换取速度 数据结构 1、保持程序简单 2、用数据结构来决定程序结构 通用性指导原则 1、局部化输入和输出 2、包含伪代码 3、改正和重写,而不是打补丁 4、复用(

2021-07-01 09:25:41 81

原创 qq页面

2021-05-15 16:18:33 86

原创 codeforces1236B题解

题目链接 题目大意: 将n种物品装入m个箱子里,限制: 每个物品在m个箱子中必出现一次,且每个箱子中的物品种类应互不相同。 思路: 对于每一个物品而言,它不可以不放,则可取m的子集来作为放的方案数,从而答案为(2m−1)n(2^m - 1)^n(2m−1)n种 代码: #include<bits/stdc++.h> using namespace std; int n,m; const int mod = 1e9 + 7; typedef long long ll; int qmi(int a,

2021-03-14 10:53:15 62

原创 Matlab学习

本次进行了绘图动画的学习 X = -2*pi:0.1:2*pi; Y = sin(X); h = plot(X,Y); while true X = X + 0.1; Y = sin(X); set(h,'XData',X,'YData',Y); drawnow; end set指设置变化后所对应的X,Y; drawnow指对当前X,Y的对应绘图 本图所描绘的是sinx的不断移动 theta = -10 * pi:0.1:10 * pi; X = cos(theta);

2021-03-11 00:36:20 93

原创 洛谷P5149 会议座位

P5149 会议座位 字符串哈希 + 归并排序 代码 #include<bits/stdc++.h> using namespace std; const int N = 1e5 + 10; string a[N]; int tr[N]; int n; int lowbit(int x){ return x & -x; } void add(int a,int b){ for(int i=a;i<=n;i+=lowbit(i)) tr[i] += b; } int query

2021-02-18 21:43:28 55

原创 splay学习笔记

记录splay的区间操作之区间加法 #include<iostream> #include<algorithm> #include<cstring> #include<cstdio> using namespace std; typedef long long ll; const int N = 1e5+10,INF = 1e9; int w[N]; struct node{ int s[2],p,v; int size; ll add

2021-01-14 22:07:47 70

原创 权值线段树学习笔记

权值线段树所存的值并非是下标,而是数组中数的值,可以很方便的解决诸如求区间第k大数的问题 记录一下 #include<bits/stdc++.h> using namespace std; const int N = 1e5+10; int w[N],a[N]; int n; struct node{ int l,r,sum; }tr[N*8]; void build(int root,int l,int r){ tr[root]={l,r,0}; if(l == r)

2021-01-02 16:38:31 48

原创 插头dp

难度很大,推荐 直接写暴力+剪枝 插头dp是由《基于连通性状态压缩的动态规划问题》而产生的 eg 模板题 对于每个格子而言只有C24=6C_2^4 =6C24​=6种情况,而只会考虑每条小边上的情况,记录是否有边出来,其次应该维护连通性,那几个出来的边属于一个连通块 记录连通块的方法1、最小表示法,则此图的情况为 2、括号表示法(没有最小表示法通用) 由于本题是一个回路,则如有往上的边则一定存在与之配对且向下的边 性质1:两两配对 性质2:路径间不可能交叉 由这两个性质可以视为一个括号序列,则一个三进

2020-12-04 20:10:40 71

原创 KMP的一些笔记

KMP的一些笔记 主要记录一些kmp的简单应用 1、 2、 思路:n-ne[n] 3、 思路:与上题相同 4、 思路:kmp找出所有ne[j]=B的位置,从左−>右贪心能选就选kmp找出所有ne[j]=B的位置,从左->右贪心能选就选kmp找出所有ne[j]=B的位置,从左−>右贪心能选就选 5、 思路:最长周期即最小border,在树上dfs一遍,可通过路径压缩优化 6、 思路: ...

2020-11-22 21:45:23 63

原创 CDQ分治笔记(持续更新)

CDQ分治 即对于每个i,有多少个j使得aj<=aia_j<=a_iaj​<=ai​,bj<=bib_j<=b_ibj​<=bi​,cj<=cic_j<=c_icj​<=ci​ 一维: 排序即可 二维: ①:树状数组解决即可 值域统计后插入元素即可 ②:分治 加双关键字排序(便于处理aj<=ai,bj<=bia_j<=a_i,b_j<=b_iaj​<=ai​,bj​<=bi​)的情况 egegeg 逆序对: ①:

2020-11-20 20:54:23 122

原创 后缀数组学习笔记(算法进阶课)

后缀数组学习笔记(倍增) 基础定义 子串:就是字符串的一部分,必须连续。 后缀:是一种子串,它的结尾必须为字符串的最后。 大小比较:就是字典序比较,从头开始比,不相同的话字典序大的那个大,假如相同就向后移动。假如移到其中一个串的结尾还相同的话,长的那个大。 后缀数组:把所有的后缀编号,排序后把编号存在这个数组里。 名次数组:存的是每个后缀的名次 在此需要用到基数排序 ...

2020-11-17 20:03:15 118

kuangbin的ACM模板.pdf

ACM模板,主要包括图论,字符串,数据结构等模板,例如 图论 1.1 网络流 1.1.1 最大流 1.1.1.1 算法模板 1.1.1.2 二分图匹配 1.1.1.3 上下界可行流 1.1.1.4 多源汇最大流 1.1.1.5 关键边 1.1.1.6 最大流判定 1.1.1.7 拆点 1.1.1.8 建图实战 1.1.2 最小割 1.1.2.1 算法模板 1.1.2.2 直接应用 1.1.2.3 最大权闭合图 1.1.2.4 最大密度子图 1.1.2.5 最小点权覆盖集 1.1.2.6 最大点权独立集 1.1.2.7 建图实战 1.1.3 费用流 1.1.3.1 算法模板 等

2020-11-20

空空如也

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

TA关注的人

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